...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::weighted_skewness_impl — Skewness estimation for weighted samples.

// In header: <boost/accumulators/statistics/weighted_skewness.hpp> template<typename Sample, typename Weight> struct weighted_skewness_impl : public accumulator_base { // types typedef numeric::functional::multiplies< Sample, Weight >::result_type weighted_sample; typedef numeric::functional::fdiv< weighted_sample, weighted_sample >::result_type result_type; // construct/copy/destruct weighted_skewness_impl(dont_care); // public member functions template<typename Args> result_type result(Args const &) const; };

The skewness of a sample distribution is defined as the ratio of the 3rd central moment and the -th power $ of the 2nd central moment (the variance) of the samples. The skewness can also be expressed by the simple moments:

where are the -th moment and the mean (first moment) of the samples.

The skewness estimator for weighted samples is formally identical to the estimator for unweighted samples, except that the weighted counterparts of all measures it depends on are to be taken.