21 template <
typename Derived>
22 KOKKOS_FUNCTION
void reduce(
Datum & datum, Real * result)
const;
24 template <
typename Derived>
25 KOKKOS_FUNCTION
void join(Real * result,
const Real * source)
const;
26 template <
typename Derived>
27 KOKKOS_FUNCTION
void init(Real * result)
const;
42template <
typename Derived>
47 auto [value, volume] =
static_cast<const Derived *
>(
this)->computeValue(datum);
49 if (result[0] < value)
52 if (result[1] > value)
55 result[2] += value * volume;
62template <
typename Derived>
66 result[0] = Kokkos::max(result[0], source[0]);
67 result[1] = Kokkos::min(result[1], source[1]);
68 result[2] += source[2];
69 result[3] += source[3];
70 result[4] += source[4];
73template <
typename Derived>
77 result[0] = Kokkos::Experimental::finite_min_v<Real>;
78 result[1] = Kokkos::Experimental::finite_max_v<Real>;
KOKKOS_FUNCTION void init(Real *result) const
virtual void finalize() override
Finalize.
KokkosElementStatistics(const InputParameters ¶meters)
unsigned int & _number_elements
KOKKOS_FUNCTION void reduce(Datum &datum, Real *result) const
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
const std::string _base_name
KOKKOS_FUNCTION void join(Real *result, const Real *source) const
static InputParameters validParams()
const InputParameters & parameters() const
Get the parameters of the object.
The Kokkos object that holds thread-private data in the parallel operations of any Kokkos object.