Do the Boyle compensation when the gradient is needed

and not some time before and store the result in a global variable.

This stores only the bottom gradients and computes the Boyle compensation
when computing the allowed ambient pressure.

As the Boyle compensation needs a reference ambient pressure, to find the ceiling,
we have to iterate this computation until the reference pressure is close enough to
the ceiling.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Robert C. Helling 2015-08-31 22:15:43 +02:00 committed by Dirk Hohndel
parent 3a7109e44e
commit d9306125d9
4 changed files with 74 additions and 81 deletions

1
dive.h
View file

@ -800,7 +800,6 @@ extern double restore_deco_state(char *data);
extern void nuclear_regeneration(double time);
extern void vpmb_start_gradient();
extern void vpmb_next_gradient(double deco_time, double surface_pressure);
extern void boyles_law(double next_stop_pressure);
/* this should be converted to use our types */
struct divedatapoint {