FreePOOMA  2.4.1
Static Public Member Functions
ReductionEvaluator< InlineKernelTag > Struct Template Reference

The point of this class is to input an expression with the 'evaluate' member function and reduce it by looping over the whole domain. More...

#include <ReductionEvaluator.h>

List of all members.

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 >)

Detailed Description

template<>
struct ReductionEvaluator< InlineKernelTag >

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.


Member Function Documentation

template<class T , class Op , class Expr >
static POOMA_ATTRIBUTE_LEAFIFY void ReductionEvaluator< InlineKernelTag >::evaluate ( T &  ret,
const Op &  op,
const Expr &  e 
) [inline, static]
template<class T , class Op , class Expr , class Domain >
static void ReductionEvaluator< InlineKernelTag >::evaluate ( T &  ret,
const Op &  op,
const Expr &  e,
const Domain domain,
WrappedInt< 1 >   
) [inline, static]
template<class T , class Op , class Expr , class Domain >
static void ReductionEvaluator< InlineKernelTag >::evaluate ( T &  ret,
const Op &  op,
const Expr &  e,
const Domain domain,
WrappedInt< 2 >   
) [inline, static]
template<class T , class Op , class Expr , class Domain >
static void ReductionEvaluator< InlineKernelTag >::evaluate ( T &  ret,
const Op &  op,
const Expr &  e,
const Domain domain,
WrappedInt< 3 >   
) [inline, static]
template<class T , class Op , class Expr , class Domain >
static void ReductionEvaluator< InlineKernelTag >::evaluate ( T &  ret,
const Op &  op,
const Expr &  e,
const Domain domain,
WrappedInt< 4 >   
) [inline, static]
template<class T , class Op , class Expr , class Domain >
static void ReductionEvaluator< InlineKernelTag >::evaluate ( T &  ret,
const Op &  op,
const Expr &  e,
const Domain domain,
WrappedInt< 5 >   
) [inline, static]
template<class T , class Op , class Expr , class Domain >
static void ReductionEvaluator< InlineKernelTag >::evaluate ( T &  ret,
const Op &  op,
const Expr &  e,
const Domain domain,
WrappedInt< 6 >   
) [inline, static]
template<class T , class Op , class Expr , class Domain >
static void ReductionEvaluator< InlineKernelTag >::evaluate ( T &  ret,
const Op &  op,
const Expr &  e,
const Domain domain,
WrappedInt< 7 >   
) [inline, static]

The documentation for this struct was generated from the following file: