11 #ifndef REDUCTION_LOC_H
12 #define REDUCTION_LOC_H
18 template<
unsigned D>
class NDIndex;
26 template<
class T,
class CompOp,
class AccOp,
unsigned D>
27 typename T::PETE_Return_t
35 template <
unsigned int D>
45 template <
class T,
class C,
unsigned int D>
52 for (
unsigned d=0; d<D; d++) (*(find_loc.
Loc))[d] =
Index(loc[d],loc[d]);
56 template <
class T,
class C,
unsigned int D>
62 for (
unsigned d=0; d<D; d++) (*(find_loc.
Loc))[d] =
Index(loc[d],loc[d]);
78 template<
class T,
unsigned D>
80 typedef typename T::PETE_Expr_t::PETE_Return_t type_t;
87 template<
class T,
unsigned D>
88 inline typename MMMin<T,D>::type_t
90 return MMMin<T,D>::apply(expr, loc);
93 template<
class T,
unsigned D>
94 inline typename T::PETE_Expr_t::PETE_Return_t
106 template<
class T,
unsigned D>
108 typedef typename T::PETE_Expr_t::PETE_Return_t type_t;
115 template<
class T,
unsigned D>
116 inline typename MMMax<T,D>::type_t
118 return MMMax<T,D>::apply(expr, loc);
121 template<
class T,
unsigned D>
122 inline typename T::PETE_Expr_t::PETE_Return_t
134 #endif // REDUCTION_LOC_H
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
T::PETE_Expr_t::PETE_Return_t max(const PETE_Expr< T > &expr, NDIndex< D > &loc)
WrappedExpr & PETE_unwrap()
FindLocation(NDIndex< D > &loc)
bool for_each(const BareFieldIterator< T, D > &p, SameFieldID s, C)
T::PETE_Expr_t::PETE_Return_t min(const PETE_Expr< T > &expr, NDIndex< D > &loc)