5#ifndef ROOT_RBinWithError
6#define ROOT_RBinWithError
25 explicit operator float()
const {
return fSum; }
59 fSum2 *= factor * factor;
73 while (std::signbit(origSum2)) {
78 double negated = std::copysign(origSum2, -1.0);
87 double sum2 = origSum2 + a2;
void AtomicLoad(const T *ptr, T *ret)
void AtomicStoreRelease(T *ptr, T *val)
bool AtomicCompareExchangeAcquire(T *ptr, T *expected, T *desired)
Namespace for ROOT features in testing.
A special bin content type to compute the bin error in weighted filling.
RBinWithError & operator+=(double w)
RBinWithError operator++(int)
RBinWithError & operator+=(const RBinWithError &rhs)
RBinWithError & operator++()
RBinWithError & operator*=(double factor)
void AtomicAdd(double a, double a2)
void AtomicAdd(const RBinWithError &rhs)
Add another bin content using atomic instructions.