22 #ifndef OV_EVAL_STATISTICS_H
23 #define OV_EVAL_STATISTICS_H
29 #include <Eigen/Eigen>
76 std::vector<double> values_sorted =
values;
77 std::sort(values_sorted.begin(), values_sorted.end());
80 if (values_sorted.empty())
84 min = values_sorted.at(0);
85 max = values_sorted.at(values_sorted.size() - 1);
90 if (values_sorted.size() == 1) {
91 median = values_sorted.at(values_sorted.size() - 1);
92 }
else if (values_sorted.size() % 2 == 1) {
93 median = values_sorted.at(values_sorted.size() / 2);
94 }
else if (values_sorted.size() > 1) {
95 median = 0.5 * (values_sorted.at(values_sorted.size() / 2 - 1) + values_sorted.at(values_sorted.size() / 2));
102 for (
size_t i = 0; i < values_sorted.size(); i++) {
103 assert(!std::isnan(values_sorted.at(i)));
104 mean += values_sorted.at(i);
105 rmse += values_sorted.at(i) * values_sorted.at(i);
107 mean /= values_sorted.size();
108 rmse = std::sqrt(
rmse / values_sorted.size());
112 for (
size_t i = 0; i < values_sorted.size(); i++) {
113 std += std::pow(values_sorted.at(i) -
mean, 2);
115 std = std::sqrt(
std / (values_sorted.size() - 1));
133 #endif // OV_EVAL_STATISTICS_H