20 template<
typename T,
typename tRes>
25 Op_(
double InitVal, T aOp):
26 mInitVal(InitVal), maOp(aOp)
38 void fkOpSum(KahanSum& rAccum,
double fVal);
48 void operator()(KahanSum& rAccum,
double fVal)
const;
54 void operator()(KahanSum& rAccum,
double fVal)
const;
60 void operator()(
double& rAccum,
double fVal)
const;
static const double InitVal
std::vector< kOp > kOpSumAndSumSquare
void operator()(tRes &rAccum, double fVal) const
void fkOpSum(KahanSum &rAccum, double fVal)
kOp kOpSumSquare(0.0, fkOpSumSquare)
static const double InitVal
This class provides LO with Kahan summation algorithm About this algorithm: https://en.wikipedia.org/wiki/Kahan_summation_algorithm For general purpose software we assume first order error is enough.
void operator()(double &rAccum, double fVal) const
void operator()(KahanSum &rAccum, double fVal) const
void fkOpSumSquare(KahanSum &rAccum, double fVal)
void operator()(KahanSum &rAccum, double fVal) const
static const double InitVal
Op_(double InitVal, T aOp)