Skip to content

Commit 0174a5e

Browse files
committed
dispatch on KrylovAlg
1 parent b4a1c7c commit 0174a5e

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/wrappers.jl

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ KrylovJL_MINRES(args...;kwargs...) =
6565
KrylovJL(args...; KrylovAlg=Krylov.minres!, kwargs...)
6666

6767
function get_KrylovJL_solver(KrylovAlg)
68-
solver =
68+
KS =
6969
if (KrylovAlg === Krylov.lsmr! ) Krylov.LsmrSolver
7070
elseif (KrylovAlg === Krylov.cgs! ) Krylov.CgsSolver
7171
elseif (KrylovAlg === Krylov.usymlq! ) Krylov.UsymlqSolver
@@ -99,25 +99,26 @@ function get_KrylovJL_solver(KrylovAlg)
9999
elseif (KrylovAlg === Krylov.fom! ) Krylov.FomSolver
100100
end
101101

102-
return solver
102+
return KS
103103
end
104104

105105
function init_cacheval(alg::KrylovJL, A, b, u)
106106

107107
KS = get_KrylovJL_solver(alg.KrylovAlg)
108108

109109
solver = if(
110-
KS === Krylov.DqgmresSolver ||
111-
KS === Krylov.DiomSolver ||
112-
KS === Krylov.GmresSolver ||
113-
KS === Krylov.FomSolver
110+
alg.KrylovAlg === Krylov.dqgmres! ||
111+
alg.KrylovAlg === Krylov.diom! ||
112+
alg.KrylovAlg === Krylov.gmres! ||
113+
alg.KrylovAlg === Krylov.fom!
114114
)
115115
KS(A, b, alg.gmres_restart)
116-
elseif(KS === Krylov.MinresSolver ||
117-
KS === Krylov.SymmlqSolver ||
118-
KS === Krylov.LslqSolver ||
119-
KS === Krylov.LsqrSolver ||
120-
KS === Krylov.LsmrSolver
116+
elseif(
117+
alg.KrylovAlg === Krylov.minres! ||
118+
alg.KrylovAlg === Krylov.symmlq! ||
119+
alg.KrylovAlg === Krylov.lslq! ||
120+
alg.KrylovAlg === Krylov.lsqr! ||
121+
alg.KrylovAlg === Krylov.lsmr!
121122
)
122123
(alg.window != 0) ? KS(A,b; window=alg.window) : KS(A, b)
123124
else

0 commit comments

Comments
 (0)