diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-02-21 15:20:39 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-02-21 16:34:46 -0800 |
commit | b71fc7ffb2d1a43cee859a9862d3f85303a5310a (patch) | |
tree | cbbe83deab13c3ac37226bdfb56f547c3e40193a /subsurface-core | |
parent | 398cd5d9cc5dde764186d3302125692f27f195c3 (diff) | |
download | subsurface-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.c | 11 |
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; } |