diff options
-rw-r--r-- | core/statistics.c | 6 | ||||
-rw-r--r-- | core/statistics.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/core/statistics.c b/core/statistics.c index c7cd213ff..678843b99 100644 --- a/core/statistics.c +++ b/core/statistics.c @@ -73,15 +73,15 @@ static void process_dive(struct dive *dp, stats_t *stats) stats->total_average_depth_time.seconds); } if (dp->sac > 100) { /* less than .1 l/min is bogus, even with a pSCR */ - sac_time = stats->total_sac_time + duration; - stats->avg_sac.mliter = lrint((1.0 * stats->total_sac_time * stats->avg_sac.mliter + + sac_time = stats->total_sac_time.seconds + duration; + stats->avg_sac.mliter = lrint((1.0 * stats->total_sac_time.seconds * stats->avg_sac.mliter + duration * dp->sac) / sac_time); if (dp->sac > stats->max_sac.mliter) stats->max_sac.mliter = dp->sac; if (stats->min_sac.mliter == 0 || dp->sac < stats->min_sac.mliter) stats->min_sac.mliter = dp->sac; - stats->total_sac_time = sac_time; + stats->total_sac_time.seconds = sac_time; } } diff --git a/core/statistics.h b/core/statistics.h index 48e75594d..8a71758f7 100644 --- a/core/statistics.h +++ b/core/statistics.h @@ -33,7 +33,7 @@ typedef struct temperature_sum_t combined_temp; unsigned int combined_count; unsigned int selection_size; - unsigned int total_sac_time; + duration_t total_sac_time; bool is_year; bool is_trip; char *location; |