@@ -712,15 +712,15 @@ class DropFunctor {
712712 auto aiiajj = ATS::magnitude (diag (rlid)) * ATS::magnitude (diag (clid)); // |a_ii|*|a_jj|
713713 auto aij2 = ATS::magnitude (val) * ATS::magnitude (val); // |a_ij|^2
714714
715- encounteredError |= (!Kokkos::isfinite (aij2) || !Kokkos::isfinite (aiiajj));
715+ encounteredError |= (!is_finite_type_safe (aij2) || !is_finite_type_safe (aiiajj));
716716
717717 results (offset + k) = Kokkos::max ((aij2 <= eps * eps * aiiajj) ? DROP : KEEP,
718718 results (offset + k));
719719 } else if constexpr (measure == Misc::SignedRugeStuebenMeasure) {
720720 auto neg_aij = -ATS::real (val);
721721 auto max_neg_aik = eps * ATS::real (diag (rlid));
722722
723- encounteredError |= !Kokkos::isfinite (neg_aij) || !Kokkos::isfinite (max_neg_aik);
723+ encounteredError |= !is_finite_type_safe (neg_aij) || !is_finite_type_safe (max_neg_aik);
724724
725725 results (offset + k) = Kokkos::max ((neg_aij < max_neg_aik) ? DROP : KEEP,
726726 results (offset + k));
@@ -732,7 +732,7 @@ class DropFunctor {
732732 if (!is_nonpositive)
733733 aij2 = -aij2;
734734
735- encounteredError |= !Kokkos::isfinite (aij2) || !Kokkos::isfinite (aiiajj);
735+ encounteredError |= !is_finite_type_safe (aij2) || !is_finite_type_safe (aiiajj);
736736
737737 results (offset + k) = Kokkos::max ((aij2 <= eps * eps * aiiajj) ? DROP : KEEP,
738738 results (offset + k));
@@ -859,15 +859,15 @@ class VectorDropFunctor {
859859 auto aiiajj = ATS::magnitude (diag (brlid)) * ATS::magnitude (diag (bclid)); // |a_ii|*|a_jj|
860860 auto aij2 = ATS::magnitude (val) * ATS::magnitude (val); // |a_ij|^2
861861
862- encounteredError |= !Kokkos::isfinite (aij2) || !Kokkos::isfinite (aiiajj);
862+ encounteredError |= !is_finite_type_safe (aij2) || !is_finite_type_safe (aiiajj);
863863
864864 results (offset + k) = Kokkos::max ((aij2 <= eps * eps * aiiajj) ? DROP : KEEP,
865865 results (offset + k));
866866 } else if constexpr (measure == Misc::SignedRugeStuebenMeasure) {
867867 auto neg_aij = -ATS::real (val);
868868 auto max_neg_aik = eps * ATS::real (diag (brlid));
869869
870- encounteredError |= !Kokkos::isfinite (neg_aij) || !Kokkos::isfinite (max_neg_aik);
870+ encounteredError |= !is_finite_type_safe (neg_aij) || !is_finite_type_safe (max_neg_aik);
871871
872872 results (offset + k) = Kokkos::max ((neg_aij < max_neg_aik) ? DROP : KEEP,
873873 results (offset + k));
@@ -879,7 +879,7 @@ class VectorDropFunctor {
879879 if (!is_nonpositive)
880880 aij2 = -aij2;
881881
882- encounteredError |= !Kokkos::isfinite (aij2) || !Kokkos::isfinite (aiiajj);
882+ encounteredError |= !is_finite_type_safe (aij2) || !is_finite_type_safe (aiiajj);
883883
884884 results (offset + k) = Kokkos::max ((aij2 <= eps * eps * aiiajj) ? DROP : KEEP,
885885 results (offset + k));
0 commit comments