9#include <kernel/cubature/driver_base.hpp> 
   10#include <kernel/util/meta_math.hpp> 
   19      template<
typename Shape_>
 
   20      class BarycentreDriverBase :
 
   21        public DriverBase<Shape_>
 
   25        static constexpr bool variadic = 
false;
 
   27        static constexpr int num_points = 1;
 
   41        template<
typename Functor_>
 
   42        static void alias(Functor_& functor)
 
   44          functor.alias(
"midpoint");
 
   61    template<
typename Shape_>
 
   67      public Intern::BarycentreDriverBase<Shape::Simplex<dim_> >
 
   85        for(
int i(0); i < dim_; ++i)
 
   87          rule.get_coord(0, i) = Coord_(1) / Coord_(dim_ + 1);
 
   95      public Intern::BarycentreDriverBase<Shape::Hypercube<dim_> >
 
  110        rule.get_weight(0) = Weight_(1 << dim_);
 
  113        for(
int i(0); i < dim_; ++i)
 
  115          rule.get_coord(0, i) = Coord_(0);
 
static void fill(Rule< Shape::Hypercube< dim_ >, Weight_, Coord_, Point_ > &rule)
Fills the cubature rule structure.
static void fill(Rule< Shape::Simplex< dim_ >, Weight_, Coord_, Point_ > &rule)
Fills the cubature rule structure.
Barycentre Rule driver class template.
Cubature Rule class template.
Hypercube shape tag struct template.
Simplex shape tag struct template.