#include <utils.hpp>
|
| static T | mean (const std::vector< T > &data) |
| |
| static T | median (std::vector< T > data) |
| |
| static std::pair< T, size_t > | mode (const std::vector< T > &data) |
| |
template<typename T>
class chunk_utils::Statistics< T >
Definition at line 16 of file utils.hpp.
◆ mean()
Definition at line 18 of file utils.hpp.
18 {
19 if (data.empty())
20 return T();
21 return std::accumulate(data.begin(), data.end(), T()) / static_cast<T>(data.size());
22 }
◆ median()
Definition at line 24 of file utils.hpp.
24 {
25 if (data.empty())
26 return T();
27 std::sort(data.begin(), data.end());
28 if (data.size() % 2 == 0) {
29
30 size_t mid = data.size() / 2;
31 return (data[mid - 1] + data[mid]) / static_cast<T>(2);
32 } else {
33
34 return data[data.size() / 2];
35 }
36 }
◆ mode()
Definition at line 38 of file utils.hpp.
38 {
39 if (data.empty())
40 return {T(), 0};
41 std::map<T, size_t> freq;
42 for (const auto& val : data)
43 freq[val]++;
44 return *std::max_element(freq.begin(), freq.end(), [](const auto& p1, const auto& p2) {
45 return p1.second < p2.second;
46 });
47 }
Referenced by TEST_F().
The documentation for this class was generated from the following file: