Use the new get_o2()/get_he() helper functions more widely

They do the "02=0 means air" thing autmatically, and make for less
typing.  So use them more widely in places that looked up the o2 and he
permille values of a gasmix.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Linus Torvalds 2013-03-28 10:06:43 -07:00 committed by Dirk Hohndel
parent 99070c49e2
commit 1b05d28944
4 changed files with 12 additions and 13 deletions

6
deco.c
View file

@ -130,9 +130,9 @@ static double tissue_tolerance_calc(const struct dive *dive)
double add_segment(double pressure, const struct gasmix *gasmix, int period_in_seconds, int ccpo2, const struct dive *dive)
{
int ci;
int fo2 = gasmix->o2.permille ? gasmix->o2.permille : O2_IN_AIR;
double ppn2 = (pressure - WV_PRESSURE) * (1000 - fo2 - gasmix->he.permille) / 1000.0;
double pphe = (pressure - WV_PRESSURE) * gasmix->he.permille / 1000.0;
int fo2 = get_o2(gasmix), fhe = get_he(gasmix);
double ppn2 = (pressure - WV_PRESSURE) * (1000 - fo2 - fhe) / 1000.0;
double pphe = (pressure - WV_PRESSURE) * fhe / 1000.0;
#if GF_LOW_AT_MAXDEPTH
if (pressure > gf_low_pressure_this_dive)

9
dive.c
View file

@ -1021,9 +1021,8 @@ static void merge_weightsystem_info(weightsystem_t *res, weightsystem_t *a, weig
static int gasmix_distance(const struct gasmix *a, const struct gasmix *b)
{
int a_o2 = a->o2.permille ? : O2_IN_AIR;
int b_o2 = b->o2.permille ? : O2_IN_AIR;
int a_he = a->he.permille, b_he = b->he.permille;
int a_o2 = get_o2(a), b_o2 = get_o2(b);
int a_he = get_he(a), b_he = get_he(b);
int delta_o2 = a_o2 - b_o2, delta_he = a_he - b_he;
delta_he = delta_he*delta_he;
@ -1064,8 +1063,8 @@ static void add_initial_gaschange(struct dive *dive, struct divecomputer *dc)
return;
/* Old starting gas mix */
o2 = dive->cylinder[0].gasmix.o2.permille ? : O2_IN_AIR;
he = dive->cylinder[0].gasmix.o2.permille;
o2 = get_o2(&dive->cylinder[0].gasmix);
he = get_he(&dive->cylinder[0].gasmix);
o2 = (o2 + 5) / 10;
he = (he + 5) / 10;
value = o2 + (he << 16);

View file

@ -1877,8 +1877,8 @@ static void calculate_deco_information(struct dive *dive, struct divecomputer *d
int cylinderindex = entry->cylinderindex;
amb_pressure = depth_to_mbar(entry->depth, dive) / 1000.0;
fo2 = dive->cylinder[cylinderindex].gasmix.o2.permille ? : O2_IN_AIR;
fhe = dive->cylinder[cylinderindex].gasmix.he.permille;
fo2 = get_o2(&dive->cylinder[cylinderindex].gasmix);
fhe = get_he(&dive->cylinder[cylinderindex].gasmix);
double ratio = (double)fhe / (1000.0 - fo2);
if (entry->po2) {

View file

@ -610,13 +610,13 @@ static void show_single_dive_stats(struct dive *dive)
end = cyl->end.mbar ?cyl->sample_end : cyl->sample_end;
if (!cylinder_none(cyl)) {
/* 0% O2 strangely means air, so 21% - I don't like that at all */
int o2 = cyl->gasmix.o2.permille ? : O2_IN_AIR;
int o2 = get_o2(&cyl->gasmix);
int he = get_he(&cyl->gasmix);
if (offset > 0) {
snprintf(buf+offset, 80-offset, ", ");
offset += 2;
}
snprintf(buf+offset, 80-offset, "%d/%d", (o2 + 5) / 10,
(cyl->gasmix.he.permille + 5) / 10);
snprintf(buf+offset, 80-offset, "%d/%d", (o2 + 5) / 10, (he + 5) / 10);
offset = strlen(buf);
}
/* and if we have size, start and end pressure, we can