diff --git a/src/libsparseSolver/CGSolver.cpp b/src/libsparseSolver/CGSolver.cpp index 6a510da2f37fc9b6dd3575bcfc49e0a95ae5cb57..0ec2976ec604c25ac6ffb6e87d7e8fde46f09198 100644 --- a/src/libsparseSolver/CGSolver.cpp +++ b/src/libsparseSolver/CGSolver.cpp @@ -134,7 +134,7 @@ int CGSolver::SolveLinearSystemWithoutPreconditioner(double * x, const double * iteration++; } - return (iteration-1) * ((residualNorm2 > eps * eps * initialResidualNorm2) ? -1 : 1); + return (iteration-1) * ((residualNorm2 > eps * eps * initialResidualNorm2) ? 1 : 0); } int CGSolver::SolveLinearSystemWithJacobiPreconditioner(double * x, const double * b, double eps, int maxIterations, int verbose) @@ -204,7 +204,7 @@ int CGSolver::SolveLinearSystemWithJacobiPreconditioner(double * x, const double printf("Warning: residualNorm2=%G is negative. Input matrix might not be SPD. Solution could be incorrect.\n", residualNorm2); } - return (iteration-1) * ((residualNorm2 > eps * eps * initialResidualNorm2) ? -1 : 1); + return (iteration-1) * ((residualNorm2 > eps * eps * initialResidualNorm2) ? 1 : 0); } double CGSolver::ComputeDotProduct(double * v1, double * v2)