50 assert(data.size() >= 1 &&
"TestResult> cannot calculate stats for empty vector.");
55 std::sort(temp.begin(), temp.end());
58 stats.m_total = std::accumulate(temp.cbegin(), temp.cend(), T());
59 stats.m_min = temp.front();
60 stats.m_max = temp.back();
63 const std::size_t size = temp.size();
64 const std::size_t sizeHalf = size / 2;
66 const std::size_t quartile = sizeHalf / 2;
67 if ((size % 2) == 0) {
68 stats.m_median = (temp[sizeHalf - 1] + temp[sizeHalf]) / 2;
69 stats.m_quartile1 = temp[quartile];
70 stats.m_quartile3 = temp[sizeHalf + quartile];
72 stats.m_median = temp[sizeHalf];
73 stats.m_quartile1 = (temp[quartile - 1] + temp[quartile]) / 2;
74 stats.m_quartile3 = (temp[sizeHalf + (quartile - 1)] + temp[sizeHalf + quartile]) / 2;
76 }
else if (size > 0) {
77 stats.m_median = temp[sizeHalf];
78 stats.m_quartile1 = temp.front();
79 stats.m_quartile3 = temp.back();
BoxPlotData calculates total, minimum, maximum, median, lower and upper quartile of the values in the...
static BoxPlotData Calculate(const std::vector< T > &data)
Namespace for the simulator and related classes.