summaryrefslogtreecommitdiffstats
path: root/dive.c
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2011-11-01 19:56:14 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2011-11-01 19:58:19 -0700
commita487f6c9314f0fe5e4173b670d9653067285da21 (patch)
tree6a31b8e2d1064ccf7d54a76b48683f2a7fde7c86 /dive.c
parent18b8247cb357a9a716846854e451e306b752e542 (diff)
downloadsubsurface-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.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/dive.c b/dive.c
index c913e9476..53a874b9b 100644
--- a/dive.c
+++ b/dive.c
@@ -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;