More consistency improvements

Treat SAC and OTU consistently:
- SAC is now a member of struct dive
- it's calculated / populated at the same time with a helper function with
  consistent API

Create get_volume_units function that returns volumes (e.g. used in SAC
rates) based on preferred units - make sure we have these conversions just
once in the code.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2011-11-01 19:56:14 -07:00
parent 18b8247cb3
commit a487f6c931
3 changed files with 38 additions and 9 deletions

25
dive.c
View file

@ -46,6 +46,31 @@ double get_temp_units(unsigned int mk, const char **units)
return deg;
}
double get_volume_units(unsigned int ml, int *frac, const char **units)
{
int decimals;
double vol;
const char *unit;
switch (output_units.volume) {
case LITER:
vol = ml / 1000.0;
unit = "l";
decimals = 1;
break;
case CUFT:
vol = ml_to_cuft(ml);
unit = "cuft";
decimals = 2;
break;
}
if (frac)
*frac = decimals;
if (units)
*units = unit;
return vol;
}
double get_depth_units(unsigned int mm, int *frac, const char **units)
{
int decimals;