Add a meandepth to the dive structure

This is currently only used in one place (in statistics.c), but it
certainly is consistent with the other recent changes to avoid using only
the first divecomputer when trying to make statements about a dive.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2013-02-09 06:50:53 -08:00
parent 0755cc522b
commit c7efcb23a9
3 changed files with 18 additions and 2 deletions

16
dive.c
View file

@ -454,6 +454,21 @@ static void fixup_water_salinity(struct dive *dive)
dive->salinity = (sum + nr/2)/nr;
}
static void fixup_meandepth(struct dive *dive)
{
struct divecomputer *dc;
int sum = 0, nr = 0;
for_each_dc(dive, dc) {
if (dc->meandepth.mm) {
sum += dc->meandepth.mm;
nr++;
}
}
if (nr)
dive->meandepth.mm = (sum + nr / 2) / nr;
}
/*
* events are stored as a linked list, so the concept of
* "consecutive, identical events" is somewhat hard to
@ -645,6 +660,7 @@ struct dive *fixup_dive(struct dive *dive)
fixup_water_salinity(dive);
fixup_surface_pressure(dive);
fixup_meandepth(dive);
for_each_dc(dive, dc)
fixup_dive_dc(dive, dc);