aboutsummaryrefslogtreecommitdiffstats
path: root/subsurface-core
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2016-02-21 15:20:39 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-02-21 16:34:46 -0800
commitb71fc7ffb2d1a43cee859a9862d3f85303a5310a (patch)
treecbbe83deab13c3ac37226bdfb56f547c3e40193a /subsurface-core
parent398cd5d9cc5dde764186d3302125692f27f195c3 (diff)
downloadsubsurface-b71fc7ffb2d1a43cee859a9862d3f85303a5310a.tar.gz
pressure interpolation: further code simplification
With the two bigger simplications, this just re-organizes the code to do the "interpolate.pressure_time" update that is shared among all the "after segment start" cases in just one place. That leaves the get_pr_interpolate_data() much simpler, and makes it much clearer what it actually does. In particular, it becomes very obvious that "interpolate.pressure_time" is constant for one particular segment (it's the total pressure time), and that "interpolate.acc_pressure_time" is the one that gets updated for every entry. The next step is to only call this for the first entry, and then update just the "acc_pressure_time" in the caller. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core')
-rw-r--r--subsurface-core/gaspressures.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/subsurface-core/gaspressures.c b/subsurface-core/gaspressures.c
index c63e16204..5e7cd72ea 100644
--- a/subsurface-core/gaspressures.c
+++ b/subsurface-core/gaspressures.c
@@ -187,16 +187,11 @@ static struct pr_interpolate_struct get_pr_interpolate_data(pr_track_t *segment,
if (entry->sec < segment->t_start)
continue;
- if (entry->sec >= segment->t_end) {
- interpolate.pressure_time += entry->pressure_time;
+ interpolate.pressure_time += entry->pressure_time;
+ if (entry->sec >= segment->t_end)
break;
- }
- if (i <= cur) {
+ if (i <= cur)
interpolate.acc_pressure_time += entry->pressure_time;
- interpolate.pressure_time += entry->pressure_time;
- continue;
- }
- interpolate.pressure_time += entry->pressure_time;
}
return interpolate;
}