summaryrefslogtreecommitdiffstats
path: root/stats
diff options
context:
space:
mode:
Diffstat (limited to 'stats')
-rw-r--r--stats/boxseries.cpp4
-rw-r--r--stats/statsvariables.cpp14
-rw-r--r--stats/statsvariables.h1
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;
};