diff --git a/src/bicgstabl.jl b/src/bicgstabl.jl index d1e3d04e..a9431df2 100644 --- a/src/bicgstabl.jl +++ b/src/bicgstabl.jl @@ -185,7 +185,7 @@ function bicgstabl!(x, A, b, l = 2; history[:tol] = tol # This doesn't yet make sense: the number of iters is smaller. - log && reserve!(history, :resnorm, max_mv_products) + log && reserve!(typeof(tol), history, :resnorm, max_mv_products) # Actually perform CG iterable = bicgstabl_iterator!(x, A, b, l; Pl = Pl, tol = tol, max_mv_products = max_mv_products, kwargs...) diff --git a/src/cg.jl b/src/cg.jl index edfa86e8..67ae036b 100644 --- a/src/cg.jl +++ b/src/cg.jl @@ -209,7 +209,7 @@ function cg!(x, A, b; ) history = ConvergenceHistory(partial = !log) history[:tol] = tol - log && reserve!(history, :resnorm, maxiter + 1) + log && reserve!(typeof(tol), history, :resnorm, maxiter + 1) # Actually perform CG iterable = cg_iterator!(x, A, b, Pl; tol = tol, maxiter = maxiter, statevars = statevars, kwargs...) diff --git a/src/chebyshev.jl b/src/chebyshev.jl index 4441ddde..a7afc670 100644 --- a/src/chebyshev.jl +++ b/src/chebyshev.jl @@ -139,7 +139,7 @@ function chebyshev!(x, A, b, λmin::Real, λmax::Real; ) history = ConvergenceHistory(partial=!log) history[:tol] = tol - reserve!(history, :resnorm, maxiter) + reserve!(typeof(tol), history, :resnorm, maxiter) verbose && @printf("=== chebyshev ===\n%4s\t%7s\n","iter","resnorm") diff --git a/src/gmres.jl b/src/gmres.jl index be0e6307..223ad46a 100644 --- a/src/gmres.jl +++ b/src/gmres.jl @@ -181,7 +181,7 @@ function gmres!(x, A, b; ) history = ConvergenceHistory(partial = !log, restart = restart) history[:tol] = tol - log && reserve!(history, :resnorm, maxiter) + log && reserve!(typeof(tol), history, :resnorm, maxiter) iterable = gmres_iterable!(x, A, b; Pl = Pl, Pr = Pr, tol = tol, maxiter = maxiter, restart = restart, initially_zero = initially_zero) diff --git a/src/idrs.jl b/src/idrs.jl index 2478c39b..8da92e90 100644 --- a/src/idrs.jl +++ b/src/idrs.jl @@ -46,7 +46,7 @@ function idrs!(x, A, b; ) history = ConvergenceHistory(partial=!log) history[:tol] = tol - reserve!(history,:resnorm, maxiter) + reserve!(typeof(tol), history,:resnorm, maxiter) idrs_method!(history, x, A, b, s, tol, maxiter; kwargs...) log && shrink!(history) log ? (x, history) : x diff --git a/src/minres.jl b/src/minres.jl index 4e959333..bc30bbab 100644 --- a/src/minres.jl +++ b/src/minres.jl @@ -200,7 +200,7 @@ function minres!(x, A, b; ) history = ConvergenceHistory(partial = !log) history[:tol] = tol - log && reserve!(history, :resnorm, maxiter) + log && reserve!(typeof(tol), history, :resnorm, maxiter) iterable = minres_iterable!(x, A, b; skew_hermitian = skew_hermitian, diff --git a/src/qmr.jl b/src/qmr.jl index 7201aa3b..6c87ef41 100644 --- a/src/qmr.jl +++ b/src/qmr.jl @@ -262,7 +262,7 @@ function qmr!(x, A, b; ) history = ConvergenceHistory(partial = !log) history[:tol] = tol - log && reserve!(history, :resnorm, maxiter) + log && reserve!(typeof(tol), history, :resnorm, maxiter) iterable = qmr_iterable!(x, A, b; tol = tol, maxiter = maxiter, initially_zero = initially_zero) diff --git a/src/simple.jl b/src/simple.jl index e9c9844b..c8baf63e 100644 --- a/src/simple.jl +++ b/src/simple.jl @@ -126,7 +126,7 @@ function powm!(B, x; ) history = ConvergenceHistory(partial = !log) history[:tol] = tol - reserve!(history, :resnorm, maxiter) + reserve!(typeof(tol), history, :resnorm, maxiter) verbose && @printf("=== powm ===\n%4s\t%7s\n", "iter", "resnorm") iterable = powm_iterable!(B, x, tol = tol, maxiter = maxiter)