#include "gtest/gtest.h" #include #include #include "boost/array.hpp" #include "boost/accumulators/accumulators.hpp" #include "boost/accumulators/statistics.hpp" #include "boost/accumulators/statistics/p_square_quantile.hpp" #include "boost/accumulators/statistics/extended_p_square.hpp" using namespace boost::accumulators; TEST(Accumulator, ExtendedPSquare) { std::array probs; probs[2] = 0.5; probs[1] = 0.9; probs[0] = 0.95; typedef accumulator_set > accumulator_t; accumulator_t acc(tag::extended_p_square::probabilities = probs); for ( size_t i=0; i<=100; ++i ) { acc(1.0*i); } double q0 = extended_p_square(acc)[0]; double q1 = extended_p_square(acc)[1]; double q2 = extended_p_square(acc)[2]; std::cout << q0 << " " << q1 << " " << q2 << std::endl; EXPECT_DOUBLE_EQ(50.0, q0); EXPECT_DOUBLE_EQ(90.0, q1); EXPECT_DOUBLE_EQ(95.0, q2); }