diff --git a/packages/belos/tpetra/src/solvers/Belos_Tpetra_GmresPipeline.hpp b/packages/belos/tpetra/src/solvers/Belos_Tpetra_GmresPipeline.hpp index b5edc4ad2559..73309f5eb420 100644 --- a/packages/belos/tpetra/src/solvers/Belos_Tpetra_GmresPipeline.hpp +++ b/packages/belos/tpetra/src/solvers/Belos_Tpetra_GmresPipeline.hpp @@ -53,8 +53,8 @@ class GmresPipeline : public Gmres { int ell = 1; const SC zero = STS::zero (); const SC one = STS::one (); - const SC eps = STS::eps (); - const SC tolOrtho = 10.0*std::sqrt(eps); + const mag_type eps = STS::eps (); + const mag_type tolOrtho = mag_type (10.0) * STM::squareroot (eps); SolverOutput output {}; Teuchos::BLAS blas; diff --git a/packages/shylu/shylu_node/hts/src/shylu_hts_impl_def.hpp b/packages/shylu/shylu_node/hts/src/shylu_hts_impl_def.hpp index b9a18e15efa1..bb39a3a79d5a 100644 --- a/packages/shylu/shylu_node/hts/src/shylu_hts_impl_def.hpp +++ b/packages/shylu/shylu_node/hts/src/shylu_hts_impl_def.hpp @@ -1055,7 +1055,7 @@ get_matrix_p (const CrsMatrix& A, const Array& p, Sclr* const d_start = sd.d + sd.ir[i]; memcpy(d_start, A.d + A.ir[r], nc*sizeof(*sd.d)); if (set_diag_reciprocal) - d_start[nc-1] = 1.0/d_start[nc-1]; + d_start[nc-1] = Sclr{1.0}/d_start[nc-1]; } CrsMatrix* cm; @@ -1999,7 +1999,7 @@ OnDiagTri::init_numeric (const CrsMatrix& T, const bool invert) { if (lcol >= this->n_) break; Size& i = ir[lrow+1]; jc[i] = lcol; - d[i] = lrow == lcol ? 1.0/T.d[k] : T.d[k]; + d[i] = lrow == lcol ? Sclr{1.0}/T.d[k] : T.d[k]; ++i; } } @@ -2023,7 +2023,7 @@ OnDiagTri::reinit_numeric (const CrsMatrix& T, const bool invert) { const Int lcol = T.jc[k] - c0_; if (lcol >= this->n_) break; const Size di = (lrow*(lrow + 1))/2 + lcol; - const Sclr dv = lrow == lcol ? 1.0/T.d[k] : T.d[k]; + const Sclr dv = lrow == lcol ? Sclr{1.0}/T.d[k] : T.d[k]; // Compressed dense triangle. d_[di] = dv; ++nnz; @@ -2043,7 +2043,7 @@ OnDiagTri::reinit_numeric (const CrsMatrix& T, const bool invert) { k < irgp1; ++k) { const Int lcol = T.jc[k] - c0_; if (lcol >= this->n_) break; - d[i] = lrow == lcol ? 1.0/T.d[k] : T.d[k]; + d[i] = lrow == lcol ? Sclr{1.0}/T.d[k] : T.d[k]; ++i; } } @@ -3271,7 +3271,7 @@ LevelSetTri::reinit_numeric (const CrsMatrix& T) { assert(nc == static_cast(t.m->ir[i+1] - t.m->ir[i])); Sclr* const d_start = t.m->d + t.m->ir[i]; memcpy(d_start, T.d + T.ir[r], nc*sizeof(*t.m->d)); - d_start[nc-1] = 1.0/d_start[nc-1]; + d_start[nc-1] = Sclr{1.0}/d_start[nc-1]; } } while (0); if ( ! nthreads_ok) throw hts::Exception(msg); @@ -3897,8 +3897,8 @@ to_outside (Sclr* x, const Int nrhs, const Sclr a, const Sclr b, const Int i0 = part_[tid], i1 = part_[tid+1]; Sclr* ppx = px_; Sclr* px = x; - if (b != 1.0) { - if (a != 0.0) { + if (b != Sclr{1.0}) { + if (a != Sclr{0.0}) { for (int k = 0; ; ) { for (Int i = i0; i < i1; ++i) { Sclr* const pxqi = px + q_[i]; @@ -3918,7 +3918,7 @@ to_outside (Sclr* x, const Int nrhs, const Sclr a, const Sclr b, } } } else { - if (a != 0.0) { + if (a != Sclr{0.0}) { for (int k = 0; ; ) { for (Int i = i0; i < i1; ++i) { Sclr* const pxqi = px + q_[i];