From 087d2a77ac0844f42f3312f8fd24fdda5396bad9 Mon Sep 17 00:00:00 2001 From: Fredrik Ekre Date: Tue, 26 Jul 2022 01:53:14 +0200 Subject: [PATCH] Initialize output with correc eltype in solve. --- src/solvers.jl | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/solvers.jl b/src/solvers.jl index 05989a1..2de2565 100644 --- a/src/solvers.jl +++ b/src/solvers.jl @@ -40,8 +40,7 @@ solve!(pcg::HYPRESolver, x::HYPREVector, A::HYPREMatrix, ::HYPREVector) function solve(solver::HYPRESolver, A::PSparseMatrix, b::PVector) hypre_x = solve(solver, HYPREMatrix(A), HYPREVector(b)) - # TODO: This could be a HYPREVector -> PVector conversion - x = copy!(copy(b), hypre_x) + x = copy!(similar(b, HYPRE_Complex), hypre_x) return x end function solve!(solver::HYPRESolver, x::PVector, A::PSparseMatrix, b::PVector) @@ -59,7 +58,7 @@ end function solve(solver::HYPRESolver, A::Union{SparseMatrixCSC,SparseMatrixCSR}, b::Vector) hypre_x = solve(solver, HYPREMatrix(A), HYPREVector(b)) - x = copy!(copy(b), hypre_x) + x = copy!(similar(b, HYPRE_Complex), hypre_x) return x end function solve!(solver::HYPRESolver, x::Vector, A::Union{SparseMatrixCSC,SparseMatrixCSR}, b::Vector)