diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2011-11-01 19:56:14 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2011-11-01 19:58:19 -0700 |
commit | a487f6c9314f0fe5e4173b670d9653067285da21 (patch) | |
tree | 6a31b8e2d1064ccf7d54a76b48683f2a7fde7c86 /dive.c | |
parent | 18b8247cb357a9a716846854e451e306b752e542 (diff) | |
download | subsurface-a487f6c9314f0fe5e4173b670d9653067285da21.tar.gz |
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>
Diffstat (limited to 'dive.c')
-rw-r--r-- | dive.c | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -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; |