30 #ifndef _GranOO_LibMath_Stat_hpp_
31 #define _GranOO_LibMath_Stat_hpp_
50 template<
typename T>
static void All(
const T&,
double & ave,
double & std,
double &
min,
double &
max);
51 template<
typename T>
static void AverageStdDev(
const T&,
double & ave,
double & std);
52 template<
typename T>
static double Average(
const T&);
53 template<
typename T>
static double StdDev(
const T&);
54 template<
typename T>
static double Max(
const T&);
55 template<
typename T>
static double Min(
const T&);
56 template<
typename T>
static double Sum(
const T&);
65 GRANOO_ACCESS(average,
double,
_ave);
66 GRANOO_ACCESS(std,
double,
_std);
67 GRANOO_ACCESS(
min,
double,
_min);
68 GRANOO_ACCESS(
max,
double,
_max);
88 Stat::All(
const T& container,
double & ave,
double & std,
double &
min,
double &
max) {
94 typename T::const_iterator it;
95 for (it = container.begin(); it != container.end(); ++it) {
96 std +=
pow(*it - ave, 2);
102 std = sqrt(std/
double(container.size()));
109 typename T::const_iterator it;
110 for (it = container.begin(); it != container.end(); ++it)
112 val /= double(container.size());
119 const double average =
Average(container);
121 typename T::const_iterator it;
122 for (it = container.begin(); it != container.end(); ++it)
123 val +=
pow(*it - average, 2);
124 val = sqrt(val/
double(container.size()));
133 typename T::const_iterator it;
134 for (it = container.begin(); it != container.end(); ++it)
135 stdDev +=
pow(*it - average, 2);
136 stdDev = sqrt(stdDev/
double(container.size()));
143 typename T::const_iterator it;
144 for (it = container.begin(); it != container.end(); ++it) {
155 typename T::const_iterator it;
156 for (it = container.begin(); it != container.end(); ++it) {
167 typename T::const_iterator it;
168 for (it = container.begin(); it != container.end(); ++it)
void update()
Definition: Stat.cpp:50
void clear()
Definition: Stat.cpp:65
void add(double)
Definition: Stat.cpp:60
~Stat()
Definition: Stat.cpp:46
static double StdDev(const T &)
Definition: Stat.hpp:118
static void AverageStdDev(const T &, double &ave, double &std)
Definition: Stat.hpp:130
Stat & operator=(const Stat &)
Definition: Stat.cpp:71
double _min
Definition: Stat.hpp:79
double _ave
Definition: Stat.hpp:77
Stat()
Definition: Stat.cpp:38
static double Sum(const T &)
Definition: Stat.hpp:165
double _max
Definition: Stat.hpp:80
std::vector< double > _value
Definition: Stat.hpp:76
static double Min(const T &)
Definition: Stat.hpp:153
double _std
Definition: Stat.hpp:78
static double Average(const T &)
Definition: Stat.hpp:107
static double Max(const T &)
Definition: Stat.hpp:141
static void All(const T &, double &ave, double &std, double &min, double &max)
Definition: Stat.hpp:88
size_t Size() const
Definition: Stat.cpp:55
std::ostream & operator<<(std::ostream &os, const Stat &v)
Definition: Stat.cpp:79
Definition: Common.hpp:198
T pow(const T v0, const T v1)
Definition: Exprtk.hpp:1491
T min(const T v0, const T v1)
Definition: Exprtk.hpp:1456
T max(const T v0, const T v1)
Definition: Exprtk.hpp:1463
T value(details::expression_node< T > *n)
Definition: Exprtk.hpp:15070