11#ifndef REDUCTION_LOC_H
12#define REDUCTION_LOC_H
18template<
unsigned D>
class NDIndex;
26template<
class T,
class CompOp,
class AccOp,
unsigned D>
27typename T::PETE_Return_t
35template <
unsigned int D>
45template <
class T,
class C,
unsigned int D>
52 for (
unsigned d=0; d<D; d++) (*(find_loc.
Loc))[d] =
Index(loc[d],loc[d]);
56template <
class T,
class C,
unsigned int D>
62 for (
unsigned d=0; d<D; d++) (*(find_loc.
Loc))[d] =
Index(loc[d],loc[d]);
74template<
class T,
unsigned D>
75inline typename T::PETE_Expr_t::PETE_Return_t
82template<
class T,
unsigned D>
83inline typename T::PETE_Expr_t::PETE_Return_t
T::PETE_Expr_t::PETE_Return_t max(const PETE_Expr< T > &expr, NDIndex< D > &loc)
T::PETE_Expr_t::PETE_Return_t min(const PETE_Expr< T > &expr, NDIndex< D > &loc)
int for_each(const IndexedBareFieldIterator< T, D > &expr, FindLocation< D > &find_loc, C)
T::PETE_Return_t Reduction(const PETE_Expr< T > &const_expr, CompOp comp_op, AccOp acc_op, NDIndex< D > &loc)
void GetCurrentLocation(FieldLoc< Dim > &loc) const
FindLocation(NDIndex< D > &loc)
WrappedExpr & PETE_unwrap()