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