diff --git a/MathLib/LinAlg/Solvers/CGParallel.cpp b/MathLib/LinAlg/Solvers/CGParallel.cpp index 8c74cb401b417a826497ae0c9ae0d4ab25cea24d..98014dbad6d022ee3c3ce6671c6544fc0298ac37 100644 --- a/MathLib/LinAlg/Solvers/CGParallel.cpp +++ b/MathLib/LinAlg/Solvers/CGParallel.cpp @@ -71,17 +71,17 @@ unsigned CGParallel(CRSMatrix<double,unsigned> const * mat, double const * const std::cout << "Step " << l << ", resid=" << resid / nrmb << std::endl; #endif + // r^ = C r + // rhat = r +// blas::copy(N, r, rhat); + #pragma omp parallel for + for (k = 0; k < N; k++) { + rhat[k] = r[k]; + } + mat->precondApply(rhat); + #pragma omp parallel { - // r^ = C r - // rhat = r -// blas::copy(N, r, rhat); - #pragma omp parallel for - for (k = 0; k < N; k++) { - rhat[k] = r[k]; - } - mat->precondApply(rhat); - // rho = r * r^; rho = scpr(r, rhat, N);