Ticket #7150: TestVar.cpp

File TestVar.cpp, 1.0 KB (added by colmearley@…, 10 years ago)

Test program for variance

Line 
1#include <iostream>
2#include <stdlib.h>
3#include <boost/accumulators/accumulators.hpp>
4#include <boost/accumulators/statistics/stats.hpp>
5#include <boost/accumulators/statistics/mean.hpp>
6#include <boost/accumulators/statistics/variance.hpp>
7
8using namespace boost::accumulators;
9
10typedef accumulator_set<double, stats<tag::variance> > Var;
11typedef accumulator_set<double, stats<tag::variance, tag::mean> > VarMean;
12
13Var accumulate_Var(double *v, int n) {
14 Var acc;
15 for(unsigned int i=0; i<n; i++) {
16 acc(v[i]);
17 }
18 return acc;
19}
20
21VarMean accumulate_VarMean(double *v, int n) {
22 VarMean acc;
23 for(unsigned int i=0; i<n; i++) {
24 acc(v[i]);
25 }
26 return acc;
27}
28
29int main(int argc, char *argv[]) {
30 int n=argc-1;
31 double x[n];
32 for (int i=1; i<=n; i++) {
33 x[i-1] = atoi(argv[i]);
34 }
35
36 std::cout << " var: " << variance(accumulate_Var(x, n)) << std::endl;
37 std::cout << "VarMean: " << variance(accumulate_VarMean(x, n)) << std::endl;
38
39 return 0;
40}