22 lines
612 B
C++
22 lines
612 B
C++
#include <modern/lib.hpp>
|
|
|
|
#include <tuple>
|
|
#include <vector>
|
|
#include <algorithm>
|
|
|
|
#include <boost/accumulators/accumulators.hpp>
|
|
#include <boost/accumulators/statistics/stats.hpp>
|
|
#include <boost/accumulators/statistics/mean.hpp>
|
|
#include <boost/accumulators/statistics/moment.hpp>
|
|
|
|
namespace ba = boost::accumulators;
|
|
|
|
std::tuple<double, double> accumulate_vector(const std::vector<double>& values) {
|
|
|
|
ba::accumulator_set<double, ba::stats<ba::tag::mean, ba::tag::moment<2>>> acc;
|
|
|
|
std::for_each(std::begin(values), std::end(values), std::ref(acc));
|
|
|
|
return {ba::mean(acc), ba::moment<2>(acc)};
|
|
}
|