const double b = unwanted_spectrum.second;
Assert(degree > 0, ExcMessage("Only positive degrees make sense."));
- const bool scale = (a_L < std::numeric_limits<double>::infinity());
+ const bool scale = numbers::is_finite(a_L);
Assert(
a < b,
ExcMessage(
// statement may throw an exception, which we simply pass up to the caller
const Point<dim> p_unit =
this->transform_real_to_unit_cell_internal(cell, p, initial_p_unit);
- if (p_unit[0] == std::numeric_limits<double>::infinity())
- AssertThrow(false,
- (typename Mapping<dim, spacedim>::ExcTransformationFailed()));
+ AssertThrow(numbers::is_finite(p_unit[0]),
+ (typename Mapping<dim, spacedim>::ExcTransformationFailed()));
return p_unit;
}
// determinants) from other SIMD lanes. Repeat the computation in this
// unlikely case with scalar arguments.
for (unsigned int j = 0; j < n_lanes && i + j < n_points; ++j)
- if (unit_point[0][j] == std::numeric_limits<double>::infinity())
+ if (numbers::is_finite(unit_point[0][j]))
+ for (unsigned int d = 0; d < dim; ++d)
+ unit_points[i + j][d] = unit_point[d][j];
+ else
unit_points[i + j] = internal::MappingQImplementation::
do_transform_real_to_unit_cell_internal<dim, spacedim>(
real_points[i + j],
support_points,
polynomials_1d,
renumber_lexicographic_to_hierarchic);
- else
- for (unsigned int d = 0; d < dim; ++d)
- unit_points[i + j][d] = unit_point[d][j];
}
else
unit_points[i] = internal::MappingQImplementation::
auto particle = pic.begin();
for (const auto &p_unit : reference_locations)
{
- if (p_unit[0] == std::numeric_limits<double>::infinity() ||
- !GeometryInfo<dim>::is_inside_unit_cell(p_unit))
- particles_out_of_cell.push_back(particle);
- else
+ if (numbers::is_finite(p_unit[0]) &&
+ GeometryInfo<dim>::is_inside_unit_cell(p_unit))
particle->set_reference_location(p_unit);
+ else
+ particles_out_of_cell.push_back(particle);
++particle;
}