mirror of
https://github.com/ETLCPP/etl.git
synced 2026-04-30 19:09:10 +08:00
2.2 KiB
2.2 KiB
| title |
|---|
| standard_deviation |
{{< callout type="info">}}
Header: standard_deviation.h
Since: 20.9.0
{{< /callout >}}
template <bool Standard_Deviation_Type, typename TInput, typename TCalc = TInput>
class standard_deviation : public etl::unary_function<TInput, void>
Standard_Deviation_Type Population or Sample.
TInput The input data type.
TCalc The type to use for internal calculations. By default, equal to TInput.
Enumeration
standard_deviation_type
etl::standard_deviation_type::Sample
etl::standard_deviation_type::Population
standard_deviation()
Description
Default constructor.
template <typename TIterator>
standard_deviation(TIterator first, TIterator last)
Description
Construct from an iterator range.
void add(TInput value1)
Description
Add a value.
template <typename TIterator>
void add(TIterator first, TIterator last)
Description
Add a range of values.
void operator()(TInput value)
Description
Add a values.
template <typename TIterator>
void operator()(TIterator first, TIterator last)
Description
Add a range of values.
double get_standard_deviation() const
Return
The calculated standard deviation for the data.
double get_variance() const
Return
The calculated variance for the data.
operator double() const
Return
The calculated standard deviation for the data.
size_t count() const
Description
Get the total number added entries.
void clear()
Description
Clear the standard deviation.
Example
std::array<char, 10> input
{
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
};
etl::standard_deviation<etl::standard_deviation_type::Population, char, int32_t>
standard_deviation(input.begin(), input.end());
double standard_deviation_result;
double variance_result;
standard_deviation_result = standard_deviation; // standard_deviation_result == 2.87
variance_result = standard_deviation.get_variance(); // variance_result == 8.25