...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::accumulators::impl::sum_kahan_impl
// In header: <boost/accumulators/statistics/sum_kahan.hpp> template<typename Sample, typename Tag> struct sum_kahan_impl : public accumulator_base { // types typedef Sample result_type; // public member functions template<typename Args> sum_kahan_impl(Args const &); template<typename Args> void operator()(Args const &); result_type result(dont_care) const; template<typename Archive> void serialize(Archive &, const unsigned int); };
sum_kahan_impl
public member functionstemplate<typename Args> sum_kahan_impl(Args const & args);Kahan summation algorithm.
The Kahan summation algorithm reduces the numerical error obtained with standard sequential sum.
template<typename Args> void operator()(Args const & args);
result_type result(dont_care) const;
template<typename Archive> void serialize(Archive & ar, const unsigned int file_version);