From b130d8c4217f7613a29c928b1cd802fc374c4360 Mon Sep 17 00:00:00 2001 From: Felix Schindler <felix.schindler@wwu.de> Date: Thu, 5 Feb 2015 19:37:36 +0100 Subject: [PATCH] [operators.prolongations] add safe integer conversion --- dune/gdt/operators/prolongations.hh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dune/gdt/operators/prolongations.hh b/dune/gdt/operators/prolongations.hh index ad88b253d..219508a1e 100644 --- a/dune/gdt/operators/prolongations.hh +++ b/dune/gdt/operators/prolongations.hh @@ -9,6 +9,8 @@ #include <vector> #include <limits> +#include <boost/numeric/conversion/cast.hpp> + #include <dune/common/dynmatrix.hh> #include <dune/stuff/common/type_utils.hh> @@ -155,9 +157,9 @@ private: LocalVectorType local_vector(local_basis.size(), RangeFieldType(0)); LocalVectorType local_DoFs(local_basis.size(), RangeFieldType(0)); // create quadrature - const size_t integrand_order = std::max(source_order, local_basis.order()) + local_basis.order(); - assert(integrand_order < std::numeric_limits<int>::max()); - const auto& quadrature = QuadratureRules<DomainFieldType, dimDomain>::rule(entity.type(), int(integrand_order)); + const auto integrand_order = std::max(source_order, local_basis.order()) + local_basis.order(); + const auto& quadrature = + QuadratureRules<DomainFieldType, dimDomain>::rule(entity.type(), boost::numeric_cast<int>(integrand_order)); // get global quadrature points std::vector<DomainType> quadrature_points; for (const auto& quadrature_point : quadrature) -- GitLab