30 #include <boost/mpl/bool.hpp>
33 template<
typename Data_T, std::
size_t k, std::
size_t n, std::
size_t N, std::
size_t m >
43 template<
typename IterEnd,
typename Data_T, std::
size_t k, std::
size_t i, std::
size_t N >
55 static inline Data_T
evaluate( Data_T
const*& tens, Data_T
const* grad, Data_T w )
65 template<
typename Data_T, std::
size_t k, std::
size_t i, std::
size_t N >
73 static inline Data_T
evaluate( Data_T
const*&, Data_T
const*, Data_T )
82 template<
typename Data_T, std::
size_t k, std::
size_t n, std::
size_t N, std::
size_t m >
94 static inline Data_T
evaluate( Data_T
const*& tens, Data_T
const* grad, Data_T w )
104 template<
typename Data_T, std::
size_t n, std::
size_t N, std::
size_t m >
115 static inline Data_T
evaluate( Data_T
const*& tens, Data_T
const*, Data_T w )
117 return w * *( tens++ );
static Data_T evaluate(Data_T const *&, Data_T const *, Data_T)
Does nothing.
Multiplies gradient components and divides by multiplicities.
static Data_T evaluate(Data_T const *&tens, Data_T const *grad, Data_T w)
Multiply gradient components and divide by multiplicities.
static Data_T evaluate(Data_T const *&tens, Data_T const *, Data_T w)
Multiply the accumulated weight by the tensor component.
Recursive evaluation of a spherical function for a gradient.
static Data_T evaluate(Data_T const *&tens, Data_T const *grad, Data_T w)
Multiply gradient components and divide by multiplicities.