1 #ifndef CARMA_UTIL_SIMPLESTATISTICSACCUMULATORS_H
2 #define CARMA_UTIL_SIMPLESTATISTICSACCUMULATORS_H
4 #include <boost/accumulators/numeric/functional/complex.hpp>
5 #include <boost/accumulators/accumulators.hpp>
6 #include <boost/accumulators/statistics/count.hpp>
7 #include <boost/accumulators/statistics/max.hpp>
8 #include <boost/accumulators/statistics/mean.hpp>
9 #include <boost/accumulators/statistics/min.hpp>
10 #include <boost/accumulators/statistics/rolling_count.hpp>
11 #include <boost/accumulators/statistics/rolling_sum.hpp>
12 #include <boost/accumulators/statistics/rolling_mean.hpp>
13 #include <boost/accumulators/statistics/stats.hpp>
14 #include <boost/accumulators/statistics/error_of.hpp>
15 #include <boost/accumulators/statistics/error_of_mean.hpp>
25 typedef boost::accumulators::stats<
26 boost::accumulators::tag::count,
27 boost::accumulators::tag::max,
28 boost::accumulators::tag::min,
29 boost::accumulators::tag::mean,
30 boost::accumulators::tag::error_of<
31 boost::accumulators::tag::mean> > SimpleStats;
33 typedef boost::accumulators::stats<
34 boost::accumulators::tag::rolling_count,
35 boost::accumulators::tag::rolling_sum,
36 boost::accumulators::tag::rolling_mean > RollingStats;
39 boost::accumulators::accumulator_set< double, SimpleStats >
40 DoubleStatAccumulator;
43 boost::accumulators::accumulator_set< double, RollingStats >
44 DoubleRollingStatAccumulator;
47 boost::accumulators::accumulator_set< float, SimpleStats >
51 boost::accumulators::accumulator_set< float, RollingStats >
52 FloatRollingStatAccumulator;
55 boost::accumulators::accumulator_set< short, SimpleStats >
59 boost::accumulators::accumulator_set< short, RollingStats >
60 ShortRollingStatAccumulator;
63 boost::accumulators::accumulator_set< int, SimpleStats >
67 boost::accumulators::accumulator_set< int, RollingStats >
68 IntRollingStatAccumulator;
71 boost::accumulators::accumulator_set< long, SimpleStats >
75 boost::accumulators::accumulator_set< long, RollingStats >
76 LongRollingStatAccumulator;
79 boost::accumulators::accumulator_set< unsigned short, SimpleStats >
80 UnsignedShortStatAccumulator;
83 boost::accumulators::accumulator_set< unsigned short, RollingStats >
84 UnsignedShortRollingStatAccumulator;
87 boost::accumulators::accumulator_set< unsigned int, SimpleStats >
88 UnsignedIntStatAccumulator;
91 boost::accumulators::accumulator_set< unsigned int, RollingStats >
92 UnsignedIntRollingStatAccumulator;
95 boost::accumulators::accumulator_set< unsigned long, SimpleStats >
96 UnsignedLongStatAccumulator;
99 boost::accumulators::accumulator_set< unsigned long, RollingStats >
100 UnsignedLongRollingStatAccumulator;
103 boost::accumulators::accumulator_set< std::complex<double>, SimpleStats >
104 ComplexDoubleStatAccumulator;
107 boost::accumulators::accumulator_set< std::complex< double >, RollingStats >
108 ComplexDoubleRollingStatAccumulator;
111 boost::accumulators::accumulator_set< std::complex<float>, SimpleStats >
112 ComplexFloatStatAccumulator;
115 boost::accumulators::accumulator_set< std::complex< float >, RollingStats >
116 ComplexFloatRollingStatAccumulator;