@@ -7,7 +7,7 @@ struct Solver{S,T,P,PS}
7
7
max_coarse:: Int64
8
8
end
9
9
10
- function ruge_stuben (A:: SparseMatrixCSC ;
10
+ function ruge_stuben {Ti,Tv} (A:: SparseMatrixCSC{Ti,Tv} ;
11
11
strength = Classical (0.25 ),
12
12
CF = RS (),
13
13
presmoother = GaussSeidel (),
@@ -18,7 +18,7 @@ function ruge_stuben(A::SparseMatrixCSC;
18
18
s = Solver (strength, CF, presmoother,
19
19
postsmoother, max_levels, max_levels)
20
20
21
- levels = Vector {Level} ()
21
+ levels = Vector {Level{Ti,Tv} } ()
22
22
23
23
while length (levels) < max_levels
24
24
A = extend_heirarchy! (levels, strength, CF, A)
@@ -29,7 +29,7 @@ function ruge_stuben(A::SparseMatrixCSC;
29
29
MultiLevel (levels, A, presmoother, postsmoother)
30
30
end
31
31
32
- function extend_heirarchy! (levels:: Vector{Level} , strength, CF, A)
32
+ function extend_heirarchy! {Ti,Tv} (levels:: Vector{Level{Ti,Tv}} , strength, CF, A:: SparseMatrixCSC{Ti,Tv} )
33
33
S, T = strength_of_connection (strength, A)
34
34
splitting = split_nodes (CF, S)
35
35
P, R = direct_interpolation (A, T, splitting)
0 commit comments