1 #ifndef _theplu_yat_statistics_averager_
2 #define _theplu_yat_statistics_averager_
28 #include "averager_base.h"
30 #include "yat/utility/iterator_traits.h"
32 #include <boost/concept_check.hpp>
75 template<
class Derived>
80 void add_impl(
double,
long int);
81 void rescale_impl(
double);
90 template <
typename InputIterator>
91 void add(
Averager& a, InputIterator first, InputIterator last)
93 BOOST_CONCEPT_ASSERT((boost::InputIterator<InputIterator>));
95 for ( ; first != last; ++first)
100 template<
class Derived>
Class to calculate simple (first and second moments) averages.
Definition: Averager.h:45
const Averager & operator=(const Averager &)
The assignment operator.
Base class for averager classes.
Definition: averager_base.h:69
void add2(double mean, double cm2, long int n)
void add(Averager &a, InputIterator first, InputIterator last)
adding a range of values to Averager a
Definition: Averager.h:91
const Averager & operator+=(const averager_base2< Derived > &other)
plus assignment operator
Definition: Averager.h:101
long n(void) const
number of data points
Definition: averager_base.h:105
Base class for averagers calculating mean and variance.
Definition: averager_base.h:170
void check_iterator_is_unweighted(Iter iter)
check (at compile time) that iterator is unweighted.
Definition: iterator_traits.h:194
double mean(void) const
mean
Definition: averager_base.h:97
double sum_xx_centered(void) const
Definition: averager_base.h:225