summaryrefslogtreecommitdiffstats
path: root/core/dive.c
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-06-04 09:05:17 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-06-19 13:11:10 -0700
commitbff80cf4625c4a97182e8333633403d06725a613 (patch)
tree0154f660c6e7db88ff79ad434f5a1df5bf6e076f /core/dive.c
parent7f4d9db962e73aa5d5089c43c99b78b3690ffb87 (diff)
downloadsubsurface-bff80cf4625c4a97182e8333633403d06725a613.tar.gz
Cleanup: move unit-related functions to own translation unit
Create a units.c translation unit. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/dive.c')
-rw-r--r--core/dive.c171
1 files changed, 0 insertions, 171 deletions
diff --git a/core/dive.c b/core/dive.c
index b64d2654e..2d82f5565 100644
--- a/core/dive.c
+++ b/core/dive.c
@@ -273,177 +273,6 @@ struct gasmix get_gasmix_from_event(const struct dive *dive, const struct event
return dummy;
}
-int get_pressure_units(int mb, const char **units)
-{
- int pressure;
- const char *unit;
- const struct units *units_p = get_units();
-
- switch (units_p->pressure) {
- case PASCAL:
- pressure = mb * 100;
- unit = translate("gettextFromC", "pascal");
- break;
- case BAR:
- default:
- pressure = (mb + 500) / 1000;
- unit = translate("gettextFromC", "bar");
- break;
- case PSI:
- pressure = mbar_to_PSI(mb);
- unit = translate("gettextFromC", "psi");
- break;
- }
- if (units)
- *units = unit;
- return pressure;
-}
-
-double get_temp_units(unsigned int mk, const char **units)
-{
- double deg;
- const char *unit;
- const struct units *units_p = get_units();
-
- if (units_p->temperature == FAHRENHEIT) {
- deg = mkelvin_to_F(mk);
- unit = "°F";
- } else {
- deg = mkelvin_to_C(mk);
- unit = "°C";
- }
- if (units)
- *units = unit;
- return deg;
-}
-
-double get_volume_units(unsigned int ml, int *frac, const char **units)
-{
- int decimals;
- double vol;
- const char *unit;
- const struct units *units_p = get_units();
-
- switch (units_p->volume) {
- case LITER:
- default:
- vol = ml / 1000.0;
- unit = translate("gettextFromC", "ℓ");
- decimals = 1;
- break;
- case CUFT:
- vol = ml_to_cuft(ml);
- unit = translate("gettextFromC", "cuft");
- decimals = 2;
- break;
- }
- if (frac)
- *frac = decimals;
- if (units)
- *units = unit;
- return vol;
-}
-
-int units_to_sac(double volume)
-{
- if (get_units()->volume == CUFT)
- return lrint(cuft_to_l(volume) * 1000.0);
- else
- return lrint(volume * 1000);
-}
-
-depth_t units_to_depth(double depth)
-{
- depth_t internaldepth;
- if (get_units()->length == METERS) {
- internaldepth.mm = lrint(depth * 1000);
- } else {
- internaldepth.mm = feet_to_mm(depth);
- }
- return internaldepth;
-}
-
-double get_depth_units(int mm, int *frac, const char **units)
-{
- int decimals;
- double d;
- const char *unit;
- const struct units *units_p = get_units();
-
- switch (units_p->length) {
- case METERS:
- default:
- d = mm / 1000.0;
- unit = translate("gettextFromC", "m");
- decimals = d < 20;
- break;
- case FEET:
- d = mm_to_feet(mm);
- unit = translate("gettextFromC", "ft");
- decimals = 0;
- break;
- }
- if (frac)
- *frac = decimals;
- if (units)
- *units = unit;
- return d;
-}
-
-double get_vertical_speed_units(unsigned int mms, int *frac, const char **units)
-{
- double d;
- const char *unit;
- const struct units *units_p = get_units();
- const double time_factor = units_p->vertical_speed_time == MINUTES ? 60.0 : 1.0;
-
- switch (units_p->length) {
- case METERS:
- default:
- d = mms / 1000.0 * time_factor;
- if (units_p->vertical_speed_time == MINUTES)
- unit = translate("gettextFromC", "m/min");
- else
- unit = translate("gettextFromC", "m/s");
- break;
- case FEET:
- d = mm_to_feet(mms) * time_factor;
- if (units_p->vertical_speed_time == MINUTES)
- unit = translate("gettextFromC", "ft/min");
- else
- unit = translate("gettextFromC", "ft/s");
- break;
- }
- if (frac)
- *frac = d < 10;
- if (units)
- *units = unit;
- return d;
-}
-
-double get_weight_units(unsigned int grams, int *frac, const char **units)
-{
- int decimals;
- double value;
- const char *unit;
- const struct units *units_p = get_units();
-
- if (units_p->weight == LBS) {
- value = grams_to_lbs(grams);
- unit = translate("gettextFromC", "lbs");
- decimals = 0;
- } else {
- value = grams / 1000.0;
- unit = translate("gettextFromC", "kg");
- decimals = 1;
- }
- if (frac)
- *frac = decimals;
- if (units)
- *units = unit;
- return value;
-}
-
// we need this to be uniq. oh, and it has no meaning whatsoever
// - that's why we have the silly initial number and increment by 3 :-)
int dive_getUniqID()