55 std::array<real, Ntype_All> timer = {0};
56 std::array<real, Ntype_All> tStart;
116 real newAverage = average + (
v - average) /
real(count);
117 sigmaS += ((
v - newAverage) * (
v - average) - sigmaS) /
real(count);
118 average = newAverage;
123 [[nodiscard]] std::tuple<real, real>
get()
125 return std::make_tuple(average, std::sqrt(std::max(0., sigmaS)));
131 return average *
real(count);
Core type aliases, constants, and metaprogramming utilities for the DNDS framework.
MPI wrappers: MPIInfo, collective operations, type mapping, CommStrategy.
Running-statistics accumulator using Welford's online algorithm.
std::tuple< real, real > get()
(mean, stddev) pair for the samples so far.
void clear()
Reset counts and moments to zero.
ScalarStatistics & update(real v)
Incorporate a new sample v.
real getSum() const
Total sum of the samples (reconstructed from the running mean).
the host side operators are provided as implemented
int64_t index
Global row / DOF index type (signed 64-bit; handles multi-billion-cell meshes).
double real
Canonical floating-point scalar used throughout DNDSR (double precision).
PerformanceTimer & Timer()
Short-hand accessor to the PerformanceTimer singleton.
Lightweight bundle of an MPI communicator and the calling rank's coordinates.
Eigen::Matrix< real, 5, 1 > v