IBJK5HBMWKXUMHT7E2W5OVCA7SJYFRAHMJFP5K5CHWDQXBLEBC2QC NUOLOGCKMF5UOBGBYEOX4O7NQ5AEVVLCH6KRBQRJQXIRDNJ2C2ZQC OXDROTMRIJ42WSAJSZAZSDM2LDRDIBQH62VUGNAIID5BMWN3VETQC VAF66DTVLDWNG7N2PEQYEH4OH5SPSMFBXKPR2PU67IIM6CVPCJ7AC KG47IF4CPCUT3BHS34WDRHTH5HYMBTY4OSTB3X7APR2E5ZJ32IYQC FEMASUBNU32NSG4DNXZX54CGCA57PVRGYO46L3A6F2EJ4BCSJ3SAC I4P6OKQG6OD3JX2KV23QLKMG7DSNYMTYUZCIOKNPTHOFHOFLMSNAC reduction();reduction(const vect<T, D> &p, const T &V, const T &x);reduction(const reduction &x, const reduction &y);reduction operator+(const reduction &y) const { return reduction(*this, y); }reduction &operator+=(const reduction &y) { return *this = *this + y; }
T avg() const { return sum / vol; }T sdv() const { return sqrt(fmax1(T(0), vol * sum2 - pow21(sum))); }T norm0() const { return vol; }T norm1() const { return sumabs / vol; }T norm2() const { return sqrt(sum2abs / vol); }T norm_inf() const { return maxabs; }
constexpr reduction();constexpr reduction(const vect<T, D> &p, const T &V, const T &x);constexpr reduction(const reduction &x, const reduction &y);constexpr reduction operator+(const reduction &y) const {return reduction(*this, y);}constexpr reduction &operator+=(const reduction &y) noexcept {return *this = *this + y;}
constexpr T avg() const noexcept { return sum / vol; }constexpr T sdv() const noexcept {return sqrt(fmax1(T(0), vol * sum2 - pow21(sum)));}constexpr T norm0() const noexcept { return vol; }constexpr T norm1() const noexcept { return sumabs / vol; }constexpr T norm2() const noexcept { return sqrt(sum2abs / vol); }constexpr T norm_inf() const noexcept { return maxabs; }