From d9b4f2b7e36d8891a34b8049eca8008c89382e2f Mon Sep 17 00:00:00 2001 From: "Robert C. Helling" Date: Fri, 21 Aug 2015 17:19:32 +0200 Subject: Don't do Boyle compensation when still on first stop There is nothing to compensate but we would hit a 0/0 numerical instability there. Signed-off-by: Robert C. Helling Signed-off-by: Dirk Hohndel --- deco.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/deco.c b/deco.c index 7b8d7c2be..16089e32b 100644 --- a/deco.c +++ b/deco.c @@ -362,6 +362,10 @@ void boyles_law(double next_stop_pressure) { int ci; + // This should be a tautology but prevents a numerical instability. + if (IS_FP_SAME(next_stop_pressure, first_stop_pressure)) + return; + if (!first_stop_pressure) return; for (ci = 0; ci < 16; ++ci) { -- cgit v1.2.3-70-g09d2