mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Convert volume calculations into floating point
The basic problem was that for gases containing more than 2147483648 ml of nitrogen the calculations overflowed. This changes the code into using floating point math for that calculation which will be more accurate to. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
450093df85
commit
09e8adf54e
1 changed files with 2 additions and 2 deletions
|
@ -342,8 +342,8 @@ static void get_gas_parts(struct gasmix mix, volume_t vol, int o2_in_topup, volu
|
|||
return;
|
||||
}
|
||||
|
||||
air.mliter = (vol.mliter * (1000 - get_he(&mix) - get_o2(&mix))) / (1000 - o2_in_topup);
|
||||
he->mliter = (vol.mliter * get_he(&mix)) / 1000;
|
||||
air.mliter = rint(((double)vol.mliter * (1000 - get_he(&mix) - get_o2(&mix))) / (1000 - o2_in_topup));
|
||||
he->mliter = rint(((double)vol.mliter * get_he(&mix)) / 1000.0);
|
||||
o2->mliter += vol.mliter - he->mliter - air.mliter;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue