diff options
Diffstat (limited to 'stats')
-rw-r--r-- | stats/boxseries.cpp | 4 | ||||
-rw-r--r-- | stats/statsvariables.cpp | 14 | ||||
-rw-r--r-- | stats/statsvariables.h | 1 |
3 files changed, 10 insertions, 9 deletions
diff --git a/stats/boxseries.cpp b/stats/boxseries.cpp index b5e4422ea..805e8cc8e 100644 --- a/stats/boxseries.cpp +++ b/stats/boxseries.cpp @@ -119,11 +119,11 @@ std::vector<QString> BoxSeries::formatInformation(const Item &item) const { QLocale loc; return { - item.binName, + StatsTranslations::tr("%1 (%2 dives)").arg(item.binName, loc.toString(item.q.count)), QStringLiteral("%1:").arg(variable), infoItem(StatsTranslations::tr("min"), unit, decimals, item.q.min), infoItem(StatsTranslations::tr("Q1"), unit, decimals, item.q.q1), - infoItem(StatsTranslations::tr("mean"), unit, decimals, item.q.q2), + infoItem(StatsTranslations::tr("median"), unit, decimals, item.q.q2), infoItem(StatsTranslations::tr("Q3"), unit, decimals, item.q.q3), infoItem(StatsTranslations::tr("max"), unit, decimals, item.q.max) }; diff --git a/stats/statsvariables.cpp b/stats/statsvariables.cpp index f9d75854b..628a63793 100644 --- a/stats/statsvariables.cpp +++ b/stats/statsvariables.cpp @@ -92,7 +92,7 @@ template<> QString invalid_value<QString>() template<> StatsQuartiles invalid_value<StatsQuartiles>() { double NaN = std::numeric_limits<double>::quiet_NaN(); - return { NaN, NaN, NaN, NaN, NaN }; + return { NaN, NaN, NaN, NaN, NaN, 0 }; } static bool is_invalid_value(int i) @@ -411,20 +411,20 @@ StatsQuartiles StatsVariable::quartiles(const std::vector<dive *> &dives) const // This expects the value vector to be sorted! StatsQuartiles StatsVariable::quartiles(const std::vector<StatsValue> &vec) { - size_t s = vec.size(); - if (s == 0) + int s = (int)vec.size(); + if (s <= 0) return invalid_value<StatsQuartiles>(); switch (s % 4) { default: // gcc doesn't recognize that we catch all possible values. disappointing. case 0: - return { vec[0].v, q3(&vec[s/4 - 1]), q2(&vec[s/2 - 1]), q1(&vec[s - s/4 - 1]), vec[s - 1].v }; + return { vec[0].v, q3(&vec[s/4 - 1]), q2(&vec[s/2 - 1]), q1(&vec[s - s/4 - 1]), vec[s - 1].v, s }; case 1: - return { vec[0].v, vec[s/4].v, vec[s/2].v, vec[s - s/4 - 1].v, vec[s - 1].v }; + return { vec[0].v, vec[s/4].v, vec[s/2].v, vec[s - s/4 - 1].v, vec[s - 1].v, s }; case 2: - return { vec[0].v, q1(&vec[s/4]), q2(&vec[s/2 - 1]), q3(&vec[s - s/4 - 2]), vec[s - 1].v }; + return { vec[0].v, q1(&vec[s/4]), q2(&vec[s/2 - 1]), q3(&vec[s - s/4 - 2]), vec[s - 1].v, s }; case 3: - return { vec[0].v, q2(&vec[s/4]), vec[s/2].v, q2(&vec[s - s/4 - 2]), vec[s - 1].v }; + return { vec[0].v, q2(&vec[s/4]), vec[s/2].v, q2(&vec[s - s/4 - 2]), vec[s - 1].v, s }; } } diff --git a/stats/statsvariables.h b/stats/statsvariables.h index 964878550..3469033e2 100644 --- a/stats/statsvariables.h +++ b/stats/statsvariables.h @@ -50,6 +50,7 @@ struct StatsQuartiles { double min; double q1, q2, q3; double max; + int count; bool isValid() const; }; |