31#ifndef ETL_COVARIANCE_INCLUDED
32#define ETL_COVARIANCE_INCLUDED
42 namespace private_covariance
47 template <
typename TInput,
typename TCalc>
56 template <
typename TCalc>
65 template <
typename TCalc>
75 namespace private_covariance
77 template<
typename T =
void>
80 static ETL_CONSTANT
bool Sample =
false;
81 static ETL_CONSTANT
bool Population =
true;
98 template <
bool Covariance_Type,
typename TInput,
typename TCalc = TInput>
105 static ETL_CONSTANT
int Adjustment = (
Covariance_Type == covariance_type::Population) ? 0 : 1;
122 template <
typename TIterator>
134 inner_product +=
TCalc(value1 * value2);
135 sum1 +=
TCalc(value1);
136 sum2 +=
TCalc(value2);
144 template <
typename TIterator>
168 template <
typename TIterator>
181 covariance_value = 0.0;
188 covariance_value = ((
n * inner_product) - (sum1 * sum2)) *
adjustment;
194 return covariance_value;
218 inner_product =
calc_t(0);
222 covariance_value = 0.0;
228 calc_t inner_product;
232 mutable double covariance_value;
233 mutable bool recalculate;
236 template <
bool Covariance_Type,
typename TInput,
typename TCalc>
237 ETL_CONSTANT
int covariance<Covariance_Type, TInput, TCalc>::Adjustment;
Covariance.
Definition covariance.h:102
void clear()
Clear the covariance.
Definition covariance.h:216
double get_covariance() const
Get the covariance.
Definition covariance.h:177
size_t count() const
Get the total number added entries.
Definition covariance.h:208
covariance()
Constructor.
Definition covariance.h:114
covariance(TIterator first1, TIterator last1, TIterator first2)
Constructor.
Definition covariance.h:123
void add(TIterator first1, TIterator last1, TIterator first2)
Add a range.
Definition covariance.h:145
void operator()(TInput value1, TInput value2)
Definition covariance.h:159
void add(TInput value1, TInput value2)
Add a pair of values.
Definition covariance.h:132
bitset_ext
Definition absolute.h:38
Definition functional.h:126
Definition covariance.h:92
pair holds two objects of arbitrary type
Definition utility.h:164
Types for generic covariance.
Definition covariance.h:49
Definition covariance.h:79