The point of this class is to input an expression with the 'evaluate' member function and reduce it by looping over the whole domain.
|
Static Public Member Functions |
template<class T , class Op , class Expr > |
static POOMA_ATTRIBUTE_LEAFIFY void | evaluate (T &ret, const Op &op, const Expr &e) |
template<class T , class Op , class Expr , class Domain > |
static void | evaluate (T &ret, const Op &op, const Expr &e, const Domain &domain, WrappedInt< 1 >) |
template<class T , class Op , class Expr , class Domain > |
static void | evaluate (T &ret, const Op &op, const Expr &e, const Domain &domain, WrappedInt< 2 >) |
template<class T , class Op , class Expr , class Domain > |
static void | evaluate (T &ret, const Op &op, const Expr &e, const Domain &domain, WrappedInt< 3 >) |
template<class T , class Op , class Expr , class Domain > |
static void | evaluate (T &ret, const Op &op, const Expr &e, const Domain &domain, WrappedInt< 4 >) |
template<class T , class Op , class Expr , class Domain > |
static void | evaluate (T &ret, const Op &op, const Expr &e, const Domain &domain, WrappedInt< 5 >) |
template<class T , class Op , class Expr , class Domain > |
static void | evaluate (T &ret, const Op &op, const Expr &e, const Domain &domain, WrappedInt< 6 >) |
template<class T , class Op , class Expr , class Domain > |
static void | evaluate (T &ret, const Op &op, const Expr &e, const Domain &domain, WrappedInt< 7 >) |
The point of this class is to input an expression with the 'evaluate' member function and reduce it by looping over the whole domain.
This is the simplest possible reduction. It makes the simplifying assumption that expression passed in can handle random access to all of its elements efficiently.