From c0fddf57b28d31bdde68094241a6d09516177245 Mon Sep 17 00:00:00 2001 From: Felix Schindler <felix.schindler@wwu.de> Date: Sat, 7 Feb 2015 17:56:17 +0100 Subject: [PATCH] use size_t whenever possible, only polOrder is int --- dune/gdt/assembler/local/codim0.hh | 5 +- dune/gdt/assembler/local/codim1.hh | 16 ++-- dune/gdt/basefunctionset/default/fv.hh | 10 ++- .../gdt/basefunctionset/fem-localfunctions.hh | 10 +-- dune/gdt/basefunctionset/fem.hh | 16 ++-- dune/gdt/basefunctionset/interface.hh | 2 +- dune/gdt/basefunctionset/pdelab.hh | 31 ++++---- dune/gdt/discretefunction/local.hh | 12 +-- dune/gdt/localevaluation/elliptic.hh | 24 +++--- dune/gdt/localevaluation/interface.hh | 34 ++++----- dune/gdt/localevaluation/product.hh | 24 +++--- dune/gdt/localevaluation/sipdg.hh | 30 ++++---- dune/gdt/localevaluation/swipdg.hh | 40 +++++----- dune/gdt/localfunctional/codim0.hh | 2 +- dune/gdt/localfunctional/codim1.hh | 2 +- dune/gdt/localfunctional/interface.hh | 4 +- dune/gdt/localoperator/codim0.hh | 2 +- dune/gdt/localoperator/codim1.hh | 13 ++-- dune/gdt/localoperator/interface.hh | 9 ++- dune/gdt/mapper/default/fv.hh | 8 +- dune/gdt/mapper/fem.hh | 8 +- dune/gdt/operators/darcy.hh | 4 +- dune/gdt/operators/fluxreconstruction.hh | 2 +- dune/gdt/operators/interfaces.hh | 2 +- dune/gdt/operators/oswaldinterpolation.hh | 5 +- dune/gdt/operators/projections.hh | 56 ++++++++------ dune/gdt/operators/prolongations.hh | 76 +++++++++---------- .../gdt/playground/localevaluation/ESV2007.hh | 26 ++++--- dune/gdt/playground/localevaluation/OS2014.hh | 15 ++-- dune/gdt/playground/localevaluation/swipdg.hh | 49 ++++++------ .../operators/fluxreconstruction.hh | 2 +- dune/gdt/playground/spaces/block.hh | 2 +- .../spaces/cg/fem-localfunctions.hh | 16 ++-- .../continuouslagrange/fem-localfunctions.hh | 2 +- .../spaces/dg/fem-localfunctions.hh | 18 ++--- dune/gdt/playground/spaces/dg/fem.hh | 18 ++--- dune/gdt/playground/spaces/dg/pdelab.hh | 18 ++--- .../fem-localfunctions.hh | 2 +- .../spaces/discontinuouslagrange/fem.hh | 2 +- .../spaces/discontinuouslagrange/pdelab.hh | 2 +- .../playground/spaces/finitevolume/default.hh | 2 +- .../raviartthomas/fem-localfunctions.hh | 2 +- .../playground/spaces/raviartthomas/pdelab.hh | 2 +- .../spaces/rt/fem-localfunctions.hh | 24 +++--- dune/gdt/products/base.hh | 4 +- dune/gdt/products/interfaces.hh | 4 +- dune/gdt/spaces/cg.hh | 14 ++-- dune/gdt/spaces/cg/fem.hh | 16 ++-- dune/gdt/spaces/cg/interface.hh | 18 +++-- dune/gdt/spaces/cg/pdelab.hh | 16 ++-- dune/gdt/spaces/continuouslagrange/base.hh | 10 +-- dune/gdt/spaces/continuouslagrange/fem.hh | 2 +- dune/gdt/spaces/continuouslagrange/pdelab.hh | 2 +- dune/gdt/spaces/dg.hh | 14 ++-- dune/gdt/spaces/fv/default.hh | 16 ++-- dune/gdt/spaces/interface.hh | 40 +++++----- dune/gdt/spaces/rt/interface.hh | 18 +++-- dune/gdt/spaces/rt/pdelab.hh | 12 +-- test/elliptic-cg-discretization.hh | 8 +- test/elliptic-sipdg-discretization.hh | 8 +- test/elliptic-swipdg-discretization.hh | 16 ++-- test/elliptic-testcases.hh | 22 +++--- test/operators_darcy.hh | 2 +- test/operators_elliptic_swipdg.cc | 6 +- test/operators_oswaldinterpolation.hh | 2 +- test/operators_products_prolong.hh | 4 +- test/operators_projections.hh | 4 +- test/products.hh | 12 +-- test/products_boundaryl2.hh | 6 +- test/products_elliptic.hh | 6 +- test/products_swipdgpenalty.hh | 4 +- test/products_weightedl2.hh | 6 +- test/spaces.hh | 35 +++++---- test/spaces_cg.hh | 23 +++--- test/spaces_dg.hh | 19 +++-- test/spaces_rt.hh | 2 +- 76 files changed, 529 insertions(+), 491 deletions(-) diff --git a/dune/gdt/assembler/local/codim0.hh b/dune/gdt/assembler/local/codim0.hh index 1fedf823b..6d421eb83 100644 --- a/dune/gdt/assembler/local/codim0.hh +++ b/dune/gdt/assembler/local/codim0.hh @@ -68,7 +68,8 @@ public: * type of systemMatrix * \tparam R RangeFieldType, i.e. double */ - template <class T, int Td, int Tr, int TrC, class A, int Ad, int Ar, int ArC, class EntityType, class M, class R> + template <class T, size_t Td, size_t Tr, size_t TrC, class A, size_t Ad, size_t Ar, size_t ArC, class EntityType, + class M, class R> void assembleLocal(const SpaceInterface<T, Td, Tr, TrC>& testSpace, const SpaceInterface<A, Ad, Ar, ArC>& ansatzSpace, const EntityType& entity, Dune::Stuff::LA::MatrixInterface<M, R>& systemMatrix, std::vector<std::vector<Dune::DynamicMatrix<R>>>& tmpLocalMatricesContainer, @@ -149,7 +150,7 @@ public: * type of systemVector * \tparam R RangeFieldType, i.e. double */ - template <class T, int d, int r, int rC, class EntityType, class V, class R> + template <class T, size_t d, size_t r, size_t rC, class EntityType, class V, class R> void assembleLocal(const SpaceInterface<T, d, r, rC>& testSpace, const EntityType& entity, Dune::Stuff::LA::VectorInterface<V, R>& systemVector, std::vector<std::vector<Dune::DynamicVector<R>>>& tmpLocalVectorContainer, diff --git a/dune/gdt/assembler/local/codim1.hh b/dune/gdt/assembler/local/codim1.hh index 99d35484e..5c2358baf 100644 --- a/dune/gdt/assembler/local/codim1.hh +++ b/dune/gdt/assembler/local/codim1.hh @@ -52,9 +52,9 @@ public: return {numTmpObjectsRequired_, localOperator_.numTmpObjectsRequired()}; } - template <class TE, int TEd, int TEr, int TErC, class AE, int AEd, int AEr, int AErC, class TN, int TNd, int TNr, - int TNrC, class AN, int ANd, int ANr, int ANrC, class IntersectionType, class MEE, class MNN, class MEN, - class MNE, class R> + template <class TE, size_t TEd, size_t TEr, size_t TErC, class AE, size_t AEd, size_t AEr, size_t AErC, class TN, + size_t TNd, size_t TNr, size_t TNrC, class AN, size_t ANd, size_t ANr, size_t ANrC, class IntersectionType, + class MEE, class MNN, class MEN, class MNE, class R> void assembleLocal(const SpaceInterface<TE, TEd, TEr, TErC>& testSpaceEntity, const SpaceInterface<AE, AEd, AEr, AErC>& ansatzSpaceEntity, const SpaceInterface<TN, TNd, TNr, TNrC>& testSpaceNeighbor, @@ -150,8 +150,8 @@ public: } } // void assembleLocal(...) const - template <class T, int Td, int Tr, int TrC, class A, int Ad, int Ar, int ArC, class IntersectionType, class M, - class R> + template <class T, size_t Td, size_t Tr, size_t TrC, class A, size_t Ad, size_t Ar, size_t ArC, + class IntersectionType, class M, class R> void assembleLocal(const SpaceInterface<T, Td, Tr, TrC>& testSpace, const SpaceInterface<A, Ad, Ar, ArC>& ansatzSpace, const IntersectionType& intersection, Dune::Stuff::LA::MatrixInterface<M, R>& systemMatrix, std::vector<std::vector<Dune::DynamicMatrix<R>>>& tmpLocalMatricesContainer, @@ -204,8 +204,8 @@ public: return {numTmpObjectsRequired_, localOperator_.numTmpObjectsRequired()}; } - template <class T, int Td, int Tr, int TrC, class A, int Ad, int Ar, int ArC, class IntersectionType, class M, - class R> + template <class T, size_t Td, size_t Tr, size_t TrC, class A, size_t Ad, size_t Ar, size_t ArC, + class IntersectionType, class M, class R> void assembleLocal(const SpaceInterface<T, Td, Tr, TrC>& testSpace, const SpaceInterface<A, Ad, Ar, ArC>& ansatzSpace, const IntersectionType& intersection, Dune::Stuff::LA::MatrixInterface<M, R>& systemMatrix, std::vector<std::vector<Dune::DynamicMatrix<R>>>& tmpLocalMatricesContainer, @@ -284,7 +284,7 @@ public: return {numTmpObjectsRequired_, localFunctional_.numTmpObjectsRequired()}; } - template <class T, int d, int r, int rC, class IntersectionType, class V, class R> + template <class T, size_t d, size_t r, size_t rC, class IntersectionType, class V, class R> void assembleLocal(const SpaceInterface<T, d, r, rC>& testSpace, const IntersectionType& intersection, Dune::Stuff::LA::VectorInterface<V, R>& systemVector, std::vector<std::vector<Dune::DynamicVector<R>>>& tmpLocalVectorsContainer, diff --git a/dune/gdt/basefunctionset/default/fv.hh b/dune/gdt/basefunctionset/default/fv.hh index f234324eb..b19b3405c 100644 --- a/dune/gdt/basefunctionset/default/fv.hh +++ b/dune/gdt/basefunctionset/default/fv.hh @@ -19,7 +19,8 @@ namespace BaseFunctionSet { // forward, to be used in the traits and to allow for specialization -template <class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, size_t rangeDim, + size_t rangeDimCols = 1> class FiniteVolume { static_assert(Dune::AlwaysFalse<EntityImp>::value, "Untested for these dimensions!"); @@ -29,7 +30,8 @@ class FiniteVolume namespace internal { -template <class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim, int rangeDimCols> +template <class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, size_t rangeDim, + size_t rangeDimCols> class FiniteVolumeTraits { public: @@ -42,7 +44,7 @@ public: } // namespace internal -template <class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp> +template <class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp> class FiniteVolume<EntityImp, DomainFieldImp, domainDim, RangeFieldImp, 1, 1> : public BaseFunctionSetInterface<internal::FiniteVolumeTraits<EntityImp, DomainFieldImp, domainDim, RangeFieldImp, 1, 1>, @@ -110,7 +112,7 @@ private: }; // class FiniteVolume< ..., 1, 1 > -template <class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim> +template <class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, size_t rangeDim> class FiniteVolume<EntityImp, DomainFieldImp, domainDim, RangeFieldImp, rangeDim, 1> : public BaseFunctionSetInterface<internal::FiniteVolumeTraits<EntityImp, DomainFieldImp, domainDim, RangeFieldImp, rangeDim, 1>, diff --git a/dune/gdt/basefunctionset/fem-localfunctions.hh b/dune/gdt/basefunctionset/fem-localfunctions.hh index ebf2704a2..7c2a2ce74 100644 --- a/dune/gdt/basefunctionset/fem-localfunctions.hh +++ b/dune/gdt/basefunctionset/fem-localfunctions.hh @@ -18,8 +18,8 @@ namespace BaseFunctionSet { // forward, to be used in the traits and to allow for specialization -template <class BaseFunctionSetMapImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim, - int rangeDimCols = 1> +template <class BaseFunctionSetMapImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, size_t rangeDim, + size_t rangeDimCols = 1> class FemLocalfunctionsWrapper { static_assert(AlwaysFalse<BaseFunctionSetMapImp>::value, "Untested for these dimensions!"); @@ -29,8 +29,8 @@ class FemLocalfunctionsWrapper namespace internal { -template <class BaseFunctionSetMapImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim, - int rangeDimCols> +template <class BaseFunctionSetMapImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, size_t rangeDim, + size_t rangeDimCols> class FemLocalfunctionsWrapperTraits { public: @@ -44,7 +44,7 @@ public: } // namespace internal -template <class BaseFunctionSetMapImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim> +template <class BaseFunctionSetMapImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, size_t rangeDim> class FemLocalfunctionsWrapper<BaseFunctionSetMapImp, DomainFieldImp, domainDim, RangeFieldImp, rangeDim, 1> : public BaseFunctionSetInterface<internal::FemLocalfunctionsWrapperTraits<BaseFunctionSetMapImp, DomainFieldImp, domainDim, RangeFieldImp, rangeDim, 1>, diff --git a/dune/gdt/basefunctionset/fem.hh b/dune/gdt/basefunctionset/fem.hh index 113d3b7c6..66d3e5ec1 100644 --- a/dune/gdt/basefunctionset/fem.hh +++ b/dune/gdt/basefunctionset/fem.hh @@ -27,8 +27,8 @@ namespace BaseFunctionSet { // forward, to be used in the traits and to allow for specialization -template <class ShapeFunctionSetImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, - int rangeDim, int rangeDimCols = 1> +template <class ShapeFunctionSetImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim, size_t rangeDimCols = 1> class FemWrapper { static_assert(Dune::AlwaysFalse<ShapeFunctionSetImp>::value, "Untested for these dimensions!"); @@ -38,8 +38,8 @@ class FemWrapper namespace internal { -template <class ShapeFunctionSetImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, - int rangeDim, int rangeDimCols> +template <class ShapeFunctionSetImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim, size_t rangeDimCols> class FemWrapperTraits { public: @@ -53,8 +53,8 @@ public: } // namespace internal -template <class ShapeFunctionSetImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, - int rangeDim> +template <class ShapeFunctionSetImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim> class FemWrapper<ShapeFunctionSetImp, EntityImp, DomainFieldImp, domainDim, RangeFieldImp, rangeDim, 1> : public BaseFunctionSetInterface<internal::FemWrapperTraits<ShapeFunctionSetImp, EntityImp, DomainFieldImp, domainDim, RangeFieldImp, rangeDim, 1>, @@ -127,8 +127,8 @@ private: #else // HAVE_DUNE_FEM -template <class ShapeFunctionSetImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, - int rangeDim, int rangeDimCols = 1> +template <class ShapeFunctionSetImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim, size_t rangeDimCols = 1> class FemWrapper { static_assert(Dune::AlwaysFalse<ShapeFunctionSetImp>::value, "You are missing dune-fem!"); diff --git a/dune/gdt/basefunctionset/interface.hh b/dune/gdt/basefunctionset/interface.hh index a2c1c55ad..7fb8fff8c 100644 --- a/dune/gdt/basefunctionset/interface.hh +++ b/dune/gdt/basefunctionset/interface.hh @@ -21,7 +21,7 @@ namespace GDT { * * \see Stuff::LocalfunctionSetInterface for the template parameters D, d, R, r and rC. */ -template <class Traits, class D, int d, class R, int r, int rC = 1> +template <class Traits, class D, size_t d, class R, size_t r, size_t rC = 1> class BaseFunctionSetInterface : public Stuff::LocalfunctionSetInterface<typename Traits::EntityType, D, d, R, r, rC>, public Stuff::CRTPInterface<BaseFunctionSetInterface<Traits, D, d, R, r, rC>, Traits> { diff --git a/dune/gdt/basefunctionset/pdelab.hh b/dune/gdt/basefunctionset/pdelab.hh index 5a4008a65..c980b86d9 100644 --- a/dune/gdt/basefunctionset/pdelab.hh +++ b/dune/gdt/basefunctionset/pdelab.hh @@ -25,16 +25,16 @@ namespace BaseFunctionSet { // forwards, to be used in the traits and to allow for specialization -template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim, - int rangeDimCols = 1> +template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim, size_t rangeDimCols = 1> class PdelabWrapper { static_assert(Dune::AlwaysFalse<PdelabSpaceImp>::value, "Untested for arbitrary dimension!"); }; -template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim, - int rangeDimCols = 1> +template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim, size_t rangeDimCols = 1> class PiolaTransformedPdelabWrapper { static_assert(Dune::AlwaysFalse<PdelabSpaceImp>::value, "Untested for these dimensions!"); @@ -45,13 +45,13 @@ namespace internal { // forward, to allow for specialization -template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim, - int rangeDimCols> +template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim, size_t rangeDimCols> class PdelabWrapperTraits; //! Specialization for dimRange = 1, dimRangeRows = 1 -template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp> +template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp> class PdelabWrapperTraits<PdelabSpaceImp, EntityImp, DomainFieldImp, domainDim, RangeFieldImp, 1, 1> { public: @@ -70,7 +70,8 @@ private: }; -template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim> +template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim> class PiolaTransformedPdelabWrapperTraits { static_assert(domainDim == rangeDim, "Untested!"); @@ -97,7 +98,7 @@ private: //! Specialization for dimRange = 1, dimRangeRows = 1 -template <class PdelabSpaceType, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp> +template <class PdelabSpaceType, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp> class PdelabWrapper<PdelabSpaceType, EntityImp, DomainFieldImp, domainDim, RangeFieldImp, 1, 1> : public BaseFunctionSetInterface<internal::PdelabWrapperTraits<PdelabSpaceType, EntityImp, DomainFieldImp, domainDim, RangeFieldImp, 1, 1>, @@ -181,8 +182,8 @@ private: }; // class PdelabWrapper -template <class PdelabSpaceType, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, - int rangeDim> +template <class PdelabSpaceType, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim> class PiolaTransformedPdelabWrapper<PdelabSpaceType, EntityImp, DomainFieldImp, domainDim, RangeFieldImp, rangeDim, 1> : public BaseFunctionSetInterface<internal::PiolaTransformedPdelabWrapperTraits<PdelabSpaceType, EntityImp, DomainFieldImp, domainDim, @@ -302,16 +303,16 @@ private: #else // HAVE_DUNE_PDELAB -template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim, - int rangeDimCols = 1> +template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim, size_t rangeDimCols = 1> class PdelabWrapper { static_assert(AlwaysFalse<PdelabSpaceImp>::value, "You are missing dune-pdelab!"); }; -template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, int domainDim, class RangeFieldImp, int rangeDim, - int rangeDimCols = 1> +template <class PdelabSpaceImp, class EntityImp, class DomainFieldImp, size_t domainDim, class RangeFieldImp, + size_t rangeDim, size_t rangeDimCols = 1> class PiolaTransformedPdelabWrapper { static_assert(AlwaysFalse<PdelabSpaceImp>::value, "You are missing dune-pdelab!"); diff --git a/dune/gdt/discretefunction/local.hh b/dune/gdt/discretefunction/local.hh index 69ff6e9da..e8f1ae116 100644 --- a/dune/gdt/discretefunction/local.hh +++ b/dune/gdt/discretefunction/local.hh @@ -148,12 +148,12 @@ public: typedef typename BaseType::EntityType EntityType; typedef typename BaseType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = BaseType::dimDomain; + static const size_t dimDomain = BaseType::dimDomain; typedef typename BaseType::DomainType DomainType; typedef typename BaseType::RangeFieldType RangeFieldType; - static const unsigned int dimRangeRows = BaseType::dimRangeCols; - static const unsigned int dimRangeCols = BaseType::dimRangeCols; + static const size_t dimRangeRows = BaseType::dimRangeCols; + static const size_t dimRangeCols = BaseType::dimRangeCols; typedef typename BaseType::RangeType RangeType; typedef typename BaseType::JacobianRangeType JacobianRangeType; @@ -246,12 +246,12 @@ public: typedef typename BaseType::EntityType EntityType; typedef typename BaseType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = BaseType::dimDomain; + static const size_t dimDomain = BaseType::dimDomain; typedef typename BaseType::DomainType DomainType; typedef typename BaseType::RangeFieldType RangeFieldType; - static const unsigned int dimRangeRows = BaseType::dimRangeCols; - static const unsigned int dimRangeCols = BaseType::dimRangeCols; + static const size_t dimRangeRows = BaseType::dimRangeCols; + static const size_t dimRangeCols = BaseType::dimRangeCols; typedef typename BaseType::RangeType RangeType; typedef typename BaseType::JacobianRangeType JacobianRangeType; diff --git a/dune/gdt/localevaluation/elliptic.hh b/dune/gdt/localevaluation/elliptic.hh index 5b561be5d..55e23dfde 100644 --- a/dune/gdt/localevaluation/elliptic.hh +++ b/dune/gdt/localevaluation/elliptic.hh @@ -56,7 +56,7 @@ public: std::shared_ptr<typename DiffusionTensorType::LocalfunctionType>> LocalfunctionTupleType; typedef typename DiffusionFactorType::EntityType EntityType; typedef typename DiffusionFactorType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = DiffusionFactorType::dimDomain; + static const size_t dimDomain = DiffusionFactorType::dimDomain; }; // class EllipticTraits @@ -77,7 +77,7 @@ public: typedef typename DiffusionType::EntityType EntityType; typedef typename DiffusionType::DomainFieldType DomainFieldType; typedef std::tuple<std::shared_ptr<typename DiffusionType::LocalfunctionType>> LocalfunctionTupleType; - static const unsigned int dimDomain = DiffusionType::dimDomain; + static const size_t dimDomain = DiffusionType::dimDomain; }; // class EllipticTraits< ..., void > @@ -99,7 +99,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; Elliptic(const DiffusionFactorType& diffusion_factor, const DiffusionTensorType& diffusion_tensor) : diffusion_factor_(diffusion_factor) @@ -115,7 +115,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& local_functions_tuple, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -129,7 +129,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType& local_functions_tuple, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatzBase, @@ -141,7 +141,7 @@ public: } private: - template <class R, int rDF, int rCDF, int rDT, int rCDT, int rT, int rCT, int rA, int rCA> + template <class R, size_t rDF, size_t rCDF, size_t rDT, size_t rCDT, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order( const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDF, rCDF>& local_diffusion_factor, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDT, rCDT>& local_diffusion_tensor, @@ -153,7 +153,7 @@ private: + std::max(ssize_t(ansatzBase.order()) - 1, ssize_t(0)); } // ... order(...) - template <class R, int r> + template <class R, size_t r> void evaluate(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, 1, 1>& local_diffusion_factor, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, 1, 1>& local_diffusion_tensor, @@ -262,7 +262,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; explicit Elliptic(const DiffusionType& inducingFunction) : diffusion_(inducingFunction) @@ -280,7 +280,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -292,7 +292,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatzBase, @@ -308,7 +308,7 @@ public: /** * \return localFunction.order() + (testBase.order() - 1) + (ansatzBase.order() - 1) */ - template <class R, int rL, int rCL, int rT, int rCT, int rA, int rCA> + template <class R, size_t rL, size_t rCL, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rL, rCL>& localFunction, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -326,7 +326,7 @@ public: * \brief Computes an elliptic evaluation for a scalar local function and scalar or vector valued basefunctionsets. * \tparam R RangeFieldType */ - template <class R, int r> + template <class R, size_t r> void evaluate(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, 1, 1>& localFunction, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, 1>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, 1>& ansatzBase, diff --git a/dune/gdt/localevaluation/interface.hh b/dune/gdt/localevaluation/interface.hh index 02a4bbb50..c29d96577 100644 --- a/dune/gdt/localevaluation/interface.hh +++ b/dune/gdt/localevaluation/interface.hh @@ -25,7 +25,7 @@ namespace LocalEvaluation { * \tparam numArguments The number of local bases. * \note All evaluations have to be copyable! */ -template <class Traits, int numArguments> +template <class Traits, size_t numArguments> class Codim0Interface { static_assert(AlwaysFalse<Traits>::value, "There is no interface for this numArguments!"); @@ -43,7 +43,7 @@ public: typedef typename Traits::EntityType EntityType; typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; LocalfunctionTupleType localFunctions(const EntityType& entity) const { @@ -57,7 +57,7 @@ public: * \tparam r dimRange of the testBase * \tparam rC dimRangeRows of the testBase */ - template <class R, int r, int rC> + template <class R, size_t r, size_t rC> size_t order(const LocalfunctionTupleType& localFunctions_in, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase) const { @@ -72,7 +72,7 @@ public: * \tparam rC dimRangeRows of the testBase * \attention ret is assumed to be zero! */ - template <class R, int r, int rC> + template <class R, size_t r, size_t rC> void evaluate(const LocalfunctionTupleType& localFunctions_in, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase, const Dune::FieldVector<DomainFieldType, dimDomain>& localPoint, Dune::DynamicVector<R>& ret) const @@ -93,7 +93,7 @@ public: typedef typename Traits::EntityType EntityType; typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; LocalfunctionTupleType localFunctions(const EntityType& entity) const { @@ -107,7 +107,7 @@ public: * \tparam r{T,A} dimRange of the {testBase,ansatzBase} * \tparam rC{T,A} dimRangeRows of the {testBase,ansatzBase} */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFunctions, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -124,7 +124,7 @@ public: * \tparam rC{L,T,A} dimRangeRows of the {localFunction,testBase,ansatzBase} * \attention ret is assumed to be zero! */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType& localFunctions, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatzBase, @@ -140,7 +140,7 @@ public: * \tparam numArguments The number of local bases. * \note All evaluations have to be copyable! */ -template <class Traits, int numArguments> +template <class Traits, size_t numArguments> class Codim1Interface { static_assert(AlwaysFalse<Traits>::value, "There is no interface for this numArguments!"); @@ -158,7 +158,7 @@ public: typedef typename Traits::EntityType EntityType; typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; LocalfunctionTupleType localFunctions(const EntityType& entity) const { @@ -172,7 +172,7 @@ public: * \tparam r dimRange of the testBase * \tparam rC dimRangeRows of the testBase */ - template <class R, int r, int rC> + template <class R, size_t r, size_t rC> size_t order(const LocalfunctionTupleType& localFunctions, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase) const { @@ -188,7 +188,7 @@ public: * \tparam rC dimRangeRows of the testBase * \attention ret is assumed to be zero! */ - template <class IntersectionType, class R, int r, int rC> + template <class IntersectionType, class R, size_t r, size_t rC> void evaluate(const LocalfunctionTupleType& localFunctions, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase, const IntersectionType& intersection, @@ -210,7 +210,7 @@ public: typedef typename Traits::EntityType EntityType; typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; LocalfunctionTupleType localFunctions(const EntityType& entity) const { @@ -224,7 +224,7 @@ public: * \tparam r{T,A} dimRange of the {testBase,ansatzBase} * \tparam rC{T,A} dimRangeRows of the {testBase,ansatzBase} */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFunctions, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -242,7 +242,7 @@ public: * \tparam rC{T,A} dimRangeRows of the {testBase*,ansatzBase*} * \attention ret is assumed to be zero! */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType& localFunctions, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatzBase, @@ -265,7 +265,7 @@ public: typedef typename Traits::EntityType EntityType; typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; LocalfunctionTupleType localFunctions(const EntityType& entity) const { @@ -279,7 +279,7 @@ public: * \tparam r{T,A} dimRange of the {testBase*,ansatzBase*} * \tparam rC{T,A} dimRangeRows of the {testBase*,ansatzBase*} */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType localFunctionsEntity, const LocalfunctionTupleType localFunctionsNeighbor, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBaseEntity, @@ -310,7 +310,7 @@ public: * \tparam rC{T,A} dimRangeRows of the {testBase*,ansatzBase*} * \attention entityEntityRet, entityEntityRet, entityEntityRet and neighborEntityRet are assumed to be zero! */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate( const LocalfunctionTupleType& localFunctionsEntity, const LocalfunctionTupleType& localFunctionsNeighbor, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBaseEntity, diff --git a/dune/gdt/localevaluation/product.hh b/dune/gdt/localevaluation/product.hh index d3bb895f7..04b9ea890 100644 --- a/dune/gdt/localevaluation/product.hh +++ b/dune/gdt/localevaluation/product.hh @@ -44,7 +44,7 @@ public: typedef typename LocalizableFunctionType::DomainFieldType DomainFieldType; typedef typename LocalizableFunctionType::LocalfunctionType LocalfunctionType; typedef std::tuple<std::shared_ptr<LocalfunctionType>> LocalfunctionTupleType; - static const unsigned int dimDomain = LocalizableFunctionType::dimDomain; + static const size_t dimDomain = LocalizableFunctionType::dimDomain; }; // class ProductTraits @@ -66,7 +66,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; Product(const LocalizableFunctionType& inducingFunction) : inducingFunction_(inducingFunction) @@ -88,7 +88,7 @@ public: /** * \brief extracts the local function and calls the correct order() method */ - template <class R, int rT, int rCT> + template <class R, size_t rT, size_t rCT> size_t order(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase) const @@ -99,7 +99,7 @@ public: /** * \brief extracts the local function and calls the correct evaluate() method */ - template <class R, int rT, int rCT> + template <class R, size_t rT, size_t rCT> void evaluate(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Dune::FieldVector<DomainFieldType, dimDomain>& localPoint, Dune::DynamicVector<R>& ret) const @@ -114,7 +114,7 @@ public: /** * \brief extracts the local function and calls the correct evaluate() method */ - template <class IntersectionType, class R, int r, int rC> + template <class IntersectionType, class R, size_t r, size_t rC> void evaluate(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase, const IntersectionType& intersection, @@ -130,7 +130,7 @@ public: /** * \brief extracts the local function and calls the correct evaluate() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatzBase, @@ -146,7 +146,7 @@ public: /** * \brief extracts the local function and calls the correct evaluate() method */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType& localFunctions_in, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatzBase, @@ -163,7 +163,7 @@ public: /** * \brief extracts the local function and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -180,7 +180,7 @@ public: * \note for `LocalEvaluation::Codim0Interface< ..., 1 >` * \return localFunction.order() + testBase.order() */ - template <class R, int rL, int rCL, int rT, int rCT> + template <class R, size_t rL, size_t rCL, size_t rT, size_t rCT> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rL, rCL>& localFunction, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase) const @@ -194,7 +194,7 @@ public: * - `LocalEvaluation::Codim1Interface< ..., 2 >` * \return localFunction.order() + testBase.order() + ansatzBase.order() */ - template <class R, int rL, int rCL, int rT, int rCT, int rA, int rCA> + template <class R, size_t rL, size_t rCL, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rL, rCL>& localFunction, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -231,7 +231,7 @@ public: * \brief Computes a product evaluation for a scalar local function and scalar or vector valued basefunctionsets. * \note for `LocalEvaluation::Codim0Interface< ..., 2 >` */ - template <class R, int r> + template <class R, size_t r> void evaluate(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, 1, 1>& localFunction, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, 1>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, 1>& ansatzBase, @@ -281,7 +281,7 @@ public: * \brief Computes a product evaluation for a scalar local function and scalar or vector valued basefunctionsets. * \note for `LocalEvaluation::Codim1Interface< ..., 2 >` */ - template <class IntersectionType, class R, int r> + template <class IntersectionType, class R, size_t r> void evaluate(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, 1, 1>& localFunction, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, 1>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, 1>& ansatzBase, diff --git a/dune/gdt/localevaluation/sipdg.hh b/dune/gdt/localevaluation/sipdg.hh index 120a4cddc..09953846e 100644 --- a/dune/gdt/localevaluation/sipdg.hh +++ b/dune/gdt/localevaluation/sipdg.hh @@ -64,7 +64,7 @@ public: typedef typename LocalizableFunctionType::DomainFieldType DomainFieldType; typedef typename LocalizableFunctionType::LocalfunctionType LocalfunctionType; typedef std::tuple<std::shared_ptr<LocalfunctionType>> LocalfunctionTupleType; - static const unsigned int dimDomain = LocalizableFunctionType::dimDomain; + static const size_t dimDomain = LocalizableFunctionType::dimDomain; }; // class InnerTraits @@ -81,7 +81,7 @@ public: typedef typename LocalizableFunctionType::DomainFieldType DomainFieldType; typedef typename LocalizableFunctionType::LocalfunctionType LocalfunctionType; typedef std::tuple<std::shared_ptr<LocalfunctionType>> LocalfunctionTupleType; - static const unsigned int dimDomain = LocalizableFunctionType::dimDomain; + static const size_t dimDomain = LocalizableFunctionType::dimDomain; }; // class BoundaryLHSTraits @@ -111,7 +111,7 @@ public: LocalfunctionTupleType; typedef typename LocalizableDiffusionFunctionType::EntityType EntityType; typedef typename LocalizableDiffusionFunctionType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = LocalizableDiffusionFunctionType::dimDomain; + static const size_t dimDomain = LocalizableDiffusionFunctionType::dimDomain; }; // class BoundaryRHSTraits @@ -192,7 +192,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; Inner(const LocalizableFunctionType& inducingFunction, const double beta = internal::default_beta(dimDomain)) : inducingFunction_(inducingFunction) @@ -211,7 +211,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFunctionsEntity, const LocalfunctionTupleType& localFunctionsNeighbor, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBaseEntity, @@ -233,7 +233,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate( const LocalfunctionTupleType& localFunctionsEntity, const LocalfunctionTupleType& localFunctionsNeighbor, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBaseEntity, @@ -264,7 +264,7 @@ public: /// \name Actual implementation of order /// \{ - template <class R, int rL, int rCL, int rT, int rCT, int rA, int rCA> + template <class R, size_t rL, size_t rCL, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rL, rCL>& localFunctionEntity, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rL, rCL>& localFunctionNeighbor, @@ -421,7 +421,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; BoundaryLHS(const LocalizableFunctionType& inducingFunction, const double beta = internal::default_beta(dimDomain)) : inducingFunction_(inducingFunction) @@ -440,7 +440,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -452,7 +452,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatzBase, @@ -469,7 +469,7 @@ public: /** * \return localFunction.order() + testBase.order() + ansatzBase.order(); */ - template <class R, int rL, int rCL, int rT, int rCT, int rA, int rCA> + template <class R, size_t rL, size_t rCL, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rL, rCL>& localFunction, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -550,7 +550,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; BoundaryRHS(const LocalizableDiffusionFunctionType& diffusion, const LocalizableDirichletFunctionType& dirichlet, const double beta = internal::default_beta(dimDomain)) @@ -571,7 +571,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int r, int rC> + template <class R, size_t r, size_t rC> size_t order(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase) const { @@ -583,7 +583,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int r, int rC> + template <class IntersectionType, class R, size_t r, size_t rC> void evaluate(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase, const IntersectionType& intersection, @@ -601,7 +601,7 @@ public: /** * \return std::max(testOrder + dirichletOrder, diffusionOrder + testGradientOrder + dirichletOrder); */ - template <class R, int rLF, int rCLF, int rLR, int rCLR, int rT, int rCT> + template <class R, size_t rLF, size_t rCLF, size_t rLR, size_t rCLR, size_t rT, size_t rCT> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLF, rCLF>& localDiffusion, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLR, rCLR>& localDirichlet, diff --git a/dune/gdt/localevaluation/swipdg.hh b/dune/gdt/localevaluation/swipdg.hh index 3d19b008d..b257861b8 100644 --- a/dune/gdt/localevaluation/swipdg.hh +++ b/dune/gdt/localevaluation/swipdg.hh @@ -82,7 +82,7 @@ public: std::shared_ptr<LocalDiffusionTensorFunctionType>> LocalfunctionTupleType; typedef typename LocalizableDiffusionFactorFunctionType::EntityType EntityType; typedef typename LocalizableDiffusionFactorFunctionType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; + static const size_t dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; }; // class InnerTraits @@ -99,7 +99,7 @@ public: typedef typename LocalizableFunctionType::DomainFieldType DomainFieldType; typedef typename LocalizableFunctionType::LocalfunctionType LocalfunctionType; typedef std::tuple<std::shared_ptr<LocalfunctionType>> LocalfunctionTupleType; - static const unsigned int dimDomain = LocalizableFunctionType::dimDomain; + static const size_t dimDomain = LocalizableFunctionType::dimDomain; }; // class InnerTraits< ..., void > @@ -127,7 +127,7 @@ public: std::shared_ptr<LocalDiffusionTensorFunctionType>> LocalfunctionTupleType; typedef typename LocalizableDiffusionFactorFunctionType::EntityType EntityType; typedef typename LocalizableDiffusionFactorFunctionType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; + static const size_t dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; }; // class InnerPenaltyTraits @@ -155,7 +155,7 @@ public: std::shared_ptr<LocalDiffusionTensorFunctionType>> LocalfunctionTupleType; typedef typename LocalizableDiffusionFactorFunctionType::EntityType EntityType; typedef typename LocalizableDiffusionFactorFunctionType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; + static const size_t dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; }; // class BoundaryLHSTraits @@ -183,7 +183,7 @@ public: std::shared_ptr<LocalDiffusionTensorFunctionType>> LocalfunctionTupleType; typedef typename LocalizableDiffusionFactorFunctionType::EntityType EntityType; typedef typename LocalizableDiffusionFactorFunctionType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; + static const size_t dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; }; // class BoundaryLHSPenaltyTraits @@ -200,7 +200,7 @@ public: typedef typename LocalizableFunctionType::DomainFieldType DomainFieldType; typedef typename LocalizableFunctionType::LocalfunctionType LocalfunctionType; typedef std::tuple<std::shared_ptr<LocalfunctionType>> LocalfunctionTupleType; - static const unsigned int dimDomain = LocalizableFunctionType::dimDomain; + static const size_t dimDomain = LocalizableFunctionType::dimDomain; }; // class BoundaryLHSTraits< ..., void > @@ -236,7 +236,7 @@ public: std::shared_ptr<LocalDirichletFunctionType>> LocalfunctionTupleType; typedef typename LocalizableDiffusionFactorFunctionType::EntityType EntityType; typedef typename LocalizableDiffusionFactorFunctionType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; + static const size_t dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; }; // class BoundaryRHSTraits @@ -266,7 +266,7 @@ public: LocalfunctionTupleType; typedef typename LocalizableDiffusionFunctionType::EntityType EntityType; typedef typename LocalizableDiffusionFunctionType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = LocalizableDiffusionFunctionType::dimDomain; + static const size_t dimDomain = LocalizableDiffusionFunctionType::dimDomain; }; // class BoundaryRHSTraits< ..., void > @@ -286,7 +286,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; Inner(const LocalizableFunctionType& inducingFunction, const double beta = SIPDG::internal::default_beta(LocalizableFunctionType::dimDomain)) @@ -306,7 +306,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFunctionsEntity, const LocalfunctionTupleType& localFunctionsNeighbor, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBaseEntity, @@ -328,7 +328,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate( const LocalfunctionTupleType& localFunctionsEntity, const LocalfunctionTupleType& localFunctionsNeighbor, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBaseEntity, @@ -359,7 +359,7 @@ public: /// \name Actual implementation of order /// \{ - template <class R, int rL, int rCL, int rT, int rCT, int rA, int rCA> + template <class R, size_t rL, size_t rCL, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rL, rCL>& localFunctionEntity, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rL, rCL>& localFunctionNeighbor, @@ -520,7 +520,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; BoundaryLHS(const LocalizableFunctionType& inducingFunction, const double beta = SIPDG::internal::default_beta(dimDomain)) @@ -540,7 +540,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -552,7 +552,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatzBase, @@ -569,7 +569,7 @@ public: /** * \return localFunction.order() + testBase.order() + ansatzBase.order() */ - template <class R, int rL, int rCL, int rT, int rCT, int rA, int rCA> + template <class R, size_t rL, size_t rCL, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rL, rCL>& localFunction, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -650,7 +650,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; BoundaryRHS(const LocalizableDiffusionFunctionType& diffusion, const LocalizableDirichletFunctionType& dirichlet, const double beta = SIPDG::internal::default_beta(dimDomain)) @@ -671,7 +671,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int r, int rC> + template <class R, size_t r, size_t rC> size_t order(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase) const { @@ -683,7 +683,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int r, int rC> + template <class IntersectionType, class R, size_t r, size_t rC> void evaluate(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase, const IntersectionType& intersection, @@ -701,7 +701,7 @@ public: /** * \return std::max(testOrder + dirichletOrder, diffusionOrder + testGradientOrder + dirichletOrder); */ - template <class R, int rLF, int rCLF, int rLR, int rCLR, int rT, int rCT> + template <class R, size_t rLF, size_t rCLF, size_t rLR, size_t rCLR, size_t rT, size_t rCT> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLF, rCLF>& localDiffusion, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLR, rCLR>& localDirichlet, diff --git a/dune/gdt/localfunctional/codim0.hh b/dune/gdt/localfunctional/codim0.hh index b545d46c8..20939b8db 100644 --- a/dune/gdt/localfunctional/codim0.hh +++ b/dune/gdt/localfunctional/codim0.hh @@ -92,7 +92,7 @@ public: * \tparam T Traits of the BaseFunctionSetInterface implementation, representing the type of the testBase * \attention ret is assumed to be zero! */ - template <class E, class D, int d, class R, int r, int rC> + template <class E, class D, size_t d, class R, size_t r, size_t rC> void apply(const Stuff::LocalfunctionSetInterface<E, D, d, R, r, rC>& testBase, Dune::DynamicVector<R>& ret, std::vector<Dune::DynamicVector<R>>& tmpLocalVectors) const { diff --git a/dune/gdt/localfunctional/codim1.hh b/dune/gdt/localfunctional/codim1.hh index 5a563ffd8..53040300a 100644 --- a/dune/gdt/localfunctional/codim1.hh +++ b/dune/gdt/localfunctional/codim1.hh @@ -87,7 +87,7 @@ public: return numTmpObjectsRequired_; } - template <class E, class IntersectionType, class D, int d, class R, int r, int rC> + template <class E, class IntersectionType, class D, size_t d, class R, size_t r, size_t rC> void apply(const Stuff::LocalfunctionSetInterface<E, D, d, R, r, rC>& testBase, const IntersectionType& intersection, Dune::DynamicVector<R>& ret, std::vector<Dune::DynamicVector<R>>& tmpLocalVectors) const { diff --git a/dune/gdt/localfunctional/interface.hh b/dune/gdt/localfunctional/interface.hh index 4db9b6d56..182deb940 100644 --- a/dune/gdt/localfunctional/interface.hh +++ b/dune/gdt/localfunctional/interface.hh @@ -40,7 +40,7 @@ public: * \tparam r dimRange * \tparam rC dimRangeCols */ - template <class T, class D, int d, class R, int r, int rC> + template <class T, class D, size_t d, class R, size_t r, size_t rC> void apply(const BaseFunctionSetInterface<T, D, d, R, r, rC>& testBase, Dune::DynamicVector<R>& ret, std::vector<Dune::DynamicVector<R>>& tmpLocalVectors) const { @@ -71,7 +71,7 @@ public: * \tparam r dimRange of the of the testBase * \tparam rC dimRangeCols of the testBase */ - template <class T, class IntersectionType, class D, int d, class R, int r, int rC> + template <class T, class IntersectionType, class D, size_t d, class R, size_t r, size_t rC> void apply(const BaseFunctionSetInterface<T, D, d, R, r, rC>& testBase, const IntersectionType& intersection, Dune::DynamicVector<R>& ret, std::vector<Dune::DynamicVector<R>>& tmpLocalVectors) const { diff --git a/dune/gdt/localoperator/codim0.hh b/dune/gdt/localoperator/codim0.hh index 868707fca..c79ba946c 100644 --- a/dune/gdt/localoperator/codim0.hh +++ b/dune/gdt/localoperator/codim0.hh @@ -87,7 +87,7 @@ public: return numTmpObjectsRequired_; } - template <class E, class D, int d, class R, int rT, int rCT, int rA, int rCA> + template <class E, class D, size_t d, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void apply(const Stuff::LocalfunctionSetInterface<E, D, d, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<E, D, d, R, rA, rCA>& ansatzBase, Dune::DynamicMatrix<R>& ret, std::vector<Dune::DynamicMatrix<R>>& tmpLocalMatrices) const diff --git a/dune/gdt/localoperator/codim1.hh b/dune/gdt/localoperator/codim1.hh index 8811ee25a..0e0cdc767 100644 --- a/dune/gdt/localoperator/codim1.hh +++ b/dune/gdt/localoperator/codim1.hh @@ -85,14 +85,14 @@ public: } template <class... Args> - explicit Codim1CouplingIntegral(const size_t over_integrate, Args&&... args) + explicit Codim1CouplingIntegral(const int over_integrate, Args&&... args) : evaluation_(std::forward<Args>(args)...) , over_integrate_(over_integrate) { } template <class... Args> - explicit Codim1CouplingIntegral(const int over_integrate, Args&&... args) + explicit Codim1CouplingIntegral(const size_t over_integrate, Args&&... args) : evaluation_(std::forward<Args>(args)...) , over_integrate_(boost::numeric_cast<size_t>(over_integrate)) { @@ -103,7 +103,8 @@ public: return numTmpObjectsRequired_; } - template <class E, class N, class IntersectionType, class D, int d, class R, int rT, int rCT, int rA, int rCA> + template <class E, class N, class IntersectionType, class D, size_t d, class R, size_t rT, size_t rCT, size_t rA, + size_t rCA> void apply(const Stuff::LocalfunctionSetInterface<E, D, d, R, rT, rCT>& entityTestBase, const Stuff::LocalfunctionSetInterface<E, D, d, R, rA, rCA>& entityAnsatzBase, const Stuff::LocalfunctionSetInterface<N, D, d, R, rT, rCT>& neighborTestBase, @@ -232,14 +233,14 @@ public: } template <class... Args> - Codim1BoundaryIntegral(const size_t over_integrate, Args&&... args) + Codim1BoundaryIntegral(const int over_integrate, Args&&... args) : evaluation_(std::forward<Args>(args)...) , over_integrate_(over_integrate) { } template <class... Args> - Codim1BoundaryIntegral(const int over_integrate, Args&&... args) + Codim1BoundaryIntegral(const size_t over_integrate, Args&&... args) : evaluation_(std::forward<Args>(args)...) , over_integrate_(boost::numeric_cast<size_t>(over_integrate)) { @@ -250,7 +251,7 @@ public: return numTmpObjectsRequired_; } - template <class E, class IntersectionType, class D, int d, class R, int rT, int rCT, int rA, int rCA> + template <class E, class IntersectionType, class D, size_t d, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void apply(const Stuff::LocalfunctionSetInterface<E, D, d, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<E, D, d, R, rA, rCA>& ansatzBase, const IntersectionType& intersection, Dune::DynamicMatrix<R>& ret, diff --git a/dune/gdt/localoperator/interface.hh b/dune/gdt/localoperator/interface.hh index 7c890f6a3..51e22e0f0 100644 --- a/dune/gdt/localoperator/interface.hh +++ b/dune/gdt/localoperator/interface.hh @@ -41,7 +41,7 @@ public: * \tparam r{T,A} dimRange of the of the {testBase,ansatzBase} * \tparam rC{T,a} dimRangeCols of the {testBase,ansatzBase} */ - template <class T, class A, class D, int d, class R, int rT, int rCT, int rA, int rCA> + template <class T, class A, class D, size_t d, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void apply(const BaseFunctionSetInterface<T, D, d, R, rT, rCT>& testBase, const BaseFunctionSetInterface<A, D, d, R, rA, rCA>& ansatzBase, Dune::DynamicMatrix<R>& ret, std::vector<Dune::DynamicMatrix<R>>& tmpLocalMatrices) const @@ -76,8 +76,8 @@ public: * \tparam r{T,A} dimRange of the of the {testBase*,ansatzBase*} * \tparam rC{T,a} dimRangeCols of the {testBase*,ansatzBase*} */ - template <class TE, class AE, class TN, class AN, class IntersectionType, class D, int d, class R, int rT, int rCT, - int rA, int rCA> + template <class TE, class AE, class TN, class AN, class IntersectionType, class D, size_t d, class R, size_t rT, + size_t rCT, size_t rA, size_t rCA> void apply(const BaseFunctionSetInterface<TE, D, d, R, rT, rCT>& testBaseEntity, const BaseFunctionSetInterface<AE, D, d, R, rA, rCA>& ansatzBaseEntity, const BaseFunctionSetInterface<TN, D, d, R, rT, rCT>& testBaseNeighbor, @@ -123,7 +123,8 @@ public: * \tparam r{T,A} dimRange of the of the {testBase,ansatzBase} * \tparam rC{T,a} dimRangeCols of the {testBase,ansatzBase} */ - template <class T, class A, class IntersectionType, class D, int d, class R, int rT, int rCT, int rA, int rCA> + template <class T, class A, class IntersectionType, class D, size_t d, class R, size_t rT, size_t rCT, size_t rA, + size_t rCA> void apply(const BaseFunctionSetInterface<T, D, d, R, rT, rCT>& testBase, const BaseFunctionSetInterface<A, D, d, R, rA, rCA>& ansatzBase, const IntersectionType& intersection, Dune::DynamicMatrix<R>& ret, std::vector<Dune::DynamicMatrix<R>>& tmpLocalMatrices) const diff --git a/dune/gdt/mapper/default/fv.hh b/dune/gdt/mapper/default/fv.hh index 93fdb058f..2a587a9a3 100644 --- a/dune/gdt/mapper/default/fv.hh +++ b/dune/gdt/mapper/default/fv.hh @@ -21,7 +21,7 @@ namespace Mapper { // forward -template <class GridViewImp, int rangeDim = 1, int rangeDimCols = 1> +template <class GridViewImp, size_t rangeDim = 1, size_t rangeDimCols = 1> class FiniteVolume { static_assert(AlwaysFalse<GridViewImp>::value, "Not available for these dimensions!"); @@ -31,7 +31,7 @@ class FiniteVolume namespace internal { -template <class GridViewImp, int rangeDim, int rangeDimCols> +template <class GridViewImp, size_t rangeDim, size_t rangeDimCols> class FiniteVolumeTraits { static_assert(rangeDim >= 1, "Really?"); @@ -104,12 +104,12 @@ private: }; // class FiniteVolume< ..., 1, 1 > -template <class GridViewImp, int rangeDim> +template <class GridViewImp, size_t rangeDim> class FiniteVolume<GridViewImp, rangeDim, 1> : public MapperInterface<internal::FiniteVolumeTraits<GridViewImp, rangeDim, 1>> { typedef MapperInterface<internal::FiniteVolumeTraits<GridViewImp, rangeDim, 1>> InterfaceType; - static const unsigned int dimRange = rangeDim; + static const size_t dimRange = rangeDim; public: typedef internal::FiniteVolumeTraits<GridViewImp, rangeDim, 1> Traits; diff --git a/dune/gdt/mapper/fem.hh b/dune/gdt/mapper/fem.hh index c6e34e1a5..48087814d 100644 --- a/dune/gdt/mapper/fem.hh +++ b/dune/gdt/mapper/fem.hh @@ -99,9 +99,9 @@ private: { } - void operator()(int localDoF, int globalDoF) + void operator()(size_t localDoF, size_t globalDoF) { - assert(localDoF < int(globalIndices_.size())); + assert(localDoF < globalIndices_.size()); globalIndices_[localDoF] = globalDoF; } @@ -184,9 +184,9 @@ private: { } - void operator()(int localDoF, int globalDoF) + void operator()(size_t localDoF, size_t globalDoF) { - assert(localDoF < int(globalIndices_.size())); + assert(localDoF < globalIndices_.size()); globalIndices_[localDoF] = globalDoF; } diff --git a/dune/gdt/operators/darcy.hh b/dune/gdt/operators/darcy.hh index a4502223f..ec17e7a87 100644 --- a/dune/gdt/operators/darcy.hh +++ b/dune/gdt/operators/darcy.hh @@ -69,7 +69,7 @@ public: typedef typename Traits::FieldType FieldType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; Darcy(const GridViewType& grd_vw, const FunctionImp& function) : grid_view_(grd_vw) @@ -82,7 +82,7 @@ public: * \note See redirect_apply for the implementation (depending on the type of the range space). * \sa redirect_apply */ - template <class S, class V, int r, int rC> + template <class S, class V, size_t r, size_t rC> void apply(const Stuff::LocalizableFunctionInterface<EntityType, DomainFieldType, dimDomain, FieldType, r, rC>& source, DiscreteFunction<S, V>& range) const diff --git a/dune/gdt/operators/fluxreconstruction.hh b/dune/gdt/operators/fluxreconstruction.hh index b5c1349f1..fc3d8984c 100644 --- a/dune/gdt/operators/fluxreconstruction.hh +++ b/dune/gdt/operators/fluxreconstruction.hh @@ -45,7 +45,7 @@ class DiffusiveFluxReconstruction<GridViewType, LocalizableFunctionType, void> public: typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; typedef typename LocalizableFunctionType::RangeFieldType FieldType; typedef typename LocalizableFunctionType::DomainType DomainType; diff --git a/dune/gdt/operators/interfaces.hh b/dune/gdt/operators/interfaces.hh index f411b2abf..493b3b6c1 100644 --- a/dune/gdt/operators/interfaces.hh +++ b/dune/gdt/operators/interfaces.hh @@ -74,7 +74,7 @@ class LocalizableOperatorInterface : public Stuff::CRTPInterface<LocalizableOper typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; private: static_assert(Stuff::is_localizable_function<SourceType>::value, diff --git a/dune/gdt/operators/oswaldinterpolation.hh b/dune/gdt/operators/oswaldinterpolation.hh index 6a8467f29..e1149f8db 100644 --- a/dune/gdt/operators/oswaldinterpolation.hh +++ b/dune/gdt/operators/oswaldinterpolation.hh @@ -56,7 +56,7 @@ public: typedef internal::OswaldInterpolationTraits<GridViewImp, FieldImp> Traits; typedef typename Traits::GridViewType GridViewType; typedef typename Traits::FieldType FieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; OswaldInterpolation(const GridViewType& grd_vw, const bool zero_boundary = true) : grid_view_(grd_vw) @@ -144,7 +144,8 @@ private: const auto& intersection = *intersectionIt; if (intersection.boundary() && !intersection.neighbor()) { const auto& intersection_geometry = intersection.geometry(); - for (int local_intersection_corner_id = 0; local_intersection_corner_id < intersection_geometry.corners(); + for (size_t local_intersection_corner_id = 0; + local_intersection_corner_id < intersection_geometry.corners(); ++local_intersection_corner_id) { const auto global_intersection_corner = intersection_geometry.corner(local_intersection_corner_id); // now, we need to find the entity's vertex this intersection's corner point equals to, so we diff --git a/dune/gdt/operators/projections.hh b/dune/gdt/operators/projections.hh index c1804b6e7..b0bff273a 100644 --- a/dune/gdt/operators/projections.hh +++ b/dune/gdt/operators/projections.hh @@ -100,10 +100,10 @@ template <class GridViewImp, class SourceImp, class RangeImp, class FieldImp> class DirichletProjectionLocalizableTraits { typedef typename RangeImp::SpaceType::Traits T; - static const unsigned int d = RangeImp::dimDomain; + static const size_t d = RangeImp::dimDomain; typedef typename RangeImp::RangeFieldType R; - static const unsigned int r = RangeImp::dimRange; - static const unsigned int rC = RangeImp::dimRangeCols; + static const size_t r = RangeImp::dimRange; + static const size_t rC = RangeImp::dimRangeCols; static_assert(is_cg_space<typename RangeImp::SpaceType>::value, "The SpaceType of RangeImp has to be derived from Spaces::CGInterface!"); static_assert(r == 1, "Not implemeneted for higher dimensions!"); @@ -146,7 +146,7 @@ public: private: typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; typedef FieldVector<DomainFieldType, dimDomain> DomainType; public: @@ -155,14 +155,16 @@ public: { } - template <class E, class D, int d, class RS, int rS, int rCS, class GP, int p, class RR, int rR, int rCR, class V> + template <class E, class D, size_t d, class RS, size_t rS, size_t rCS, class GP, int p, class RR, size_t rR, + size_t rCR, class V> inline void apply(const Stuff::LocalizableFunctionInterface<E, D, d, RS, rS, rCS>& source, DiscreteFunction<Spaces::CG::PdelabBased<GP, p, RR, rR, rCR>, V>& range) const { apply_p(source, range); } - template <class E, class D, int d, class RS, int rS, int rCS, class GP, int p, class RR, int rR, int rCR, class V> + template <class E, class D, size_t d, class RS, size_t rS, size_t rCS, class GP, int p, class RR, size_t rR, + size_t rCR, class V> inline void apply(const Stuff::LocalizableFunctionInterface<E, D, d, RS, rS, rCS>& source, DiscreteFunction<Spaces::CG::FemBased<GP, p, RR, rR, rCR>, V>& range) const { @@ -170,7 +172,7 @@ public: } private: - template <class R, int r, class V, class SpaceType> + template <class R, size_t r, class V, class SpaceType> void apply_p(const Stuff::LocalizableFunctionInterface<EntityType, DomainFieldType, dimDomain, R, r, 1>& source, DiscreteFunction<SpaceType, V>& range) const { @@ -197,7 +199,7 @@ private: void apply_local(const LagrangePointsType& lagrange_points, const LocalSourceType& local_source, LocalRangeVectorType& local_range_DoF_vector) const { - static const unsigned int dimRange = LocalSourceType::dimRange; + static const size_t dimRange = LocalSourceType::dimRange; assert(lagrange_points.size() == local_range_DoF_vector.size()); size_t kk = 0; for (size_t ii = 0; ii < lagrange_points.size(); ++ii) { @@ -232,7 +234,7 @@ public: private: typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; public: L2Projection(const GridViewType& grid_view, const size_t over_integrate = 0) @@ -241,7 +243,7 @@ public: { } - template <class GP, int p, class R, int r, class V> + template <class GP, int p, class R, size_t r, class V> void apply(const Stuff::LocalizableFunctionInterface<EntityType, DomainFieldType, dimDomain, R, r, 1>& source, DiscreteFunction<Spaces::DG::FemBased<GP, p, R, r, 1>, V>& range) const { @@ -253,7 +255,7 @@ public: #if HAVE_DUNE_GRID_MULTISCALE - template <class GP, int p, class R, int r, class V> + template <class GP, int p, class R, size_t r, class V> void apply(const Stuff::LocalizableFunctionInterface<EntityType, DomainFieldType, dimDomain, R, r, 1>& source, DiscreteFunction<Spaces::Block<Spaces::DG::FemBased<GP, p, R, r, 1>>, V>& range) const { @@ -265,7 +267,7 @@ public: #endif // HAVE_DUNE_GRID_MULTISCALE - template <class GP, int p, class R, int r, class V> + template <class GP, int p, class R, size_t r, class V> void apply(const Stuff::LocalizableFunctionInterface<EntityType, DomainFieldType, dimDomain, R, r, 1>& source, DiscreteFunction<Spaces::DG::PdelabBased<GP, p, R, r, 1>, V>& range) const { @@ -275,7 +277,7 @@ public: apply_local_l2_projection_(source, range); } - template <class E, class D, int d, class R, int r, class GV, class V> + template <class E, class D, size_t d, class R, size_t r, class GV, class V> void apply(const Stuff::LocalizableFunctionInterface<E, D, d, R, r, 1>& source, DiscreteFunction<Spaces::FV::Default<GV, R, r, 1>, V>& range) const { @@ -430,7 +432,7 @@ public: private: typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; public: Projection(const GridViewType& grid_view, const size_t over_integrate = 0) @@ -446,7 +448,7 @@ public: } private: - template <class E, class D, int d, class R, int r, int rC, class T, class V> + template <class E, class D, size_t d, class R, size_t r, size_t rC, class T, class V> void redirect_to_appropriate_operator(const Stuff::LocalizableFunctionInterface<E, D, d, R, r, rC>& /*source*/, DiscreteFunction<SpaceInterface<T, d, r, rC>, V>& /*range*/) const { @@ -454,7 +456,8 @@ private: "Could not find an appropriate operator for this combination of source and range!"); } - template <class E, class D, int d, class RS, int rS, int rCS, class GP, int p, class RR, int rR, int rCR, class V> + template <class E, class D, size_t d, class RS, size_t rS, size_t rCS, class GP, int p, class RR, size_t rR, + size_t rCR, class V> inline void redirect_to_appropriate_operator(const Stuff::LocalizableFunctionInterface<E, D, d, RS, rS, rCS>& source, DiscreteFunction<Spaces::CG::FemBased<GP, p, RR, rR, rCR>, V>& range) const @@ -462,7 +465,8 @@ private: lagrange_operator_.apply(source, range); } - template <class E, class D, int d, class RS, int rS, int rCS, class GP, int p, class RR, int rR, int rCR, class V> + template <class E, class D, size_t d, class RS, size_t rS, size_t rCS, class GP, int p, class RR, size_t rR, + size_t rCR, class V> inline void redirect_to_appropriate_operator(const Stuff::LocalizableFunctionInterface<E, D, d, RS, rS, rCS>& source, DiscreteFunction<Spaces::CG::PdelabBased<GP, p, RR, rR, rCR>, V>& range) const @@ -470,7 +474,8 @@ private: lagrange_operator_.apply(source, range); } - template <class E, class D, int d, class RS, int rS, int rCS, class GP, int p, class RR, int rR, int rCR, class V> + template <class E, class D, size_t d, class RS, size_t rS, size_t rCS, class GP, int p, class RR, size_t rR, + size_t rCR, class V> inline void redirect_to_appropriate_operator(const Stuff::LocalizableFunctionInterface<E, D, d, RS, rS, rCS>& source, DiscreteFunction<Spaces::DG::FemBased<GP, p, RR, rR, rCR>, V>& range) const @@ -480,7 +485,8 @@ private: #if HAVE_DUNE_GRID_MULTISCALE - template <class E, class D, int d, class RS, int rS, int rCS, class GP, int p, class RR, int rR, int rCR, class V> + template <class E, class D, size_t d, class RS, size_t rS, size_t rCS, class GP, int p, class RR, size_t rR, + size_t rCR, class V> inline void redirect_to_appropriate_operator( const Stuff::LocalizableFunctionInterface<E, D, d, RS, rS, rCS>& source, DiscreteFunction<Spaces::Block<Spaces::DG::FemBased<GP, p, RR, rR, rCR>>, V>& range) const @@ -490,7 +496,8 @@ private: #endif // HAVE_DUNE_GRID_MULTISCALE - template <class E, class D, int d, class RS, int rS, int rCS, class GP, int p, class RR, int rR, int rCR, class V> + template <class E, class D, size_t d, class RS, size_t rS, size_t rCS, class GP, int p, class RR, size_t rR, + size_t rCR, class V> inline void redirect_to_appropriate_operator(const Stuff::LocalizableFunctionInterface<E, D, d, RS, rS, rCS>& source, DiscreteFunction<Spaces::DG::PdelabBased<GP, p, RR, rR, rCR>, V>& range) const @@ -498,7 +505,8 @@ private: l2_operator_.apply(source, range); } - template <class E, class D, int d, class RS, int rS, int rCS, class GV, class RR, int rR, int rCR, class V> + template <class E, class D, size_t d, class RS, size_t rS, size_t rCS, class GV, class RR, size_t rR, size_t rCR, + class V> inline void redirect_to_appropriate_operator(const Stuff::LocalizableFunctionInterface<E, D, d, RS, rS, rCS>& source, DiscreteFunction<Spaces::FV::Default<GV, RR, rR, rCR>, V>& range) const { @@ -603,7 +611,7 @@ public: typedef typename Traits::GridViewType GridViewType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; typedef Stuff::Grid::BoundaryInfoInterface<typename GridViewType::Intersection> BoundaryInfoType; public: @@ -613,7 +621,7 @@ public: { } - template <class R, int r, int rC, class GV, int p, class V> + template <class R, size_t r, size_t rC, class GV, int p, class V> void apply(const Stuff::LocalizableFunctionInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& source, DiscreteFunction<Spaces::CG::FemBased<GV, p, R, r, rC>, V>& range) const { @@ -624,7 +632,7 @@ public: localizable_operator.apply(); } // ... apply(...) - template <class R, int r, int rC, class GV, int p, class V> + template <class R, size_t r, size_t rC, class GV, int p, class V> void apply(const Stuff::LocalizableFunctionInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& source, DiscreteFunction<Spaces::CG::PdelabBased<GV, p, R, r, rC>, V>& range) const { diff --git a/dune/gdt/operators/prolongations.hh b/dune/gdt/operators/prolongations.hh index 219508a1e..d42d6c2fe 100644 --- a/dune/gdt/operators/prolongations.hh +++ b/dune/gdt/operators/prolongations.hh @@ -36,7 +36,7 @@ namespace GDT { namespace Spaces { namespace DG { -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols> class FemBased; } template <class SpaceImp> @@ -52,7 +52,7 @@ namespace Operators { * local polynomial degree. * * \note We would have liked to do something like this and match on implementations of SpaceInterface:\code -template< class T, class VS, class GPR, int pR, class RR, int rR, int rCR, class VR > +template< class T, class VS, class GPR, int pR, class RR, size_t rR, size_t rCR, class VR > void apply(const ConstDiscreteFunction< SpaceInterface< T >, VS >& source, DiscreteFunction< Spaces::DG::FemBased< GPR, pR, RR, rR, rCR >, VR >& range) const { @@ -69,7 +69,7 @@ class L2Prolongation { typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; public: L2Prolongation(const GridViewType& grid_view) @@ -80,15 +80,15 @@ public: // Source: Spaces::CG::FemBased // Range: Spaces::DG::FemBased - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> void apply(const ConstDiscreteFunction<Spaces::CG::FemBased<GPS, pS, RS, rS, rCS>, VS>& /*source*/, DiscreteFunction<Spaces::DG::FemBased<GPR, pR, RR, rR, rCR>, VR>& /*range*/) const { static_assert(Dune::AlwaysFalse<GPS>::value, "Not implemented for this combination of source and range!"); } - template <class GPS, int pS, class R, int r, int rC, class VS, class GPR, int pR, class VR> + template <class GPS, int pS, class R, size_t r, size_t rC, class VS, class GPR, int pR, class VR> inline void apply(const ConstDiscreteFunction<Spaces::CG::FemBased<GPS, pS, R, r, rC>, VS>& source, DiscreteFunction<Spaces::DG::FemBased<GPR, pR, R, r, rC>, VR>& range) const { @@ -98,29 +98,29 @@ public: // Source: Spaces::DG::FemBased // Range: Spaces::DG::FemBased - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> void apply(const ConstDiscreteFunction<Spaces::DG::FemBased<GPS, pS, RS, rS, rCS>, VS>& /*source*/, DiscreteFunction<Spaces::DG::FemBased<GPR, pR, RR, rR, rCR>, VR>& /*range*/) const { static_assert(Dune::AlwaysFalse<GPS>::value, "Not implemented for this combination of source and range!"); } - template <class GPS, int pS, class R, int r, int rC, class VS, class GPR, int pR, class VR> + template <class GPS, int pS, class R, size_t r, size_t rC, class VS, class GPR, int pR, class VR> inline void apply(const ConstDiscreteFunction<Spaces::DG::FemBased<GPS, pS, R, r, rC>, VS>& source, DiscreteFunction<Spaces::DG::FemBased<GPR, pR, R, r, rC>, VR>& range) const { prolong_onto_dg_fem_localfunctions_wrapper(source, range); } - template <class GPS, int pS, class R, int r, int rC, class VS, class GPR, int pR, class VR> + template <class GPS, int pS, class R, size_t r, size_t rC, class VS, class GPR, int pR, class VR> inline void apply(const ConstDiscreteFunction<Spaces::Block<Spaces::DG::FemBased<GPS, pS, R, r, rC>>, VS>& source, DiscreteFunction<Spaces::Block<Spaces::DG::FemBased<GPR, pR, R, r, rC>>, VR>& range) const { prolong_onto_dg_fem_localfunctions_wrapper(source, range); } - template <class GPS, int pS, class R, int r, int rC, class VS, class GPR, int pR, class VR> + template <class GPS, int pS, class R, size_t r, size_t rC, class VS, class GPR, int pR, class VR> inline void apply(const ConstDiscreteFunction<Spaces::Block<Spaces::DG::FemBased<GPS, pS, R, r, rC>>, VS>& source, DiscreteFunction<Spaces::DG::FemBased<GPR, pR, R, r, rC>, VR>& range) const { @@ -217,7 +217,7 @@ private: /** * \note We would have liked to do something like this and match on implementations of SpaceInterface:\code -template< class T, class VS, class GPR, int pR, class RR, int rR, int rCR, class VR > +template< class T, class VS, class GPR, int pR, class RR, size_t rR, size_t rCR, class VR > void apply(const ConstDiscreteFunction< SpaceInterface< T >, VS >& source, DiscreteFunction< Spaces::CG::FemBased< GPR, pR, RR, rR, rCR >, VR >& range) const { @@ -231,7 +231,7 @@ class LagrangeProlongation { public: typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; LagrangeProlongation(const GridViewType& grid_view) : grid_view_(grid_view) @@ -241,15 +241,15 @@ public: // Source: Spaces::CG::FemBased // Range: Spaces::CG::FemBased - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> void apply(const ConstDiscreteFunction<Spaces::CG::FemBased<GPS, pS, RS, rS, rCS>, VS>& /*source*/, DiscreteFunction<Spaces::CG::FemBased<GPR, pR, RR, rR, rCR>, VR>& /*range*/) const { static_assert(Dune::AlwaysFalse<GPS>::value, "Not implemented for this combination of source and range!"); } - template <class GPS, int pS, class R, int r, class VS, class GPR, int pR, class VR> + template <class GPS, int pS, class R, size_t r, class VS, class GPR, int pR, class VR> inline void apply(const ConstDiscreteFunction<Spaces::CG::FemBased<GPS, pS, R, r, 1>, VS>& source, DiscreteFunction<Spaces::CG::FemBased<GPR, pR, R, r, 1>, VR>& range) const { @@ -259,15 +259,15 @@ public: // Source: Spaces::DG::FemBased // Range: Spaces::CG::FemBased - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> void apply(const ConstDiscreteFunction<Spaces::DG::FemBased<GPS, pS, RS, rS, rCS>, VS>& /*source*/, DiscreteFunction<Spaces::CG::FemBased<GPR, pR, RR, rR, rCR>, VR>& /*range*/) const { static_assert(Dune::AlwaysFalse<GPS>::value, "Not implemented for this combination of source and range!"); } - template <class GPS, int pS, class R, int r, class VS, class GPR, int pR, class VR> + template <class GPS, int pS, class R, size_t r, class VS, class GPR, int pR, class VR> inline void apply(const ConstDiscreteFunction<Spaces::DG::FemBased<GPS, pS, R, r, 1>, VS>& source, DiscreteFunction<Spaces::CG::FemBased<GPR, pR, R, r, 1>, VR>& range) const { @@ -277,15 +277,15 @@ public: // Source: Spaces::CG::PdelabBased // Range: Spaces::CG::PdelabBased - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> void apply(const ConstDiscreteFunction<Spaces::CG::PdelabBased<GPS, pS, RS, rS, rCS>, VS>& /*source*/, DiscreteFunction<Spaces::CG::PdelabBased<GPR, pR, RR, rR, rCR>, VR>& /*range*/) const { static_assert(Dune::AlwaysFalse<GPS>::value, "Not implemented for this combination of source and range!"); } - template <class GPS, int pS, class R, int r, int rC, class VS, class GPR, class VR> + template <class GPS, int pS, class R, size_t r, size_t rC, class VS, class GPR, class VR> inline void apply(const ConstDiscreteFunction<Spaces::CG::PdelabBased<GPS, pS, R, r, rC>, VS>& source, DiscreteFunction<Spaces::CG::PdelabBased<GPR, 1, R, r, rC>, VR>& range) const { @@ -329,7 +329,7 @@ private: void apply_local(const SourceType& source, const LagrangePointsType& lagrange_points, const EntityPointers& source_entity_ptr_unique_ptrs, LocalDoFVectorType& range_DoF_vector) const { - static const unsigned int dimRange = SourceType::dimRange; + static const size_t dimRange = SourceType::dimRange; size_t kk = 0; assert(source_entity_ptr_unique_ptrs.size() >= lagrange_points.size()); for (size_t ii = 0; ii < lagrange_points.size(); ++ii) { @@ -362,7 +362,7 @@ class Prolongation { public: typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; Prolongation(const GridViewType& grid_view) : l2_prolongation_operator_(grid_view) @@ -377,8 +377,8 @@ public: } private: - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> inline void redirect_to_appropriate_operator(const ConstDiscreteFunction<Spaces::CG::FemBased<GPS, pS, RS, rS, rCS>, VS>& source, DiscreteFunction<Spaces::DG::FemBased<GPR, pR, RR, rR, rCR>, VR>& range) const @@ -386,8 +386,8 @@ private: l2_prolongation_operator_.apply(source, range); } - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> inline void redirect_to_appropriate_operator(const ConstDiscreteFunction<Spaces::DG::FemBased<GPS, pS, RS, rS, rCS>, VS>& source, DiscreteFunction<Spaces::DG::FemBased<GPR, pR, RR, rR, rCR>, VR>& range) const @@ -395,8 +395,8 @@ private: l2_prolongation_operator_.apply(source, range); } - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> inline void redirect_to_appropriate_operator( const ConstDiscreteFunction<Spaces::Block<Spaces::DG::FemBased<GPS, pS, RS, rS, rCS>>, VS>& source, DiscreteFunction<Spaces::Block<Spaces::DG::FemBased<GPR, pR, RR, rR, rCR>>, VR>& range) const @@ -404,8 +404,8 @@ private: l2_prolongation_operator_.apply(source, range); } - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> inline void redirect_to_appropriate_operator( const ConstDiscreteFunction<Spaces::Block<Spaces::DG::FemBased<GPS, pS, RS, rS, rCS>>, VS>& source, DiscreteFunction<Spaces::DG::FemBased<GPR, pR, RR, rR, rCR>, VR>& range) const @@ -413,8 +413,8 @@ private: l2_prolongation_operator_.apply(source, range); } - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> inline void redirect_to_appropriate_operator(const ConstDiscreteFunction<Spaces::CG::FemBased<GPS, pS, RS, rS, rCS>, VS>& source, DiscreteFunction<Spaces::CG::FemBased<GPR, pR, RR, rR, rCR>, VR>& range) const @@ -422,8 +422,8 @@ private: lagrange_prolongation_operator_.apply(source, range); } - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> inline void redirect_to_appropriate_operator(const ConstDiscreteFunction<Spaces::DG::FemBased<GPS, pS, RS, rS, rCS>, VS>& source, DiscreteFunction<Spaces::CG::FemBased<GPR, pR, RR, rR, rCR>, VR>& range) const @@ -431,8 +431,8 @@ private: lagrange_prolongation_operator_.apply(source, range); } - template <class GPS, int pS, class RS, int rS, int rCS, class VS, class GPR, int pR, class RR, int rR, int rCR, - class VR> + template <class GPS, int pS, class RS, size_t rS, size_t rCS, class VS, class GPR, int pR, class RR, size_t rR, + size_t rCR, class VR> inline void redirect_to_appropriate_operator( const ConstDiscreteFunction<Spaces::CG::PdelabBased<GPS, pS, RS, rS, rCS>, VS>& source, DiscreteFunction<Spaces::CG::PdelabBased<GPR, pR, RR, rR, rCR>, VR>& range) const diff --git a/dune/gdt/playground/localevaluation/ESV2007.hh b/dune/gdt/playground/localevaluation/ESV2007.hh index 6c4e7f417..b95755930 100644 --- a/dune/gdt/playground/localevaluation/ESV2007.hh +++ b/dune/gdt/playground/localevaluation/ESV2007.hh @@ -67,7 +67,7 @@ public: std::shared_ptr<LocalDiffusiveFluxType>> LocalfunctionTupleType; typedef typename LocalizableDiffusionFactorType::EntityType EntityType; typedef typename LocalizableDiffusionFactorType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = LocalizableDiffusionFactorType::dimDomain; + static const size_t dimDomain = LocalizableDiffusionFactorType::dimDomain; }; // class DiffusiveFluxEstimateTraits @@ -94,7 +94,7 @@ public: LocalfunctionTupleType; typedef typename LocalizableDiffusionType::EntityType EntityType; typedef typename LocalizableDiffusionType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = LocalizableDiffusionType::dimDomain; + static const size_t dimDomain = LocalizableDiffusionType::dimDomain; }; // class DiffusiveFluxEstimateTraits @@ -112,7 +112,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; DiffusiveFluxEstimate(const LocalizableDiffusionType& diffusion, const LocalizableDiffusiveFluxType& diffusive_flux) : diffusion_(diffusion) @@ -125,7 +125,7 @@ public: return std::make_tuple(diffusion_.local_function(entity), diffusive_flux_.local_function(entity)); } - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -136,7 +136,7 @@ public: return redirect_order(*local_diffusion, *local_diffusive_flux, testBase, ansatzBase); } // ... order(...) - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& test_base, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatz_base, @@ -148,7 +148,7 @@ public: } // ... evaluate(...) private: - template <class R, int rLD, int rCLD, int rLDF, int rCLDF, int rT, int rCT, int rA, int rCA> + template <class R, size_t rLD, size_t rCLD, size_t rLDF, size_t rCLDF, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t redirect_order( const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLD, rCLD>& local_diffusion, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLDF, rCLDF>& local_diffusive_flux, @@ -163,7 +163,7 @@ private: local_diffusive_flux.order())); } // ... redirect_order(...) - template <class R, int rLD, int rCLD, int rLDF, int rCLDF, int rT, int rCT, int rA, int rCA> + template <class R, size_t rLD, size_t rCLD, size_t rLDF, size_t rCLDF, size_t rT, size_t rCT, size_t rA, size_t rCA> void redirect_evaluate( const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLD, rCLD>& /*local_diffusion*/, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLDF, @@ -236,7 +236,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; DiffusiveFluxEstimate(const LocalizableDiffusionFactorType& diffusion_factor, const LocalizableDiffusionTensorType& diffusion_tensor, @@ -254,7 +254,7 @@ public: diffusive_flux_.local_function(entity)); } - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -267,7 +267,7 @@ public: *local_diffusion_factor, *local_diffusion_tensor, *local_diffusive_flux, testBase, ansatzBase); } // ... order(...) - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& test_base, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatz_base, @@ -286,7 +286,8 @@ public: } // ... evaluate(...) private: - template <class R, int rLD, int rCLD, int rLDT, int rCLDT, int rLDF, int rCLDF, int rT, int rCT, int rA, int rCA> + template <class R, size_t rLD, size_t rCLD, size_t rLDT, size_t rCLDT, size_t rLDF, size_t rCLDF, size_t rT, + size_t rCT, size_t rA, size_t rCA> size_t redirect_order( const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLD, rCLD>& local_diffusion_factor, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLDT, rCLDT>& @@ -305,7 +306,8 @@ private: local_diffusive_flux.order())); } // ... redirect_order(...) - template <class R, int rLD, int rCLD, int rLDT, int rCLDT, int rLDF, int rCLDF, int rT, int rCT, int rA, int rCA> + template <class R, size_t rLD, size_t rCLD, size_t rLDT, size_t rCLDT, size_t rLDF, size_t rCLDF, size_t rT, + size_t rCT, size_t rA, size_t rCA> void redirect_evaluate( const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLD, rCLD>& /*local_diffusion_factor*/, diff --git a/dune/gdt/playground/localevaluation/OS2014.hh b/dune/gdt/playground/localevaluation/OS2014.hh index 94c407c89..ab0154d9d 100644 --- a/dune/gdt/playground/localevaluation/OS2014.hh +++ b/dune/gdt/playground/localevaluation/OS2014.hh @@ -78,7 +78,7 @@ public: std::shared_ptr<LocalDiffusiveFluxFunctionType>> LocalfunctionTupleType; typedef typename LocalizableDiffusionFactorFunctionType::EntityType EntityType; typedef typename LocalizableDiffusionFactorFunctionType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; + static const size_t dimDomain = LocalizableDiffusionFactorFunctionType::dimDomain; }; // class DiffusiveFluxEstimateTraits @@ -102,7 +102,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; DiffusiveFluxEstimateStar(const LocalizableDiffusionFactorFunctionType& diffusion_factor, const LocalizableDiffusionFactorHatFunctionType& diffusion_factor_hat, @@ -123,7 +123,7 @@ public: diffusive_flux_.local_function(entity)); } - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -142,7 +142,8 @@ public: } // ... order(...) private: - template <class R, int rLD, int rCLD, int rLDT, int rCLDT, int rLDF, int rCLDF, int rT, int rCT, int rA, int rCA> + template <class R, size_t rLD, size_t rCLD, size_t rLDT, size_t rCLDT, size_t rLDF, size_t rCLDF, size_t rT, + size_t rCT, size_t rA, size_t rCA> size_t redirect_order( const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLD, rCLD>& local_diffusion_factor, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLD, rCLD>& @@ -165,7 +166,7 @@ private: } // ... redirect_order(...) public: - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& test_base, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatz_base, @@ -186,8 +187,8 @@ public: } // ... evaluate(...) private: - template <class R, int rLD, int rCLD, int rLDh, int rCLDh, int rLDT, int rCLDT, int rLDF, int rCLDF, int rT, int rCT, - int rA, int rCA> + template <class R, size_t rLD, size_t rCLD, size_t rLDh, size_t rCLDh, size_t rLDT, size_t rCLDT, size_t rLDF, + size_t rCLDF, size_t rT, size_t rCT, size_t rA, size_t rCA> void redirect_evaluate( const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rLD, rCLD>& /*local_diffusion_factor*/, diff --git a/dune/gdt/playground/localevaluation/swipdg.hh b/dune/gdt/playground/localevaluation/swipdg.hh index 1d518fe76..8a0b0cea7 100644 --- a/dune/gdt/playground/localevaluation/swipdg.hh +++ b/dune/gdt/playground/localevaluation/swipdg.hh @@ -29,7 +29,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; Inner(const LocalizableDiffusionFactorFunctionType& diffusion_factor, const LocalizableDiffusionTensorFunctionType& inducingFunction, @@ -48,7 +48,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFunctionsEntity, const LocalfunctionTupleType& localFunctionsNeighbor, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBaseEntity, @@ -74,7 +74,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate( const LocalfunctionTupleType& localFunctionsEntity, const LocalfunctionTupleType& localFunctionsNeighbor, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBaseEntity, @@ -105,7 +105,7 @@ public: neighborEntityRet); } - template <class R, int rDF, int rCDF, int rDT, int rCDT, int rT, int rCT, int rA, int rCA> + template <class R, size_t rDF, size_t rCDF, size_t rDT, size_t rCDT, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDF, rCDF>& localDiffusionFactorEntity, @@ -289,7 +289,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; InnerPenalty(const LocalizableDiffusionFactorFunctionType& diffusion_factor, const LocalizableDiffusionTensorFunctionType& inducingFunction, @@ -308,7 +308,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFunctionsEntity, const LocalfunctionTupleType& localFunctionsNeighbor, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBaseEntity, @@ -334,7 +334,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate( const LocalfunctionTupleType& localFunctionsEntity, const LocalfunctionTupleType& localFunctionsNeighbor, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBaseEntity, @@ -365,7 +365,7 @@ public: neighborEntityRet); } - template <class R, int rDF, int rCDF, int rDT, int rCDT, int rT, int rCT, int rA, int rCA> + template <class R, size_t rDF, size_t rCDF, size_t rDT, size_t rCDT, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDF, rCDF>& localDiffusionFactorEntity, @@ -512,7 +512,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; BoundaryLHS(const LocalizableDiffusionFactorFunctionType& diffusion_factor, const LocalizableDiffusionTensorFunctionType& diffusion_tensor, @@ -531,7 +531,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -545,7 +545,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatzBase, @@ -557,7 +557,7 @@ public: evaluate(*local_diffusion_factor, *local_diffusion_tensor, testBase, ansatzBase, intersection, localPoint, ret); } - template <class R, int rDF, int rCDF, int rDT, int rCDT, int rT, int rCT, int rA, int rCA> + template <class R, size_t rDF, size_t rCDF, size_t rDT, size_t rCDT, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDF, rCDF>& localDiffusionFactor, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDT, rCDT>& localDiffusionTensor, @@ -567,7 +567,8 @@ public: return localDiffusionFactor.order() + localDiffusionTensor.order() + testBase.order() + ansatzBase.order(); } // size_t order< ... >(...) - template <class IntersectionType, class R, int rDF, int rCDF, int rDT, int rCDT, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rDF, size_t rCDF, size_t rDT, size_t rCDT, size_t rT, size_t rCT, + size_t rA, size_t rCA> void evaluate(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDF, rCDF>& /*localDiffusionFactor*/, @@ -665,7 +666,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; BoundaryLHSPenalty(const LocalizableDiffusionFactorFunctionType& diffusion_factor, const LocalizableDiffusionTensorFunctionType& diffusion_tensor, @@ -684,7 +685,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int rT, int rCT, int rA, int rCA> + template <class R, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, @@ -698,7 +699,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rT, size_t rCT, size_t rA, size_t rCA> void evaluate(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rT, rCT>& testBase, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, rA, rCA>& ansatzBase, @@ -710,7 +711,7 @@ public: evaluate(*local_diffusion_factor, *local_diffusion_tensor, testBase, ansatzBase, intersection, localPoint, ret); } - template <class R, int rDF, int rCDF, int rDT, int rCDT, int rT, int rCT, int rA, int rCA> + template <class R, size_t rDF, size_t rCDF, size_t rDT, size_t rCDT, size_t rT, size_t rCT, size_t rA, size_t rCA> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDF, rCDF>& localDiffusionFactor, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDT, rCDT>& localDiffusionTensor, @@ -720,7 +721,8 @@ public: return localDiffusionFactor.order() + localDiffusionTensor.order() + testBase.order() + ansatzBase.order(); } // size_t order< ... >(...) - template <class IntersectionType, class R, int rDF, int rCDF, int rDT, int rCDT, int rT, int rCT, int rA, int rCA> + template <class IntersectionType, class R, size_t rDF, size_t rCDF, size_t rDT, size_t rCDT, size_t rT, size_t rCT, + size_t rA, size_t rCA> void evaluate(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDF, rCDF>& /*localDiffusionFactor*/, @@ -835,7 +837,7 @@ public: typedef typename Traits::LocalfunctionTupleType LocalfunctionTupleType; typedef typename Traits::EntityType EntityType; typedef typename Traits::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = Traits::dimDomain; + static const size_t dimDomain = Traits::dimDomain; BoundaryRHS(const LocalizableDiffusionFactorFunctionType& diffusion_factor, const LocalizableDiffusionTensorFunctionType& diffusion_tensor, @@ -858,7 +860,7 @@ public: /** * \brief extracts the local functions and calls the correct order() method */ - template <class R, int r, int rC> + template <class R, size_t r, size_t rC> size_t order(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase) const { @@ -871,7 +873,7 @@ public: /** * \brief extracts the local functions and calls the correct evaluate() method */ - template <class IntersectionType, class R, int r, int rC> + template <class IntersectionType, class R, size_t r, size_t rC> void evaluate(const LocalfunctionTupleType& localFuncs, const Stuff::LocalfunctionSetInterface<EntityType, DomainFieldType, dimDomain, R, r, rC>& testBase, const IntersectionType& intersection, @@ -884,7 +886,7 @@ public: } private: - template <class R, int rDF, int rCDF, int rDT, int rCDT, int rLR, int rCLR, int rT, int rCT> + template <class R, size_t rDF, size_t rCDF, size_t rDT, size_t rCDT, size_t rLR, size_t rCLR, size_t rT, size_t rCT> size_t order(const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDF, rCDF>& localDiffusionFactor, const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDT, rCDT>& localDiffusionTensor, @@ -898,7 +900,8 @@ private: return std::max(testOrder + dirichletOrder, diffusionOrder + testGradientOrder + dirichletOrder); } // size_t order(...) - template <class IntersectionType, class R, int rDF, int rCDF, int rDT, int rCDT, int rLDR, int rCLDR, int rT, int rCT> + template <class IntersectionType, class R, size_t rDF, size_t rCDF, size_t rDT, size_t rCDT, size_t rLDR, + size_t rCLDR, size_t rT, size_t rCT> void evaluate( const Stuff::LocalfunctionInterface<EntityType, DomainFieldType, dimDomain, R, rDF, rCDF>& /*localDiffusionFactor*/, diff --git a/dune/gdt/playground/operators/fluxreconstruction.hh b/dune/gdt/playground/operators/fluxreconstruction.hh index 19c039cd6..02e6a8c81 100644 --- a/dune/gdt/playground/operators/fluxreconstruction.hh +++ b/dune/gdt/playground/operators/fluxreconstruction.hh @@ -28,7 +28,7 @@ class DiffusiveFluxReconstruction public: typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; typedef typename DiffusionFactorType::RangeFieldType FieldType; typedef typename DiffusionFactorType::DomainType DomainType; diff --git a/dune/gdt/playground/spaces/block.hh b/dune/gdt/playground/spaces/block.hh index c6571ab14..e13c3e68a 100644 --- a/dune/gdt/playground/spaces/block.hh +++ b/dune/gdt/playground/spaces/block.hh @@ -147,7 +147,7 @@ public: DUNE_THROW(NotImplemented, "I am not sure yet how to implement this!"); } - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_pattern(const GridView<G>& /*local_grid_view*/, const SpaceInterface<S, d, r, rC>& /*ansatz_space*/) const { diff --git a/dune/gdt/playground/spaces/cg/fem-localfunctions.hh b/dune/gdt/playground/spaces/cg/fem-localfunctions.hh index 9d9261c0e..b5b7a3e1b 100644 --- a/dune/gdt/playground/spaces/cg/fem-localfunctions.hh +++ b/dune/gdt/playground/spaces/cg/fem-localfunctions.hh @@ -41,14 +41,14 @@ namespace CG { // forward, to be used in the traits and to allow for specialization -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class FemLocalfunctionsBased { static_assert(Dune::AlwaysFalse<GridPartImp>::value, "Untested for these dimensions!"); }; -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols> class FemLocalfunctionsBasedTraits { public: @@ -59,7 +59,7 @@ public: private: typedef typename GridPartType::ctype DomainFieldType; - static const unsigned int dimDomain = GridPartType::dimension; + static const size_t dimDomain = GridPartType::dimension; public: typedef RangeFieldImp RangeFieldType; @@ -95,7 +95,7 @@ public: typedef double CommunicatorType; private: - template <class G, int p, class R, int r, int rC> + template <class G, int p, class R, size_t r, size_t rC> friend class FemLocalfunctionsBased; }; // class FemLocalfunctionsBasedTraits @@ -116,7 +116,7 @@ public: typedef typename Traits::GridViewType GridViewType; static const int polOrder = Traits::polOrder; typedef typename GridPartType::ctype DomainFieldType; - static const unsigned int dimDomain = BaseType::dimension; + static const size_t dimDomain = BaseType::dimension; private: static_assert(GridPartType::dimension == dimDomain, "Dimension of GridPart has to match dimDomain"); @@ -124,8 +124,8 @@ private: public: typedef FieldVector<DomainFieldType, dimDomain> DomainType; typedef typename Traits::RangeFieldType RangeFieldType; - static const unsigned int dimRange = BaseType::dimRange; - static const unsigned int dimRangeCols = BaseType::dimRangeCols; + static const size_t dimRange = BaseType::dimRange; + static const size_t dimRangeCols = BaseType::dimRangeCols; typedef typename Traits::BackendType BackendType; typedef typename Traits::MapperType MapperType; @@ -225,7 +225,7 @@ private: #else // HAVE_DUNE_FEM_LOCALFUNCTIONS -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class FemLocalfunctionsBased { static_assert(Dune::AlwaysFalse<GridPartImp>::value, "You are missing dune-fem-localfunctions!"); diff --git a/dune/gdt/playground/spaces/continuouslagrange/fem-localfunctions.hh b/dune/gdt/playground/spaces/continuouslagrange/fem-localfunctions.hh index a2073fa87..f3ae26b46 100644 --- a/dune/gdt/playground/spaces/continuouslagrange/fem-localfunctions.hh +++ b/dune/gdt/playground/spaces/continuouslagrange/fem-localfunctions.hh @@ -15,7 +15,7 @@ namespace Spaces { namespace ContinuousLagrange { -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class DUNE_DEPRECATED_MSG("Use CG::FemLocalfunctionsBased instead (21.11.2014)!") FemLocalfunctionsBased : public CG::FemLocalfunctionsBased<GridPartImp, polynomialOrder, RangeFieldImp, rangeDim, rangeDimCols> { diff --git a/dune/gdt/playground/spaces/dg/fem-localfunctions.hh b/dune/gdt/playground/spaces/dg/fem-localfunctions.hh index aee042a0b..b3ab3da60 100644 --- a/dune/gdt/playground/spaces/dg/fem-localfunctions.hh +++ b/dune/gdt/playground/spaces/dg/fem-localfunctions.hh @@ -39,7 +39,7 @@ namespace DG { // forward, to be used in the traits and to allow for specialization -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class FemLocalfunctionsBased { static_assert(rangeDim == 1 && rangeDimCols == 1, "Not yet implemented (find suitable vector valued basis)!"); @@ -47,7 +47,7 @@ class FemLocalfunctionsBased }; -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols> class FemLocalfunctionsBasedTraits { static_assert(polynomialOrder >= 1, "Wrong polOrder given!"); @@ -61,7 +61,7 @@ public: private: typedef typename GridPartType::ctype DomainFieldType; - static const unsigned int dimDomain = GridPartType::dimension; + static const size_t dimDomain = GridPartType::dimension; typedef typename GridPartType::GridType GridType; static_assert(dimDomain == 1 || Dune::Capabilities::hasSingleGeometryType<GridType>::v, "This space is only implemented for fully simplicial grids!"); @@ -93,7 +93,7 @@ public: typedef double CommunicatorType; private: - template <class G, int p, class R, int r, int rC> + template <class G, int p, class R, size_t r, size_t rC> friend class FemLocalfunctionsBased; }; // class FemLocalfunctionsBasedTraits @@ -113,16 +113,16 @@ public: typedef typename Traits::GridPartType GridPartType; typedef typename Traits::GridViewType GridViewType; typedef typename GridPartType::ctype DomainFieldType; - static const int polOrder = Traits::polOrder; - static const unsigned int dimDomain = BaseType::dimDomain; + static const int polOrder = Traits::polOrder; + static const size_t dimDomain = BaseType::dimDomain; private: static_assert(GridPartType::dimension == dimDomain, "Dimension of GridPart has to match dimDomain"); public: typedef typename Traits::RangeFieldType RangeFieldType; - static const unsigned int dimRange = BaseType::dimRange; - static const unsigned int dimRangeCols = BaseType::dimRangeCols; + static const size_t dimRange = BaseType::dimRange; + static const size_t dimRangeCols = BaseType::dimRangeCols; typedef typename Traits::BackendType BackendType; typedef typename Traits::MapperType MapperType; @@ -216,7 +216,7 @@ private: #else // HAVE_DUNE_FEM_LOCALFUNCTIONS -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class FemLocalfunctionsBased { static_assert(Dune::AlwaysFalse<GridPartImp>::value, "You are missing dune-fem-localfunctions!"); diff --git a/dune/gdt/playground/spaces/dg/fem.hh b/dune/gdt/playground/spaces/dg/fem.hh index d4b63d80b..d03194b61 100644 --- a/dune/gdt/playground/spaces/dg/fem.hh +++ b/dune/gdt/playground/spaces/dg/fem.hh @@ -33,14 +33,14 @@ namespace DG { // forward, to be used in the traits and to allow for specialization -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class FemBased { static_assert(Dune::AlwaysFalse<GridPartImp>::value, "Untested for these dimensions!"); }; -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols> class FemBasedTraits { public: @@ -52,7 +52,7 @@ public: private: typedef typename GridPartType::ctype DomainFieldType; - static const unsigned int dimDomain = GridPartType::dimension; + static const size_t dimDomain = GridPartType::dimension; public: typedef RangeFieldImp RangeFieldType; @@ -86,10 +86,10 @@ class FemBased<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1> public: typedef FemBasedTraits<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1> Traits; - static const int polOrder = Traits::polOrder; - static const unsigned int dimDomain = BaseType::dimDomain; - static const unsigned int dimRange = BaseType::dimRange; - static const unsigned int dimRangeCols = BaseType::dimRangeCols; + static const int polOrder = Traits::polOrder; + static const size_t dimDomain = BaseType::dimDomain; + static const size_t dimRange = BaseType::dimRange; + static const size_t dimRangeCols = BaseType::dimRangeCols; typedef typename Traits::GridPartType GridPartType; typedef typename Traits::GridViewType GridViewType; @@ -123,7 +123,7 @@ public: using BaseType::compute_pattern; - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_pattern(const GridView<G>& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { return BaseType::compute_face_and_volume_pattern(local_grid_view, ansatz_space); @@ -172,7 +172,7 @@ private: #else // HAVE_DUNE_FEM -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class FemBased { static_assert(Dune::AlwaysFalse<GridPartImp>::value, "You are missing dune-fem!"); diff --git a/dune/gdt/playground/spaces/dg/pdelab.hh b/dune/gdt/playground/spaces/dg/pdelab.hh index 6940155ba..90c9ba971 100644 --- a/dune/gdt/playground/spaces/dg/pdelab.hh +++ b/dune/gdt/playground/spaces/dg/pdelab.hh @@ -38,14 +38,14 @@ namespace DG { // forward, to be used in the traits and to allow for specialization -template <class GridViewImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridViewImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class PdelabBased { static_assert(Dune::AlwaysFalse<GridViewImp>::value, "Untested for this combination of dimensions!"); }; // class PdelabBased -template <class GridViewImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridViewImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class PdelabBasedTraits { public: @@ -55,7 +55,7 @@ public: private: typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; public: typedef RangeFieldImp RangeFieldType; @@ -114,10 +114,10 @@ class PdelabBased<GridViewImp, polynomialOrder, RangeFieldImp, 1, 1> public: typedef PdelabBasedTraits<GridViewImp, polynomialOrder, RangeFieldImp, 1, 1> Traits; - static const int polOrder = Traits::polOrder; - static const unsigned int dimDomain = BaseType::dimDomain; - static const unsigned int dimRange = BaseType::dimRange; - static const unsigned int dimRangeCols = BaseType::dimRangeCols; + static const int polOrder = Traits::polOrder; + static const size_t dimDomain = BaseType::dimDomain; + static const size_t dimRange = BaseType::dimRange; + static const size_t dimRangeCols = BaseType::dimRangeCols; typedef typename Traits::GridViewType GridViewType; typedef typename Traits::RangeFieldType RangeFieldType; @@ -186,7 +186,7 @@ public: using BaseType::compute_pattern; - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_pattern(const GridView<G>& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { return BaseType::compute_face_and_volume_pattern(local_grid_view, ansatz_space); @@ -234,7 +234,7 @@ private: #else // HAVE_DUNE_PDELAB -template <class GridViewImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridViewImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class PdelabBased { static_assert(Dune::AlwaysFalse<GridViewImp>::value, "You are missing dune-pdelab!"); diff --git a/dune/gdt/playground/spaces/discontinuouslagrange/fem-localfunctions.hh b/dune/gdt/playground/spaces/discontinuouslagrange/fem-localfunctions.hh index 477b9b232..e8028c3ed 100644 --- a/dune/gdt/playground/spaces/discontinuouslagrange/fem-localfunctions.hh +++ b/dune/gdt/playground/spaces/discontinuouslagrange/fem-localfunctions.hh @@ -15,7 +15,7 @@ namespace Spaces { namespace DiscontinuousLagrange { -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class DUNE_DEPRECATED_MSG("Use DG::FemLocalfunctionsBased instead (21.11.2014)!") FemLocalfunctionsBased : public DG::FemLocalfunctionsBased<GridPartImp, polynomialOrder, RangeFieldImp, rangeDim, rangeDimCols> { diff --git a/dune/gdt/playground/spaces/discontinuouslagrange/fem.hh b/dune/gdt/playground/spaces/discontinuouslagrange/fem.hh index 6b1cc1e4a..098f3dbc8 100644 --- a/dune/gdt/playground/spaces/discontinuouslagrange/fem.hh +++ b/dune/gdt/playground/spaces/discontinuouslagrange/fem.hh @@ -15,7 +15,7 @@ namespace Spaces { namespace DiscontinuousLagrange { -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class DUNE_DEPRECATED_MSG("Use DG::FemBased instead (21.11.2014)!") FemBased : public DG::FemBased<GridPartImp, polynomialOrder, RangeFieldImp, rangeDim, rangeDimCols> { diff --git a/dune/gdt/playground/spaces/discontinuouslagrange/pdelab.hh b/dune/gdt/playground/spaces/discontinuouslagrange/pdelab.hh index dd33af6b0..85407c0c6 100644 --- a/dune/gdt/playground/spaces/discontinuouslagrange/pdelab.hh +++ b/dune/gdt/playground/spaces/discontinuouslagrange/pdelab.hh @@ -15,7 +15,7 @@ namespace Spaces { namespace DiscontinuousLagrange { -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class DUNE_DEPRECATED_MSG("Use DG::PdelabBased instead (21.11.2014)!") PdelabBased : public DG::PdelabBased<GridPartImp, polynomialOrder, RangeFieldImp, rangeDim, rangeDimCols> { diff --git a/dune/gdt/playground/spaces/finitevolume/default.hh b/dune/gdt/playground/spaces/finitevolume/default.hh index 985951766..f7f1485b3 100644 --- a/dune/gdt/playground/spaces/finitevolume/default.hh +++ b/dune/gdt/playground/spaces/finitevolume/default.hh @@ -15,7 +15,7 @@ namespace Spaces { namespace FiniteVolume { -template <class GridViewImp, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridViewImp, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class DUNE_DEPRECATED_MSG("Use FV::Default instead (19.11.2014)!") Default : public FV::Default<GridViewImp, RangeFieldImp, rangeDim, rangeDimCols> { diff --git a/dune/gdt/playground/spaces/raviartthomas/fem-localfunctions.hh b/dune/gdt/playground/spaces/raviartthomas/fem-localfunctions.hh index 6f880da8f..fe6267337 100644 --- a/dune/gdt/playground/spaces/raviartthomas/fem-localfunctions.hh +++ b/dune/gdt/playground/spaces/raviartthomas/fem-localfunctions.hh @@ -15,7 +15,7 @@ namespace Spaces { namespace RaviartThomas { -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class DUNE_DEPRECATED_MSG("Use RT::FemLocalfunctionsBased instead (21.11.2014)!") FemLocalfunctionsBased : public RT::FemLocalfunctionsBased<GridPartImp, polynomialOrder, RangeFieldImp, rangeDim, rangeDimCols> { diff --git a/dune/gdt/playground/spaces/raviartthomas/pdelab.hh b/dune/gdt/playground/spaces/raviartthomas/pdelab.hh index b3c4ed457..5e156fccc 100644 --- a/dune/gdt/playground/spaces/raviartthomas/pdelab.hh +++ b/dune/gdt/playground/spaces/raviartthomas/pdelab.hh @@ -15,7 +15,7 @@ namespace Spaces { namespace RaviartThomas { -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class DUNE_DEPRECATED_MSG("Use RT::PdelabBased instead (21.11.2014)!") PdelabBased : public RT::PdelabBased<GridPartImp, polynomialOrder, RangeFieldImp, rangeDim, rangeDimCols> { diff --git a/dune/gdt/playground/spaces/rt/fem-localfunctions.hh b/dune/gdt/playground/spaces/rt/fem-localfunctions.hh index 7eafa1d04..bc91d1692 100644 --- a/dune/gdt/playground/spaces/rt/fem-localfunctions.hh +++ b/dune/gdt/playground/spaces/rt/fem-localfunctions.hh @@ -39,7 +39,7 @@ namespace RT { // forward, to be used in the traits and to allow for specialization -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class FemLocalfunctionsBased { static_assert(Dune::AlwaysFalse<GridPartImp>::value, "Untested for these dimensions!"); @@ -47,7 +47,7 @@ class FemLocalfunctionsBased // forward, to allow for specialization -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols> class FemLocalfunctionsBasedTraits { static_assert(Dune::AlwaysFalse<GridPartImp>::value, "Untested for these dimensions!"); @@ -67,12 +67,12 @@ public: private: typedef typename GridPartType::ctype DomainFieldType; - static const unsigned int dimDomain = GridPartType::dimension; + static const size_t dimDomain = GridPartType::dimension; public: typedef RangeFieldImp RangeFieldType; - static const unsigned int dimRange = 2; - static const unsigned int dimRangeCols = 1; + static const size_t dimRange = 2; + static const size_t dimRangeCols = 1; typedef FemLocalfunctionsBased<GridPartType, polOrder, RangeFieldType, dimRange, dimRangeCols> derived_type; private: @@ -98,7 +98,7 @@ public: static const bool needs_grid_view = false; private: - template <class G, int p, class R, int r, int rC> + template <class G, int p, class R, size_t r, size_t rC> friend class FemLocalfunctionsBased; }; // class FemLocalfunctionsBasedTraits< ..., 2, 1 > @@ -118,11 +118,11 @@ public: typedef typename Traits::GridPartType GridPartType; typedef typename Traits::GridViewType GridViewType; typedef typename GridPartType::ctype DomainFieldType; - static const int polOrder = Traits::polOrder; - static const unsigned int dimDomain = GridPartType::dimension; + static const int polOrder = Traits::polOrder; + static const size_t dimDomain = GridPartType::dimension; typedef typename Traits::RangeFieldType RangeFieldType; - static const unsigned int dimRange = Traits::dimRange; - static const unsigned int dimRangeCols = Traits::dimRangeCols; + static const size_t dimRange = Traits::dimRange; + static const size_t dimRangeCols = Traits::dimRangeCols; typedef typename Traits::BackendType BackendType; typedef typename Traits::MapperType MapperType; @@ -196,7 +196,7 @@ public: using BaseType::compute_pattern; - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_pattern(const GridView<G>& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { return BaseType::compute_face_and_volume_pattern(local_grid_view, ansatz_space); @@ -214,7 +214,7 @@ private: #else // HAVE_DUNE_FEM_LOCALFUNCTIONS -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class FemLocalfunctionsBased { static_assert(Dune::AlwaysFalse<GridPartImp>::value, "You are missing dune-fem-localfunctions!"); diff --git a/dune/gdt/products/base.hh b/dune/gdt/products/base.hh index 6fc220cd2..011da103f 100644 --- a/dune/gdt/products/base.hh +++ b/dune/gdt/products/base.hh @@ -340,7 +340,7 @@ public: typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; template <class... Args> GenericBase(const GridViewType& grd_vw, Args&&... args) @@ -354,7 +354,7 @@ public: return grid_view_; } - template <class RR, int rRR, int rCR, class RS, int rRS, int rCS> + template <class RR, size_t rRR, size_t rCR, class RS, size_t rRS, size_t rCS> FieldType apply2(const Stuff::LocalizableFunctionInterface<EntityType, DomainFieldType, dimDomain, RR, rRR, rCR>& range, const Stuff::LocalizableFunctionInterface<EntityType, DomainFieldType, dimDomain, RS, rRS, rCS>& source) const diff --git a/dune/gdt/products/interfaces.hh b/dune/gdt/products/interfaces.hh index 5ad361563..84f619ce5 100644 --- a/dune/gdt/products/interfaces.hh +++ b/dune/gdt/products/interfaces.hh @@ -68,7 +68,7 @@ public: typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; private: static_assert(std::is_base_of<Stuff::IsLocalizableFunction, SourceType>::value, @@ -130,7 +130,7 @@ public: typedef typename MatrixType::ScalarType FieldType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; typedef Stuff::LA::SparsityPatternDefault PatternType; diff --git a/dune/gdt/spaces/cg.hh b/dune/gdt/spaces/cg.hh index b44ce8124..7f838dcc4 100644 --- a/dune/gdt/spaces/cg.hh +++ b/dune/gdt/spaces/cg.hh @@ -29,7 +29,7 @@ namespace Spaces { template <class GridType, Stuff::Grid::ChooseLayer layer_type, ChooseSpaceBackend backend_type, int polOrder, - class RangeFieldType, int dimRange, int dimRangeCols = 1> + class RangeFieldType, size_t dimRange, size_t dimRangeCols = 1> class CGProvider { static const Stuff::Grid::ChoosePartView part_view_type = ChooseGridPartView<backend_type>::type; @@ -38,19 +38,19 @@ public: typedef typename Stuff::Grid::Layer<GridType, layer_type, part_view_type>::Type GridLayerType; private: - template <class G, int p, class R, int r, int rC, GDT::ChooseSpaceBackend b> + template <class G, int p, class R, size_t r, size_t rC, GDT::ChooseSpaceBackend b> struct SpaceChooser { static_assert(AlwaysFalse<G>::value, "No space available for this backend!"); }; - template <class G, int p, class R, int r, int rC> + template <class G, int p, class R, size_t r, size_t rC> struct SpaceChooser<G, p, R, r, rC, GDT::ChooseSpaceBackend::fem> { typedef GDT::Spaces::CG::FemBased<GridLayerType, p, R, r> Type; }; - template <class G, int p, class R, int r, int rC> + template <class G, int p, class R, size_t r, size_t rC> struct SpaceChooser<G, p, R, r, rC, GDT::ChooseSpaceBackend::pdelab> { typedef GDT::Spaces::CG::PdelabBased<GridLayerType, p, R, r> Type; @@ -69,13 +69,13 @@ public: return Type(grid_layer); } - static Type create(GridProviderType& grid_provider, const int level = 0) + static Type create(GridProviderType& grid_provider, const size_t level = 0) { return Type(grid_provider.template layer<layer_type, part_view_type>(level)); } #if HAVE_DUNE_GRID_MULTISCALE - static Type create(const MsGridProviderType& grid_provider, const int level_or_subdomain = 0) + static Type create(const MsGridProviderType& grid_provider, const size_t level_or_subdomain = 0) { return Type(grid_provider.template layer<layer_type, part_view_type>(level_or_subdomain)); } @@ -84,7 +84,7 @@ public: template <class GridType, Stuff::Grid::ChooseLayer layer_type, ChooseSpaceBackend backend_type, int polOrder, - class RangeFieldType, int dimRange, int dimRangeCols = 1> + class RangeFieldType, size_t dimRange, size_t dimRangeCols = 1> class DUNE_DEPRECATED_MSG("Use CGProvider instead (02.02.2015)!") ContinuousLagrangeProvider : public CGProvider<GridType, layer_type, backend_type, polOrder, RangeFieldType, dimRange, dimRangeCols> { diff --git a/dune/gdt/spaces/cg/fem.hh b/dune/gdt/spaces/cg/fem.hh index 36a020984..721c578fa 100644 --- a/dune/gdt/spaces/cg/fem.hh +++ b/dune/gdt/spaces/cg/fem.hh @@ -34,14 +34,14 @@ namespace CG { // forward, to be used in the traits and to allow for specialization -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class FemBased { static_assert(Dune::AlwaysFalse<GridPartImp>::value, "Untested for these dimensions!"); }; -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols> class FemBasedTraits { public: @@ -53,7 +53,7 @@ public: private: typedef typename GridPartType::ctype DomainFieldType; - static const unsigned int dimDomain = GridPartType::dimension; + static const size_t dimDomain = GridPartType::dimension; public: typedef RangeFieldImp RangeFieldType; @@ -87,10 +87,10 @@ class FemBased<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1> public: typedef FemBasedTraits<GridPartImp, polynomialOrder, RangeFieldImp, 1, 1> Traits; - static const int polOrder = Traits::polOrder; - static const unsigned int dimDomain = BaseType::dimDomain; - static const unsigned int dimRange = BaseType::dimRange; - static const unsigned int dimRangeCols = BaseType::dimRangeCols; + static const int polOrder = Traits::polOrder; + static const size_t dimDomain = BaseType::dimDomain; + static const size_t dimRange = BaseType::dimRange; + static const size_t dimRangeCols = BaseType::dimRangeCols; typedef typename Traits::GridPartType GridPartType; typedef typename Traits::GridViewType GridViewType; @@ -176,7 +176,7 @@ private: #else // HAVE_DUNE_FEM -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class FemBased { static_assert(Dune::AlwaysFalse<GridPartImp>::value, "You are missing dune-fem!"); diff --git a/dune/gdt/spaces/cg/interface.hh b/dune/gdt/spaces/cg/interface.hh index d47f7630c..7128c6253 100644 --- a/dune/gdt/spaces/cg/interface.hh +++ b/dune/gdt/spaces/cg/interface.hh @@ -6,6 +6,8 @@ #ifndef DUNE_GDT_SPACES_CG_INTERFACE_HH #define DUNE_GDT_SPACES_CG_INTERFACE_HH +#include <boost/numeric/conversion/cast.hpp> + #include <dune/common/dynvector.hh> #include <dune/common/version.hh> #include <dune/common/typetraits.hh> @@ -26,7 +28,7 @@ namespace GDT { namespace Spaces { -template <class ImpTraits, int domainDim, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class ImpTraits, size_t domainDim, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class CGInterface : public SpaceInterface<ImpTraits, domainDim, rangeDim, rangeDimCols> { typedef SpaceInterface<ImpTraits, domainDim, rangeDim, rangeDimCols> BaseType; @@ -85,13 +87,13 @@ public: typedef typename BaseType::BaseFunctionSetType::RangeType RangeType; std::vector<RangeType> tmp_basis_values(basis.size(), RangeType(0)); const auto& reference_element = ReferenceElements<DomainFieldType, dimDomain>::general(entity.type()); - const int num_vertices = reference_element.size(dimDomain); + const auto num_vertices = reference_element.size(dimDomain); assert(num_vertices >= 0); - assert(size_t(num_vertices) == basis.size() && "This should not happen with polOrder 1!"); + assert(boost::numeric_cast<size_t>(num_vertices) == basis.size() && "This should not happen with polOrder 1!"); // prepare return vector std::vector<DomainType> local_vertices(num_vertices, DomainType(0)); // loop over all vertices - for (int ii = 0; ii < num_vertices; ++ii) { + for (auto ii : DSC::valueRange(num_vertices)) { // get the local coordinate of the iith vertex const auto local_vertex = reference_element.position(ii, dimDomain); // evaluate the basefunctionset @@ -135,7 +137,7 @@ public: if (boundaryInfo.dirichlet(intersection) || (!intersection.neighbor() && !intersection.boundary())) { // and get the vertices of the intersection const auto geometry = intersection.geometry(); - for (int cc = 0; cc < geometry.corners(); ++cc) + for (auto cc : DSC::valueRange(geometry.corners())) dirichlet_vertices.emplace_back(entity.geometry().local(geometry.corner(cc))); } // only work on dirichlet ones } // loop over all intersections @@ -165,7 +167,7 @@ public: using BaseType::compute_pattern; - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_pattern(const GridView<G>& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { return BaseType::compute_volume_pattern(local_grid_view, ansatz_space); @@ -173,14 +175,14 @@ public: using BaseType::local_constraints; - template <class S, int d, int r, int rC, class ConstraintsType> + template <class S, size_t d, size_t r, size_t rC, class ConstraintsType> void local_constraints(const SpaceInterface<S, d, r, rC>& /*other*/, const EntityType& /*entity*/, ConstraintsType& /*ret*/) const { static_assert(AlwaysFalse<S>::value, "Not implemented for these constraints!"); } // ... local_constraints(...) - template <class S, int d, int r, int rC> + template <class S, size_t d, size_t r, size_t rC> void local_constraints(const SpaceInterface<S, d, r, rC>& other, const EntityType& entity, Constraints::Dirichlet<IntersectionType, RangeFieldType>& ret) const { diff --git a/dune/gdt/spaces/cg/pdelab.hh b/dune/gdt/spaces/cg/pdelab.hh index 8cb52e20b..590d695aa 100644 --- a/dune/gdt/spaces/cg/pdelab.hh +++ b/dune/gdt/spaces/cg/pdelab.hh @@ -44,14 +44,14 @@ namespace CG { // forward, to be used in the traits and to allow for specialization -template <class GridViewImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridViewImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class PdelabBased { static_assert(Dune::AlwaysFalse<GridViewImp>::value, "Untested for this combination of dimensions!"); }; -template <class GridViewImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridViewImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class PdelabBasedTraits { public: @@ -62,7 +62,7 @@ public: private: typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; public: typedef RangeFieldImp RangeFieldType; @@ -121,10 +121,10 @@ class PdelabBased<GridViewImp, polynomialOrder, RangeFieldImp, 1, 1> public: typedef PdelabBasedTraits<GridViewImp, polynomialOrder, RangeFieldImp, 1, 1> Traits; - static const int polOrder = Traits::polOrder; - static const unsigned int dimDomain = BaseType::dimDomain; - static const unsigned int dimRange = BaseType::dimRange; - static const unsigned int dimRangeCols = BaseType::dimRangeCols; + static const int polOrder = Traits::polOrder; + static const size_t dimDomain = BaseType::dimDomain; + static const size_t dimRange = BaseType::dimRange; + static const size_t dimRangeCols = BaseType::dimRangeCols; typedef typename Traits::GridViewType GridViewType; typedef typename Traits::RangeFieldType RangeFieldType; @@ -243,7 +243,7 @@ private: #else // HAVE_DUNE_PDELAB -template <class GridViewImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridViewImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class PdelabBased { static_assert(Dune::AlwaysFalse<GridViewImp>::value, "You are missing dune-pdelab!"); diff --git a/dune/gdt/spaces/continuouslagrange/base.hh b/dune/gdt/spaces/continuouslagrange/base.hh index cee839551..ac1fd909f 100644 --- a/dune/gdt/spaces/continuouslagrange/base.hh +++ b/dune/gdt/spaces/continuouslagrange/base.hh @@ -27,7 +27,7 @@ namespace Spaces { // forward, to allow for specialization -template <class ImpTraits, int domainDim, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class ImpTraits, size_t domainDim, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class DUNE_DEPRECATED_MSG("Include <dune/gdt/spaces/cg/fem.hh> and use CGInterface instead (21.11.2014)!") ContinuousLagrangeBase { @@ -35,7 +35,7 @@ class DUNE_DEPRECATED_MSG("Include <dune/gdt/spaces/cg/fem.hh> and use CGInterfa }; -template <class ImpTraits, int domainDim, class RangeFieldImp, int rangeDim> +template <class ImpTraits, size_t domainDim, class RangeFieldImp, size_t rangeDim> class DUNE_DEPRECATED_MSG("Include <dune/gdt/spaces/cg/fem.hh> and use CGInterface instead (21.11.2014)!") ContinuousLagrangeBase<ImpTraits, domainDim, RangeFieldImp, rangeDim, 1> : public SpaceInterface<ImpTraits, domainDim, rangeDim, 1> @@ -69,7 +69,7 @@ public: using BaseType::compute_pattern; - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_pattern(const GridView<G>& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { return BaseType::compute_volume_pattern(local_grid_view, ansatz_space); @@ -167,14 +167,14 @@ public: using BaseType::local_constraints; - template <class S, int d, int r, int rC, class ConstraintsType> + template <class S, size_t d, size_t r, size_t rC, class ConstraintsType> void local_constraints(const SpaceInterface<S, d, r, rC>& /*other*/, const EntityType& /*entity*/, ConstraintsType& /*ret*/) const { static_assert(AlwaysFalse<S>::value, "Not implemented for these constraints!"); } - template <class S, int d, int r, int rC> + template <class S, size_t d, size_t r, size_t rC> void local_constraints(const SpaceInterface<S, d, r, rC>& other, const EntityType& entity, Constraints::Dirichlet<IntersectionType, RangeFieldType>& ret) const { diff --git a/dune/gdt/spaces/continuouslagrange/fem.hh b/dune/gdt/spaces/continuouslagrange/fem.hh index a64d0dc9f..beec2e74f 100644 --- a/dune/gdt/spaces/continuouslagrange/fem.hh +++ b/dune/gdt/spaces/continuouslagrange/fem.hh @@ -15,7 +15,7 @@ namespace Spaces { namespace ContinuousLagrange { -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class DUNE_DEPRECATED_MSG("Use CG::FemBased instead (21.11.2014)!") FemBased : public CG::FemBased<GridPartImp, polynomialOrder, RangeFieldImp, rangeDim, rangeDimCols> { diff --git a/dune/gdt/spaces/continuouslagrange/pdelab.hh b/dune/gdt/spaces/continuouslagrange/pdelab.hh index 5fc32a54c..882fd6c95 100644 --- a/dune/gdt/spaces/continuouslagrange/pdelab.hh +++ b/dune/gdt/spaces/continuouslagrange/pdelab.hh @@ -15,7 +15,7 @@ namespace Spaces { namespace ContinuousLagrange { -template <class GridPartImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridPartImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class DUNE_DEPRECATED_MSG("Use CG::FemBased instead (21.11.2014)!") PdelabBased : public CG::PdelabBased<GridPartImp, polynomialOrder, RangeFieldImp, rangeDim, rangeDimCols> { diff --git a/dune/gdt/spaces/dg.hh b/dune/gdt/spaces/dg.hh index 0e5594f88..c3d852174 100644 --- a/dune/gdt/spaces/dg.hh +++ b/dune/gdt/spaces/dg.hh @@ -29,7 +29,7 @@ namespace Spaces { template <class GridType, Stuff::Grid::ChooseLayer layer_type, ChooseSpaceBackend backend_type, int polOrder, - class RangeFieldType, int dimRange, int dimRangeCols = 1> + class RangeFieldType, size_t dimRange, size_t dimRangeCols = 1> class DGProvider { static const Stuff::Grid::ChoosePartView part_view_type = ChooseGridPartView<backend_type>::type; @@ -38,19 +38,19 @@ public: typedef typename Stuff::Grid::Layer<GridType, layer_type, part_view_type>::Type GridLayerType; private: - template <class G, int p, class R, int r, int rC, GDT::ChooseSpaceBackend b> + template <class G, int p, class R, size_t r, size_t rC, GDT::ChooseSpaceBackend b> struct SpaceChooser { static_assert(AlwaysFalse<G>::value, "No space available for this backend!"); }; - template <class G, int p, class R, int r, int rC> + template <class G, int p, class R, size_t r, size_t rC> struct SpaceChooser<G, p, R, r, rC, GDT::ChooseSpaceBackend::fem> { typedef GDT::Spaces::DG::FemBased<GridLayerType, p, R, r> Type; }; - template <class G, int p, class R, int r, int rC> + template <class G, int p, class R, size_t r, size_t rC> struct SpaceChooser<G, p, R, r, rC, GDT::ChooseSpaceBackend::pdelab> { typedef GDT::Spaces::DG::PdelabBased<GridLayerType, p, R, r> Type; @@ -69,13 +69,13 @@ public: return Type(grid_layer); } - static Type create(GridProviderType& grid_provider, const int level = 0) + static Type create(GridProviderType& grid_provider, const size_t level = 0) { return Type(grid_provider.template layer<layer_type, part_view_type>(level)); } #if HAVE_DUNE_GRID_MULTISCALE - static Type create(const MsGridProviderType& grid_provider, const int level_or_subdomain = 0) + static Type create(const MsGridProviderType& grid_provider, const size_t level_or_subdomain = 0) { return Type(grid_provider.template layer<layer_type, part_view_type>(level_or_subdomain)); } @@ -84,7 +84,7 @@ public: template <class GridType, Stuff::Grid::ChooseLayer layer_type, ChooseSpaceBackend backend_type, int polOrder, - class RangeFieldType, int dimRange, int dimRangeCols = 1> + class RangeFieldType, size_t dimRange, size_t dimRangeCols = 1> class DUNE_DEPRECATED_MSG("Use DGProvider instead (02.02.2015)!") DiscontinuousLagrangeProvider : public DGProvider<GridType, layer_type, backend_type, polOrder, RangeFieldType, dimRange, dimRangeCols> { diff --git a/dune/gdt/spaces/fv/default.hh b/dune/gdt/spaces/fv/default.hh index 8a984226d..a52605930 100644 --- a/dune/gdt/spaces/fv/default.hh +++ b/dune/gdt/spaces/fv/default.hh @@ -22,7 +22,7 @@ namespace FV { // forward, to be used in the traits and to allow for specialization -template <class GridViewImp, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridViewImp, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class Default { static_assert(Dune::AlwaysFalse<GridViewImp>::value, "Untested for these dimensions!"); @@ -32,7 +32,7 @@ class Default /** * \brief Traits class for Spaces::CG::FemBased. */ -template <class GridViewImp, class RangeFieldImp, int rangeDim, int rangeDimCols> +template <class GridViewImp, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols> class DefaultTraits { public: @@ -53,7 +53,7 @@ public: }; // class DefaultTraits -template <class GridViewImp, class RangeFieldImp, int rangeDim> +template <class GridViewImp, class RangeFieldImp, size_t rangeDim> class Default<GridViewImp, RangeFieldImp, rangeDim, 1> : public SpaceInterface<DefaultTraits<GridViewImp, RangeFieldImp, rangeDim, 1>, GridViewImp::dimension, rangeDim, 1> { @@ -64,10 +64,10 @@ class Default<GridViewImp, RangeFieldImp, rangeDim, 1> public: typedef DefaultTraits<GridViewImp, RangeFieldImp, rangeDim, 1> Traits; - static const int polOrder = Traits::polOrder; - static const unsigned int dimDomain = BaseType::dimDomain; - static const unsigned int dimRange = BaseType::dimRange; - static const unsigned int dimRangeCols = BaseType::dimRangeCols; + static const int polOrder = Traits::polOrder; + static const size_t dimDomain = BaseType::dimDomain; + static const size_t dimRange = BaseType::dimRange; + static const size_t dimRangeCols = BaseType::dimRangeCols; typedef typename Traits::GridViewType GridViewType; typedef typename Traits::RangeFieldType RangeFieldType; @@ -123,7 +123,7 @@ public: using BaseType::compute_pattern; - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_pattern(const GridView<G>& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { return BaseType::compute_face_and_volume_pattern(local_grid_view, ansatz_space); diff --git a/dune/gdt/spaces/interface.hh b/dune/gdt/spaces/interface.hh index dffa83910..9f1675032 100644 --- a/dune/gdt/spaces/interface.hh +++ b/dune/gdt/spaces/interface.hh @@ -8,6 +8,8 @@ #include <memory> +#include <boost/numeric/conversion/cast.hpp> + #include <dune/common/dynvector.hh> #include <dune/common/fvector.hh> @@ -62,7 +64,7 @@ struct ChooseGridPartView<ChooseSpaceBackend::fem> }; -template <class Traits, int domainDim, int rangeDim, int rangeDimCols = 1> +template <class Traits, size_t domainDim, size_t rangeDim, size_t rangeDimCols = 1> class SpaceInterface : public Stuff::CRTPInterface<SpaceInterface<Traits, domainDim, rangeDim, rangeDimCols>, Traits> { public: @@ -74,9 +76,9 @@ public: typedef typename Traits::CommunicatorType CommunicatorType; typedef typename Traits::GridViewType GridViewType; typedef typename Traits::RangeFieldType RangeFieldType; - static const unsigned int dimDomain = domainDim; - static const unsigned int dimRange = rangeDim; - static const unsigned int dimRangeCols = rangeDimCols; + static const size_t dimDomain = domainDim; + static const size_t dimRange = rangeDim; + static const size_t dimRangeCols = rangeDimCols; private: static_assert(dimDomain > 0, "dimDomain has to be positive"); @@ -140,14 +142,14 @@ public: * * \note Any derived class has to implement this method, even if it does not support any kind of constraints! * In that case just provide exactly the following method:\code -template< class S, int d, int r, int rC, class ConstraintsType > +template< class S, size_t d, size_t r, size_t rC, class ConstraintsType > void local_constraints(const SpaceInterface< S, d, r, rC > >&, const EntityType&, ConstraintsType&) const { static_assert(AlwaysFalse< S >::value, "Not implemented for these constraints!"); } \endcode */ - template <class S, int d, int r, int rC, class C> + template <class S, size_t d, size_t r, size_t rC, class C> void local_constraints(const SpaceInterface<S, d, r, rC>& ansatz_space, const EntityType& entity, Spaces::ConstraintsInterface<C, RangeFieldType>& ret) const { @@ -165,7 +167,7 @@ void local_constraints(const SpaceInterface< S, d, r, rC > >&, const EntityType& * \note This method can be implemented in a derived class by a forward to one of the methods provided by this * class, namely compute_volume_pattern(), compute_face_pattern() or compute_face_and_volume_pattern(). */ - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_pattern(const GridView<G>& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { CHECK_CRTP(this->as_imp().compute_pattern(local_grid_view, ansatz_space.as_imp())); @@ -183,7 +185,7 @@ void local_constraints(const SpaceInterface< S, d, r, rC > >&, const EntityType& return compute_pattern(*this); } - template <class S, int d, int r, int rC> + template <class S, size_t d, size_t r, size_t rC> PatternType compute_pattern(const SpaceInterface<S, d, r, rC>& ansatz_space) const { return compute_pattern(grid_view(), ansatz_space); @@ -200,7 +202,7 @@ void local_constraints(const SpaceInterface< S, d, r, rC > >&, const EntityType& return compute_volume_pattern(*this); } - template <class S, int d, int r, int rC> + template <class S, size_t d, size_t r, size_t rC> PatternType compute_volume_pattern(const SpaceInterface<S, d, r, rC>& ansatz_space) const { return compute_volume_pattern(grid_view(), ansatz_space); @@ -216,7 +218,7 @@ void local_constraints(const SpaceInterface< S, d, r, rC > >&, const EntityType& * \brief computes a sparsity pattern, where this space is the test space (rows/outer) and the other space is the * ansatz space (cols/inner) */ - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_volume_pattern(const GridView<G>& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { @@ -250,7 +252,7 @@ void local_constraints(const SpaceInterface< S, d, r, rC > >&, const EntityType& return compute_face_and_volume_pattern(local_grid_view, *this); } - template <class S, int d, int r, int rC> + template <class S, size_t d, size_t r, size_t rC> PatternType compute_face_and_volume_pattern(const SpaceInterface<S, d, r, rC>& ansatz_space) const { return compute_face_and_volume_pattern(grid_view(), ansatz_space); @@ -260,7 +262,7 @@ void local_constraints(const SpaceInterface< S, d, r, rC > >&, const EntityType& * \brief computes a DG sparsity pattern, where this space is the test space (rows/outer) and the other space is the * ansatz space (cols/inner) */ - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_face_and_volume_pattern(const GridView<G>& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { @@ -315,13 +317,13 @@ void local_constraints(const SpaceInterface< S, d, r, rC > >&, const EntityType& return compute_face_pattern(local_grid_view, *this); } - template <class S, int d, int r, int rC> + template <class S, size_t d, size_t r, size_t rC> PatternType compute_face_pattern(const SpaceInterface<S, d, r, rC>& ansatz_space) const { return compute_face_pattern(grid_view(), ansatz_space); } - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_face_pattern(const /*GridView<*/ G /*>*/& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { @@ -394,11 +396,11 @@ private: const auto baseFunctionSet = space_.base_function_set(entity); if (component < 0) DUNE_THROW(Dune::RangeError, "component must not be negative (is " << component << ")!"); - if (component < int(baseFunctionSet.size())) { + if (component < boost::numeric_cast<int>(baseFunctionSet.size())) { baseFunctionSet.evaluate(xx, values_); - assert(component < int(values_.size()) && "This should not happen!"); + assert(component < boost::numeric_cast<int>(values_.size()) && "This should not happen!"); return values_[index_][component]; - } else if (component < int(space_.mapper().maxNumDofs())) + } else if (component < boost::numeric_cast<int>(space_.mapper().maxNumDofs())) return 0.0; else DUNE_THROW(Dune::RangeError, @@ -441,14 +443,14 @@ public: }; // class SpaceInterface -template <class Traits, int d, int r, int rC, int codim = 0> +template <class Traits, size_t d, size_t r, size_t rC, size_t codim = 0> typename Traits::GridViewType::template Codim<codim>::Iterator begin(const Dune::GDT::SpaceInterface<Traits, d, r, rC>& space) { return space.grid_view().template begin<codim>(); } -template <class Traits, int d, int r, int rC, int codim = 0> +template <class Traits, size_t d, size_t r, size_t rC, size_t codim = 0> typename Traits::GridViewType::template Codim<codim>::Iterator end(const Dune::GDT::SpaceInterface<Traits, d, r, rC>& space) { diff --git a/dune/gdt/spaces/rt/interface.hh b/dune/gdt/spaces/rt/interface.hh index 9ad62c1e4..72dd0ea46 100644 --- a/dune/gdt/spaces/rt/interface.hh +++ b/dune/gdt/spaces/rt/interface.hh @@ -6,6 +6,8 @@ #ifndef DUNE_GDT_SPACES_RT_INTERFACE_HH #define DUNE_GDT_SPACES_RT_INTERFACE_HH +#include <boost/numeric/conversion/cast.hpp> + #include <dune/stuff/common/timedlogging.hh> #include <dune/gdt/spaces/interface.hh> @@ -15,7 +17,7 @@ namespace GDT { namespace Spaces { -template <class ImpTraits, int domainDim, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class ImpTraits, size_t domainDim, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class RTInterface : public SpaceInterface<ImpTraits, domainDim, rangeDim, rangeDimCols> { typedef SpaceInterface<ImpTraits, domainDim, rangeDim, rangeDimCols> BaseType; @@ -56,7 +58,7 @@ public: static_assert(dimDomain == 2, "Not implemented!"); static_assert(polOrder == 0, "Not implemented!"); // prepare - const size_t num_intersections = entity.template count<1>(); + const auto num_intersections = boost::numeric_cast<size_t>(entity.template count<1>()); std::vector<size_t> local_DoF_index_of_vertex(num_intersections, std::numeric_limits<size_t>::infinity()); std::vector<size_t> local_DoF_index_of_intersection(num_intersections, std::numeric_limits<size_t>::infinity()); typedef typename BaseFunctionSetType::DomainType DomainType; @@ -73,13 +75,13 @@ public: // find the basis function index that corresponds to each vertex of the entity // (find the basis function that evaluates to zero at the vertex, and nonzero at the other ones) // therefore we walk the vertices - assert(int(num_intersections) == entity.template count<dimDomain>()); + assert(num_intersections == boost::numeric_cast<size_t>(entity.template count<dimDomain>())); for (size_t vv = 0; vv < num_intersections; ++vv) { - const auto vertex_ptr = entity.template subEntity<dimDomain>(int(vv)); + const auto vertex_ptr = entity.template subEntity<dimDomain>(boost::numeric_cast<int>(vv)); const auto& vertex = *vertex_ptr; // get the vertex coordinates vertices[vv] = vertex.geometry().center(); - const auto& vertex_entity = reference_element.position(int(vv), dimDomain); + const auto& vertex_entity = reference_element.position(boost::numeric_cast<int>(vv), dimDomain); // evalaute the basis basis.evaluate(vertex_entity, basis_values); // and find the basis that evaluates zero here @@ -118,7 +120,7 @@ public: assert(local_DoF_index_of_intersection[local_intersection_index] == std::numeric_limits<size_t>::infinity()); // walk the corners of the intersection for (size_t cc = 0; cc < num_intersections; ++cc) { - corner = intersection_geometry.corner(int(cc)); + corner = intersection_geometry.corner(boost::numeric_cast<int>(cc)); // check which vertices lie on the intersection for (size_t vv = 0; vv < num_intersections; ++vv) if (Stuff::Common::FloatCmp::eq(vertices[vv], corner)) @@ -155,7 +157,7 @@ public: using BaseType::compute_pattern; - template <class G, class S, int d, int r, int rC> + template <class G, class S, size_t d, size_t r, size_t rC> PatternType compute_pattern(const GridView<G>& local_grid_view, const SpaceInterface<S, d, r, rC>& ansatz_space) const { DSC::TimedLogger().get("gdt.spaces.rt.pdelab.compute_pattern").warn() << "Returning largest possible pattern!" @@ -165,7 +167,7 @@ public: using BaseType::local_constraints; - template <class S, int d, int r, int rC, class C, class R> + template <class S, size_t d, size_t r, size_t rC, class C, class R> void local_constraints(const SpaceInterface<S, d, r, rC>& /*ansatz_space*/, const EntityType& /*entity*/, Spaces::ConstraintsInterface<C, R>& /*ret*/) const { diff --git a/dune/gdt/spaces/rt/pdelab.hh b/dune/gdt/spaces/rt/pdelab.hh index 26edb80bc..f63e27e59 100644 --- a/dune/gdt/spaces/rt/pdelab.hh +++ b/dune/gdt/spaces/rt/pdelab.hh @@ -41,7 +41,7 @@ namespace RT { // forward, to be used in the traits and to allow for specialization -template <class GridViewImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridViewImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class PdelabBased { static_assert(AlwaysFalse<GridViewImp>::value, "Untested for these dimensions or polynomial order!"); @@ -51,7 +51,7 @@ class PdelabBased namespace internal { -template <class GridViewImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols> +template <class GridViewImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols> class PdelabBasedTraits { public: @@ -64,7 +64,7 @@ public: private: typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; public: typedef RangeFieldImp RangeFieldType; @@ -115,7 +115,7 @@ private: } // namespace internal -template <class GridViewImp, class RangeFieldImp, int rangeDim> +template <class GridViewImp, class RangeFieldImp, size_t rangeDim> class PdelabBased<GridViewImp, 0, RangeFieldImp, rangeDim, 1> : public Spaces::RTInterface<internal::PdelabBasedTraits<GridViewImp, 0, RangeFieldImp, rangeDim, 1>, GridViewImp::dimension, RangeFieldImp, rangeDim, 1> @@ -219,7 +219,7 @@ public: } // ... communicator(...) private: - template <class S, int d, int p, bool simplicial> + template <class S, size_t d, int p, bool simplicial> struct Helper { static_assert(AlwaysFalse<S>::value, "Not available for this combination!"); @@ -255,7 +255,7 @@ private: #else // HAVE_DUNE_PDELAB -template <class GridViewImp, int polynomialOrder, class RangeFieldImp, int rangeDim, int rangeDimCols = 1> +template <class GridViewImp, int polynomialOrder, class RangeFieldImp, size_t rangeDim, size_t rangeDimCols = 1> class PdelabBased { static_assert(AlwaysFalse<GridViewImp>::value, "You are missing dune-pdelab!"); diff --git a/test/elliptic-cg-discretization.hh b/test/elliptic-cg-discretization.hh index ba9929ee3..9098e3150 100644 --- a/test/elliptic-cg-discretization.hh +++ b/test/elliptic-cg-discretization.hh @@ -48,10 +48,10 @@ template <class GridViewType, int polynomialOrder, class Discretization { public: - static const unsigned int dimDomain = GridViewType::dimension; + static const size_t dimDomain = GridViewType::dimension; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimRange = 1; + static const size_t dimRange = 1; typedef double RangeFieldType; static const unsigned int polOrder = polynomialOrder; @@ -199,9 +199,9 @@ protected: typedef typename TestCase::EntityType EntityType; typedef typename TestCase::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = TestCase::dimDomain; + static const size_t dimDomain = TestCase::dimDomain; typedef typename TestCase::RangeFieldType RangeFieldType; - static const unsigned int dimRange = TestCase::dimRange; + static const size_t dimRange = TestCase::dimRange; typedef Discretization<GridViewType, polOrder> DiscretizationType; typedef typename DiscretizationType::VectorType VectorType; diff --git a/test/elliptic-sipdg-discretization.hh b/test/elliptic-sipdg-discretization.hh index 7a19dd9f7..854210c2b 100644 --- a/test/elliptic-sipdg-discretization.hh +++ b/test/elliptic-sipdg-discretization.hh @@ -55,10 +55,10 @@ template <class GridPartType, int polynomialOrder, class Discretization { public: - static const unsigned int dimDomain = GridPartType::dimension; + static const size_t dimDomain = GridPartType::dimension; typedef typename GridPartType::ctype DomainFieldType; - static const unsigned int dimRange = 1; + static const size_t dimRange = 1; typedef double RangeFieldType; static const unsigned int polOrder = polynomialOrder; @@ -215,9 +215,9 @@ class EocStudy : public Dune::Stuff::Common::ConvergenceStudy typedef typename TestCase::EntityType EntityType; typedef typename TestCase::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = TestCase::dimDomain; + static const size_t dimDomain = TestCase::dimDomain; typedef typename TestCase::RangeFieldType RangeFieldType; - static const unsigned int dimRange = TestCase::dimRange; + static const size_t dimRange = TestCase::dimRange; typedef Discretization<GridPartType, polOrder> DiscretizationType; typedef typename DiscretizationType::VectorType VectorType; diff --git a/test/elliptic-swipdg-discretization.hh b/test/elliptic-swipdg-discretization.hh index e74a9bc51..db8ede055 100644 --- a/test/elliptic-swipdg-discretization.hh +++ b/test/elliptic-swipdg-discretization.hh @@ -12,6 +12,8 @@ #include <cmath> #include <limits> +#include <boost/numeric/conversion/cast.hpp> + #include <dune/common/timer.hh> #include <dune/geometry/quadraturerules.hh> @@ -70,10 +72,10 @@ template <class GridPartType, int polynomialOrder, class Discretization { public: - static const unsigned int dimDomain = GridPartType::dimension; + static const size_t dimDomain = GridPartType::dimension; typedef typename GridPartType::ctype DomainFieldType; - static const unsigned int dimRange = 1; + static const size_t dimRange = 1; typedef double RangeFieldType; static const unsigned int polOrder = polynomialOrder; @@ -231,9 +233,9 @@ protected: typedef typename TestCase::GridViewType GridViewType; typedef typename TestCase::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = TestCase::dimDomain; + static const size_t dimDomain = TestCase::dimDomain; typedef typename TestCase::RangeFieldType RangeFieldType; - static const unsigned int dimRange = TestCase::dimRange; + static const size_t dimRange = TestCase::dimRange; typedef Discretization<GridPartType, polOrder> DiscretizationType; @@ -559,9 +561,9 @@ class EstimatorStudy : public EocStudy<TestCase, 1> typedef typename BaseType::EntityType EntityType; typedef typename BaseType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = BaseType::dimDomain; + static const size_t dimDomain = BaseType::dimDomain; typedef typename BaseType::RangeFieldType RangeFieldType; - static const unsigned int dimRange = BaseType::dimRange; + static const size_t dimRange = BaseType::dimRange; typedef typename BaseType::DiscretizationType DiscretizationType; typedef typename DiscretizationType::VectorType VectorType; @@ -1235,7 +1237,7 @@ private: if (intersection.boundary() && !intersection.neighbor()) { const auto& intersection_geometry = intersection.geometry(); for (size_t local_intersection_corner_id = 0; - int(local_intersection_corner_id) < intersection_geometry.corners(); + local_intersection_corner_id < boost::numeric_cast< size_t >(intersection_geometry.corners()); ++local_intersection_corner_id) { const auto global_intersection_corner = intersection_geometry.corner(local_intersection_corner_id); // now, we need to find the entity's vertex this intersection's corner point equals to, so we diff --git a/test/elliptic-testcases.hh b/test/elliptic-testcases.hh index 0eb6963da..1490dbcfb 100644 --- a/test/elliptic-testcases.hh +++ b/test/elliptic-testcases.hh @@ -53,7 +53,7 @@ public: typedef typename Dune::GDT::SpaceTools::LevelGridPartView<GridType>::Type GridViewType; typedef typename GridType::template Codim<0>::Entity EntityType; typedef typename GridType::ctype DomainFieldType; - static const unsigned int dimDomain = GridType::dimension; + static const size_t dimDomain = GridType::dimension; Base(std::unique_ptr<GridProviderType>&& grd_prv, size_t num_refinements) : grid_provider_(std::move(grd_prv)) @@ -145,9 +145,9 @@ public: typedef typename BaseType::GridViewType GridViewType; typedef typename BaseType::EntityType EntityType; typedef typename BaseType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = BaseType::dimDomain; + static const size_t dimDomain = BaseType::dimDomain; typedef double RangeFieldType; - static const unsigned int dimRange = 1; + static const size_t dimRange = 1; typedef DSG::BoundaryInfos::AllDirichlet<typename GridViewType::Intersection> BoundaryInfoType; typedef Dune::Stuff::Functions::Constant<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> @@ -251,9 +251,9 @@ public: typedef typename BaseType::GridViewType GridViewType; typedef typename BaseType::EntityType EntityType; typedef typename BaseType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = BaseType::dimDomain; + static const size_t dimDomain = BaseType::dimDomain; typedef double RangeFieldType; - static const unsigned int dimRange = 1; + static const size_t dimRange = 1; typedef DSG::BoundaryInfos::AllDirichlet<typename GridViewType::Intersection> BoundaryInfoType; typedef Dune::Stuff::Functions::Constant<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> @@ -368,9 +368,9 @@ public: typedef typename BaseType::GridViewType GridViewType; typedef typename BaseType::EntityType EntityType; typedef typename BaseType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = BaseType::dimDomain; + static const size_t dimDomain = BaseType::dimDomain; typedef double RangeFieldType; - static const unsigned int dimRange = 1; + static const size_t dimRange = 1; typedef DSG::BoundaryInfos::AllDirichlet<typename GridViewType::Intersection> BoundaryInfoType; typedef Dune::Stuff::Functions::Constant<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> @@ -506,9 +506,9 @@ public: typedef typename BaseType::GridViewType GridViewType; typedef typename BaseType::EntityType EntityType; typedef typename BaseType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = BaseType::dimDomain; + static const size_t dimDomain = BaseType::dimDomain; typedef double RangeFieldType; - static const unsigned int dimRange = 1; + static const size_t dimRange = 1; typedef DSG::BoundaryInfos::NormalBased<typename GridViewType::Intersection> BoundaryInfoType; typedef Dune::Stuff::Functions::Constant<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> @@ -618,9 +618,9 @@ public: typedef typename BaseType::GridViewType GridViewType; typedef typename BaseType::EntityType EntityType; typedef typename BaseType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = BaseType::dimDomain; + static const size_t dimDomain = BaseType::dimDomain; typedef double RangeFieldType; - static const unsigned int dimRange = 1; + static const size_t dimRange = 1; typedef DSG::BoundaryInfos::AllDirichlet<typename GridViewType::Intersection> BoundaryInfoType; typedef Dune::Stuff::Functions::Constant<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> diff --git a/test/operators_darcy.hh b/test/operators_darcy.hh index ad755e7a1..5ed0625f4 100644 --- a/test/operators_darcy.hh +++ b/test/operators_darcy.hh @@ -37,7 +37,7 @@ struct DarcyOperator : public ::testing::Test typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename GridViewType::ctype DomainFieldType; - static const unsigned int dimDomain = SourceSpaceType::dimDomain; + static const size_t dimDomain = SourceSpaceType::dimDomain; typedef double RangeFieldType; typedef typename Dune::Stuff::LA::Container<RangeFieldType>::VectorType VectorType; diff --git a/test/operators_elliptic_swipdg.cc b/test/operators_elliptic_swipdg.cc index 4985f517d..4ea3bbd5b 100644 --- a/test/operators_elliptic_swipdg.cc +++ b/test/operators_elliptic_swipdg.cc @@ -24,13 +24,13 @@ using namespace Dune::GDT; TEST(EllipticSWIPDGOperator, is_affinely_decomposable) { - static const unsigned int d = 2; + static const size_t d = 2; typedef SGrid<d, d> GridType; typedef GridType::template Codim<0>::Entity E; typedef GridType::ctype D; typedef double R; - static const unsigned int r = 1; - auto grid_provider = Stuff::Grid::Providers::Cube<GridType>::create(); + static const size_t r = 1; + auto grid_provider = Stuff::Grid::Providers::Cube<GridType>::create(); typedef Spaces:: DiscontinuousLagrangeProvider<GridType, Stuff::Grid::ChooseLayer::leaf, ChooseSpaceBackend::fem, 1, R, r> SpaceProvider; diff --git a/test/operators_oswaldinterpolation.hh b/test/operators_oswaldinterpolation.hh index c5f9b1f5a..c31198c1c 100644 --- a/test/operators_oswaldinterpolation.hh +++ b/test/operators_oswaldinterpolation.hh @@ -25,7 +25,7 @@ struct Oswald_Interpolation_Operator : public ::testing::Test typedef typename SpaceType::GridViewType GridViewType; typedef typename GridViewType::Grid GridType; typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; - static const unsigned int dimDomain = SpaceType::dimDomain; + static const size_t dimDomain = SpaceType::dimDomain; /** * \note This is not a test for correct results yet! diff --git a/test/operators_products_prolong.hh b/test/operators_products_prolong.hh index 6dd68a9a2..ce7a4cfdb 100644 --- a/test/operators_products_prolong.hh +++ b/test/operators_products_prolong.hh @@ -30,10 +30,10 @@ struct ProlongationOperatorBase typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename FineSpaceType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = FineSpaceType::dimDomain; + static const size_t dimDomain = FineSpaceType::dimDomain; typedef Dune::FieldVector<DomainFieldType, dimDomain> DomainType; typedef typename FineSpaceType::RangeFieldType RangeFieldType; - static const unsigned int dimRange = FineSpaceType::dimRange; + static const size_t dimRange = FineSpaceType::dimRange; typedef Dune::Stuff::Functions::Expression<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> FunctionType; typedef typename Dune::Stuff::LA::Container<RangeFieldType>::VectorType VectorType; diff --git a/test/operators_projections.hh b/test/operators_projections.hh index d5b5fb7d0..11f9ad25d 100644 --- a/test/operators_projections.hh +++ b/test/operators_projections.hh @@ -30,10 +30,10 @@ struct ProjectionOperatorBase : ::testing::Test typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename SpaceType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = SpaceType::dimDomain; + static const size_t dimDomain = SpaceType::dimDomain; typedef typename SpaceType::RangeFieldType RangeFieldType; - static const unsigned int dimRange = SpaceType::dimRange; static const unsigned int polOrder = SpaceType::polOrder; + static const size_t dimRange = SpaceType::dimRange; typedef Dune::Stuff::Functions::Expression<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> FunctionType; typedef typename Stuff::LA::Container<RangeFieldType, Stuff::LA::default_backend>::VectorType VectorType; diff --git a/test/products.hh b/test/products.hh index ea884ea70..b63b95edd 100644 --- a/test/products.hh +++ b/test/products.hh @@ -22,9 +22,9 @@ struct ProductBase typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename SpaceType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = SpaceType::dimDomain; + static const size_t dimDomain = SpaceType::dimDomain; typedef typename SpaceType::RangeFieldType RangeFieldType; - static const unsigned int dimRange = SpaceType::dimRange; + static const size_t dimRange = SpaceType::dimRange; typedef Dune::Stuff::Functions::Expression<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> FunctionType; typedef typename Dune::GDT::ProductInterface<typename ProductType::Traits> InterfaceType; @@ -66,9 +66,9 @@ struct LocalizableProductBase typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename SpaceType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = SpaceType::dimDomain; + static const size_t dimDomain = SpaceType::dimDomain; typedef typename SpaceType::RangeFieldType RangeFieldType; - static const unsigned int dimRange = SpaceType::dimRange; + static const size_t dimRange = SpaceType::dimRange; typedef typename Dune::GDT::LocalizableProductInterface<typename ProductType::Traits> InterfaceType; static void fulfills_interface(ProductType& product) @@ -119,9 +119,9 @@ struct AssemblableProductBase typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename SpaceType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = SpaceType::dimDomain; + static const size_t dimDomain = SpaceType::dimDomain; typedef typename SpaceType::RangeFieldType RangeFieldType; - static const unsigned int dimRange = SpaceType::dimRange; + static const size_t dimRange = SpaceType::dimRange; typedef typename Dune::GDT::AssemblableProductInterface<typename ProductType::Traits> InterfaceType; static void fulfills_interface(ProductType& product) diff --git a/test/products_boundaryl2.hh b/test/products_boundaryl2.hh index 17e5df8f4..e5a0e147c 100644 --- a/test/products_boundaryl2.hh +++ b/test/products_boundaryl2.hh @@ -28,13 +28,13 @@ struct BoundaryL2ProductBase : public ::testing::Test typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename SpaceType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = SpaceType::dimDomain; + static const size_t dimDomain = SpaceType::dimDomain; typedef typename SpaceType::RangeFieldType RangeFieldType; - static const unsigned int dimRange = SpaceType::dimRange; + static const size_t dimRange = SpaceType::dimRange; typedef Stuff::Functions::Expression<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> FunctionType; BoundaryL2ProductBase() - : grid_(GridProviderType(0.0, 1.0, boost::numeric_cast<unsigned int>(dsc_grid_elements())).grid_ptr()) + : grid_(GridProviderType(0.0, 1.0, boost::numeric_cast<size_t>(dsc_grid_elements())).grid_ptr()) , space_(Dune::GDT::SpaceTools::GridPartView<SpaceType>::create_leaf(*grid_)) , one_("x", "1.0", 0) { diff --git a/test/products_elliptic.hh b/test/products_elliptic.hh index 93e1595b5..4a1303788 100644 --- a/test/products_elliptic.hh +++ b/test/products_elliptic.hh @@ -30,15 +30,15 @@ struct EllipticProductBase : public ::testing::Test typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename SpaceType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = SpaceType::dimDomain; + static const size_t dimDomain = SpaceType::dimDomain; typedef typename SpaceType::RangeFieldType RangeFieldType; - static const unsigned int dimRange = SpaceType::dimRange; + static const size_t dimRange = SpaceType::dimRange; typedef Stuff::Functions::Expression<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> FunctionType; typedef Stuff::Functions::Constant<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimDomain, dimDomain> TensorType; EllipticProductBase() - : grid_(GridProviderType(0.0, 1.0, boost::numeric_cast<unsigned int>(dsc_grid_elements())).grid_ptr()) + : grid_(GridProviderType(0.0, 1.0, boost::numeric_cast<size_t>(dsc_grid_elements())).grid_ptr()) , leaf_view_(Dune::GDT::SpaceTools::GridPartView<SpaceType>::create_leaf(*grid_)) , space_(leaf_view_) , one_("x", "1.0", 1, "constant gradient", {{"1.0", "1.0", "1.0"}}) diff --git a/test/products_swipdgpenalty.hh b/test/products_swipdgpenalty.hh index 6a2663b33..16c809743 100644 --- a/test/products_swipdgpenalty.hh +++ b/test/products_swipdgpenalty.hh @@ -31,9 +31,9 @@ struct SwipdgPenaltyProductBase : public ::testing::Test typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename SpaceType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = SpaceType::dimDomain; + static const size_t dimDomain = SpaceType::dimDomain; typedef typename SpaceType::RangeFieldType RangeFieldType; - static const unsigned int dimRange = SpaceType::dimRange; + static const size_t dimRange = SpaceType::dimRange; typedef Stuff::Functions::Expression<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> ScalarType; typedef Stuff::Functions::Constant<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimDomain, dimDomain> TensorType; diff --git a/test/products_weightedl2.hh b/test/products_weightedl2.hh index 836c2f029..676e70d75 100644 --- a/test/products_weightedl2.hh +++ b/test/products_weightedl2.hh @@ -28,13 +28,13 @@ struct WeightedL2ProductBase : public ::testing::Test typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; typedef typename GridViewType::template Codim<0>::Entity EntityType; typedef typename SpaceType::DomainFieldType DomainFieldType; - static const unsigned int dimDomain = SpaceType::dimDomain; + static const size_t dimDomain = SpaceType::dimDomain; typedef typename SpaceType::RangeFieldType RangeFieldType; - static const unsigned int dimRange = SpaceType::dimRange; + static const size_t dimRange = SpaceType::dimRange; typedef Stuff::Functions::Expression<EntityType, DomainFieldType, dimDomain, RangeFieldType, dimRange> FunctionType; WeightedL2ProductBase() - : grid_(GridProviderType(0.0, 1.0, boost::numeric_cast<unsigned int>(dsc_grid_elements())).grid_ptr()) + : grid_(GridProviderType(0.0, 1.0, boost::numeric_cast<size_t>(dsc_grid_elements())).grid_ptr()) , space_(Dune::GDT::SpaceTools::GridPartView<SpaceType>::create_leaf(*grid_)) , one_("x", "1.0", 0) { diff --git a/test/spaces.hh b/test/spaces.hh index c66667360..0959d989c 100644 --- a/test/spaces.hh +++ b/test/spaces.hh @@ -9,6 +9,8 @@ #include <type_traits> +#include <boost/numeric/conversion/cast.hpp> + #include <dune/stuff/grid/provider/cube.hh> #include <dune/stuff/test/gtest/gtest.h> @@ -84,11 +86,11 @@ public: typedef typename SpaceType::Traits Traits; typedef typename SpaceType::GridViewType D_GridViewType; typedef typename SpaceType::DomainFieldType D_DomainFieldType; - static const unsigned int d_dimDomain = SpaceType::dimDomain; + static const size_t d_dimDomain = SpaceType::dimDomain; typedef typename SpaceType::RangeFieldType D_RangeFieldType; - static const unsigned int d_dimRange = SpaceType::dimRange; - static const unsigned int d_dimRangeCols = SpaceType::dimRangeCols; - static const int d_polOrder = SpaceType::polOrder; + static const int d_polOrder = SpaceType::polOrder; + static const size_t d_dimRange = SpaceType::dimRange; + static const size_t d_dimRangeCols = SpaceType::dimRangeCols; typedef typename SpaceType::BackendType D_BackendType; typedef typename SpaceType::MapperType D_MapperType; typedef typename SpaceType::BaseFunctionSetType D_BaseFunctionSetType; @@ -103,11 +105,11 @@ public: typedef typename InterfaceType::derived_type derived_type; typedef typename InterfaceType::GridViewType I_GridViewType; typedef typename InterfaceType::DomainFieldType I_DomainFieldType; - static const unsigned int i_dimDomain = InterfaceType::dimDomain; + static const size_t i_dimDomain = InterfaceType::dimDomain; typedef typename InterfaceType::RangeFieldType I_RangeFieldType; - static const unsigned int i_dimRange = InterfaceType::dimRange; - static const unsigned int i_dimRangeCols = InterfaceType::dimRangeCols; - static const int i_polOrder = InterfaceType::polOrder; + static const int i_polOrder = InterfaceType::polOrder; + static const size_t i_dimRange = InterfaceType::dimRange; + static const size_t i_dimRangeCols = InterfaceType::dimRangeCols; typedef typename InterfaceType::BackendType I_BackendType; typedef typename InterfaceType::MapperType I_MapperType; typedef typename InterfaceType::BaseFunctionSetType I_BaseFunctionSetType; @@ -315,11 +317,11 @@ public: typedef typename BaseFunctionSetType::BackendType D_BackendType; typedef typename BaseFunctionSetType::EntityType D_EntityType; typedef typename BaseFunctionSetType::DomainFieldType D_DomainFieldType; - static const unsigned int d_dimDomain = BaseFunctionSetType::dimDomain; + static const size_t d_dimDomain = BaseFunctionSetType::dimDomain; typedef typename BaseFunctionSetType::DomainType D_DomainType; typedef typename BaseFunctionSetType::RangeFieldType D_RangeFieldType; - static const unsigned int d_dimRange = BaseFunctionSetType::dimRange; - static const unsigned int d_dimRangeCols = BaseFunctionSetType::dimRangeCols; + static const size_t d_dimRange = BaseFunctionSetType::dimRange; + static const size_t d_dimRangeCols = BaseFunctionSetType::dimRangeCols; typedef typename BaseFunctionSetType::RangeType D_RangeType; typedef typename BaseFunctionSetType::JacobianRangeType D_JacobianRangeType; static_assert(std::is_same<D_EntityType, typename SpaceType::EntityType>::value, "Types do not match!"); @@ -340,11 +342,11 @@ public: typedef typename InterfaceType::BackendType I_BackendType; typedef typename InterfaceType::EntityType I_EntityType; typedef typename InterfaceType::DomainFieldType I_DomainFieldType; - static const unsigned int i_dimDomain = InterfaceType::dimDomain; + static const size_t i_dimDomain = InterfaceType::dimDomain; typedef typename InterfaceType::DomainType I_DomainType; typedef typename InterfaceType::RangeFieldType I_RangeFieldType; - static const unsigned int i_dimRange = InterfaceType::dimRange; - static const unsigned int i_dimRangeCols = InterfaceType::dimRangeCols; + static const size_t i_dimRange = InterfaceType::dimRange; + static const size_t i_dimRangeCols = InterfaceType::dimRangeCols; typedef typename InterfaceType::RangeType I_RangeType; typedef typename InterfaceType::JacobianRangeType I_JacobianRangeType; static_assert(std::is_same<derived_type, BaseFunctionSetType>::value, "Types do not match!"); @@ -368,10 +370,11 @@ public: const D_BackendType& d_backend = d_base_function_set.backend(); size_t d_order = d_base_function_set.order(); #if DUNE_GDT_TEST_SPACES_RT_CHECK - EXPECT_GE(d_order, int(SpaceType::polOrder)); // <- normaly we would expect equality here, but the raviart + EXPECT_GE(d_order, boost::numeric_cast<size_t>(SpaceType::polOrder)); // <- normaly we would expect equality here, +// but the raviart // thomas space of order 0 reports order 1 here #else - EXPECT_EQ(d_order, int(SpaceType::polOrder)); + EXPECT_EQ(d_order, boost::numeric_cast<size_t>(SpaceType::polOrder)); #endif // the size has already been checked in fulfills_interface() above // * as the interface diff --git a/test/spaces_cg.hh b/test/spaces_cg.hh index 708fe0de0..fa6768302 100644 --- a/test/spaces_cg.hh +++ b/test/spaces_cg.hh @@ -6,12 +6,13 @@ #ifndef DUNE_GDT_TEST_SPACES_CG #define DUNE_GDT_TEST_SPACES_CG -#include "spaces.hh" +#include <boost/numeric/conversion/cast.hpp> #include <dune/common/typetraits.hh> #include <dune/common/fvector.hh> #include <dune/stuff/common/print.hh> +#include <dune/stuff/common/ranges.hh> #include <dune/stuff/grid/walker.hh> #include <dune/gdt/spaces/cg/fem.hh> @@ -19,6 +20,8 @@ #include <dune/gdt/mapper/interface.hh> #include <dune/gdt/basefunctionset/interface.hh> +#include "spaces.hh" + template <class SpaceType> class CG_Space : public SpaceBase<SpaceType> @@ -32,7 +35,7 @@ struct P1Q1_CG_Space : public SpaceBase<SpaceType> typedef typename SpaceType::GridViewType GridViewType; typedef typename GridViewType::Grid GridType; typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; - static const unsigned int dimDomain = GridType::dimension; + static const size_t dimDomain = GridType::dimension; typedef typename GridType::ctype DomainFieldType; typedef Dune::FieldVector<DomainFieldType, dimDomain> DomainType; @@ -44,7 +47,7 @@ struct P1Q1_CG_Space : public SpaceBase<SpaceType> return ret; } - template <class T, int d, class R, int r, int rC> + template <class T, size_t d, class R, size_t r, size_t rC> void matches_signature(const Dune::GDT::Spaces::CGInterface<T, d, R, r, rC>& /*space*/) { static_assert(std::is_same<typename SpaceType::Traits, T>::value, ""); @@ -82,7 +85,7 @@ struct P1Q1_CG_Space : public SpaceBase<SpaceType> const auto entity_end_it = this->space_.grid_view().template end<0>(); for (auto entity_it = this->space_.grid_view().template begin<0>(); entity_it != entity_end_it; ++entity_it) { const auto& entity = *entity_it; - for (int cc = 0; cc < entity.template count<dimDomain>(); ++cc) { + for (auto cc : DSC::valueRange(entity.template count<dimDomain>())) { const auto vertex_ptr = entity.template subEntity<dimDomain>(cc); const DomainType vertex = vertex_ptr->geometry().center(); vertex_to_indices_map[convert_vector(vertex)] = std::set<size_t>(); @@ -90,16 +93,16 @@ struct P1Q1_CG_Space : public SpaceBase<SpaceType> } // walk the grid again to find all DoF ids - auto functor = [&](const typename GridProviderType::EntityType& entity) { - const int num_vertices = entity.template count<dimDomain>(); + auto functor = [&](const typename GridProviderType::EntityType& entity) { + const size_t num_vertices = boost::numeric_cast<size_t>(entity.template count<dimDomain>()); const auto basis = this->space_.base_function_set(entity); - EXPECT_EQ(basis.size(), size_t(num_vertices)); - for (int cc = 0; cc < num_vertices; ++cc) { - const auto vertex_ptr = entity.template subEntity<dimDomain>(cc); + EXPECT_EQ(basis.size(), num_vertices); + for (size_t cc = 0; cc < num_vertices; ++cc) { + const auto vertex_ptr = entity.template subEntity<dimDomain>(boost::numeric_cast<int>(cc)); const DomainType vertex = vertex_ptr->geometry().center(); // find the local basis function which corresponds to this vertex const auto basis_values = basis.evaluate(entity.geometry().local(vertex)); - EXPECT_EQ(basis_values.size(), size_t(num_vertices)); + EXPECT_EQ(basis_values.size(), num_vertices); size_t ones = 0; size_t zeros = 0; size_t failures = 0; diff --git a/test/spaces_dg.hh b/test/spaces_dg.hh index e42e3009b..2e9617542 100644 --- a/test/spaces_dg.hh +++ b/test/spaces_dg.hh @@ -6,7 +6,10 @@ #ifndef DUNE_GDT_SPACES_DG_COMMON_HH #define DUNE_GDT_SPACES_DG_COMMON_HH +#include <boost/numeric/conversion/cast.hpp> + #include <dune/stuff/common/print.hh> +#include <dune/stuff/common/ranges.hh> #include "spaces.hh" @@ -23,7 +26,7 @@ struct P1Q1_DG_Space : public SpaceBase<SpaceType> typedef typename SpaceType::GridViewType GridViewType; typedef typename GridViewType::Grid GridType; typedef Dune::Stuff::Grid::Providers::Cube<GridType> GridProviderType; - static const unsigned int dimDomain = GridType::dimension; + static const size_t dimDomain = GridType::dimension; typedef typename GridType::ctype DomainFieldType; typedef Dune::FieldVector<DomainFieldType, dimDomain> DomainType; @@ -43,7 +46,7 @@ struct P1Q1_DG_Space : public SpaceBase<SpaceType> const auto entity_end_it = this->space_.grid_view().template end<0>(); for (auto entity_it = this->space_.grid_view().template begin<0>(); entity_it != entity_end_it; ++entity_it) { const auto& entity = *entity_it; - for (int cc = 0; cc < entity.template count<dimDomain>(); ++cc) { + for (auto cc : DSC::valueRange(entity.template count<dimDomain>())) { const auto vertex_ptr = entity.template subEntity<dimDomain>(cc); const DomainType vertex = vertex_ptr->geometry().center(); vertex_to_indices_map[convert_vector(vertex)].first = std::set<size_t>(); @@ -52,16 +55,16 @@ struct P1Q1_DG_Space : public SpaceBase<SpaceType> } // walk the grid again to find all DoF ids for (auto entity_it = this->space_.grid_view().template begin<0>(); entity_it != entity_end_it; ++entity_it) { - const auto& entity = *entity_it; - const int num_vertices = entity.template count<dimDomain>(); + const auto& entity = *entity_it; + const size_t num_vertices = boost::numeric_cast<size_t>(entity.template count<dimDomain>()); const auto basis = this->space_.base_function_set(entity); - EXPECT_EQ(basis.size(), size_t(num_vertices)); - for (int cc = 0; cc < num_vertices; ++cc) { - const auto vertex_ptr = entity.template subEntity<dimDomain>(cc); + EXPECT_EQ(basis.size(), num_vertices); + for (size_t cc = 0; cc < num_vertices; ++cc) { + const auto vertex_ptr = entity.template subEntity<dimDomain>(boost::numeric_cast<int>(cc)); const DomainType vertex = vertex_ptr->geometry().center(); // find the local basis function which corresponds to this vertex const auto basis_values = basis.evaluate(entity.geometry().local(vertex)); - EXPECT_EQ(basis_values.size(), size_t(num_vertices)); + EXPECT_EQ(basis_values.size(), num_vertices); size_t ones = 0; size_t zeros = 0; size_t failures = 0; diff --git a/test/spaces_rt.hh b/test/spaces_rt.hh index 4e18e824b..da48b99e7 100644 --- a/test/spaces_rt.hh +++ b/test/spaces_rt.hh @@ -18,7 +18,7 @@ template <class SpaceType> class RT_Space : public SpaceBase<SpaceType> { - template <class T, int d, class R, int r, int rC> + template <class T, size_t d, class R, size_t r, size_t rC> void matches_signature(const Dune::GDT::Spaces::RTInterface<T, d, R, r, rC>& /*space*/) { static_assert(Dune::GDT::is_rt_space<SpaceType>::value, ""); -- GitLab