Skip to content

Commit dc97433

Browse files
committed
Make ruge stuben work on single precision
1 parent 90614d3 commit dc97433

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/classical.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ end
3939

4040
function direct_interpolation(A, T, splitting)
4141

42-
fill!(T.nzval, 1.)
42+
fill!(T.nzval, eltype(A)(1.))
4343
T .= A .* T
4444
Pp = rs_direct_interpolation_pass1(T, A, splitting)
4545
Pp .= Pp .+ 1
@@ -77,13 +77,13 @@ function rs_direct_interpolation_pass1(T, A, splitting)
7777
end
7878

7979

80-
function rs_direct_interpolation_pass2{Tv, Ti}(A::SparseMatrixCSC{Tv,Ti},
80+
function rs_direct_interpolation_pass2(A::SparseMatrixCSC{Tv,Ti},
8181
T::SparseMatrixCSC{Tv, Ti},
8282
splitting::Vector{Ti},
83-
Bp::Vector{Ti})
83+
Bp::Vector{Ti}) where {Tv,Ti}
8484

8585

86-
Bx = zeros(Float64, Bp[end] - 1)
86+
Bx = zeros(Tv, Bp[end] - 1)
8787
Bj = zeros(Ti, Bp[end] - 1)
8888

8989
n = size(A, 1)
@@ -152,7 +152,7 @@ function rs_direct_interpolation_pass1(T, A, splitting)
152152
end
153153

154154
m = zeros(Ti, n)
155-
sum = zero(eltype(m))
155+
sum = zero(Ti)
156156
for i = 1:n
157157
m[i] = sum
158158
sum += splitting[i]

src/strength.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ struct Classical{T} <: Strength
44
end
55
Classical(;θ = 0.25) = Classical(θ)
66

7-
function strength_of_connection{T, Ti, Tv}(c::Classical{T}, A::SparseMatrixCSC{Tv, Ti})
7+
function strength_of_connection(c::Classical{T},
8+
A::SparseMatrixCSC{Tv,Ti}) where {T,Ti,Tv}
89

910
θ = c.θ
1011

0 commit comments

Comments
 (0)