mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Merge branch 'master' of https://github.com/dje29/subsurface
This commit is contained in:
commit
08284275e7
31 changed files with 210 additions and 201 deletions
12
core/dive.h
12
core/dive.h
|
|
@ -173,7 +173,7 @@ static inline int interpolate(int a, int b, int part, int whole)
|
|||
/* It is doubtful that we actually need floating point for this, but whatever */
|
||||
if (whole) {
|
||||
double x = (double)a * (whole - part) + (double)b * part;
|
||||
return rint(x / whole);
|
||||
return lrint(x / whole);
|
||||
}
|
||||
return (a+b)/2;
|
||||
}
|
||||
|
|
@ -440,7 +440,7 @@ static inline int calculate_depth_to_mbar(int depth, pressure_t surface_pressure
|
|||
if (salinity < 500)
|
||||
salinity += FRESHWATER_SALINITY;
|
||||
specific_weight = salinity / 10000.0 * 0.981;
|
||||
mbar += rint(depth / 10.0 * specific_weight);
|
||||
mbar += lrint(depth / 10.0 * specific_weight);
|
||||
return mbar;
|
||||
}
|
||||
|
||||
|
|
@ -470,7 +470,7 @@ static inline int rel_mbar_to_depth(int mbar, struct dive *dive)
|
|||
if (dive->dc.salinity)
|
||||
specific_weight = dive->dc.salinity / 10000.0 * 0.981;
|
||||
/* whole mbar gives us cm precision */
|
||||
cm = rint(mbar / specific_weight);
|
||||
cm = lrint(mbar / specific_weight);
|
||||
return cm * 10;
|
||||
}
|
||||
|
||||
|
|
@ -489,7 +489,7 @@ static inline depth_t gas_mod(struct gasmix *mix, pressure_t po2_limit, struct d
|
|||
depth_t rounded_depth;
|
||||
|
||||
double depth = (double) mbar_to_depth(po2_limit.mbar * 1000 / get_o2(mix), dive);
|
||||
rounded_depth.mm = rint(depth / roundto) * roundto;
|
||||
rounded_depth.mm = lrint(depth / roundto) * roundto;
|
||||
return rounded_depth;
|
||||
}
|
||||
|
||||
|
|
@ -499,8 +499,8 @@ static inline depth_t gas_mnd(struct gasmix *mix, depth_t end, struct dive *dive
|
|||
pressure_t ppo2n2;
|
||||
ppo2n2.mbar = depth_to_mbar(end.mm, dive);
|
||||
|
||||
double maxambient = ppo2n2.mbar / (1 - get_he(mix) / 1000.0);
|
||||
rounded_depth.mm = rint(mbar_to_depth(maxambient, dive) / roundto) * roundto;
|
||||
int maxambient = lrint(ppo2n2.mbar / (1 - get_he(mix) / 1000.0));
|
||||
rounded_depth.mm = lrint(((double)mbar_to_depth(maxambient, dive)) / roundto) * roundto;
|
||||
return rounded_depth;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue