mirror of
https://github.com/ETLCPP/etl.git
synced 2026-06-15 16:36:03 +08:00
2.1 KiB
2.1 KiB
| title |
|---|
| Covariance |
{{< callout type="info">}}
Header: covariance.h
Since: 20.9.0
{{< /callout >}}
template <bool Covariance_Type, typename TInput, typename TCalc = TInput>
class covariance : public etl::binary_function<TInput, TInput, void>
Covariance_Type Population or Sample.
TInput The input data type.
TCalc The type to use for internal calculations. By default, equal to TInput.
covariance_type
etl::covariance_type::Sample
etl::covariance_type::Population
Constructor
covariance()
Default constructor.
template <typename TIterator>
covariance(TIterator first1, TIterator last1, TIterator first2)
Description
Construct from two iterator ranges.
Member functions
void add(TInput value1, TInput value2)
Description
Add a pair of values.
template <typename TIterator>
void add(TIterator first1, TIterator last1, TIterator first2)
Description
Add a range of values.
void operator()(TInput value1, TInput value2)
Description
Add a pair of values.
template <typename TIterator>
void operator()(TIterator first1, TIterator last1, TIterator first2)
Description
Add a range of values.
double get_covariance() const
Return
The calculated covariance for the data.
operator double() const
Return
The calculated covariance for the data.
size_t count() const
Description
Get the total number added entries.
void clear()
Description
Clear the covariance.
Example
std::array<char, 10> input_c
{
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
};
std::array<char, 10> input_c_inv
{
0, -1, -2, -3, -4, -5, -6, -7, -8, -9
};
etl::covariance<etl::covariance_type::Population, char, int32_t> covariance(input_c.begin(),
input_c.end(),
input_c_inv.begin());
double covariance_result;
covariance_result = covariance; // covariance_result == -8.25