mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 14:25:27 +00:00
Only return gas volumes for gases used
We check in get_gaslist is_gas_used, so if were going to be consistent about what we return from get_gaslist and in get_gas_used, only return gas volumes that we actually consumed during the dive. The problem now this fixes can be seen in dives/test10.xml Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
57fb878b41
commit
9b5c7c2bbe
1 changed files with 17 additions and 14 deletions
31
statistics.c
31
statistics.c
|
@ -293,20 +293,6 @@ void get_selected_dives_text(char *buffer, int size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void get_gas_used(struct dive *dive, volume_t gases[MAX_CYLINDERS])
|
|
||||||
{
|
|
||||||
int idx;
|
|
||||||
for (idx = 0; idx < MAX_CYLINDERS; idx++) {
|
|
||||||
cylinder_t *cyl = &dive->cylinder[idx];
|
|
||||||
pressure_t start, end;
|
|
||||||
|
|
||||||
start = cyl->start.mbar ? cyl->start : cyl->sample_start;
|
|
||||||
end = cyl->end.mbar ? cyl->end : cyl->sample_end;
|
|
||||||
if (start.mbar && end.mbar)
|
|
||||||
gases[idx].mliter = gas_volume(cyl, start) - gas_volume(cyl, end);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool is_gas_used(struct dive *dive, int idx)
|
bool is_gas_used(struct dive *dive, int idx)
|
||||||
{
|
{
|
||||||
cylinder_t *cyl = &dive->cylinder[idx];
|
cylinder_t *cyl = &dive->cylinder[idx];
|
||||||
|
@ -354,6 +340,23 @@ bool is_gas_used(struct dive *dive, int idx)
|
||||||
return used;
|
return used;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void get_gas_used(struct dive *dive, volume_t gases[MAX_CYLINDERS])
|
||||||
|
{
|
||||||
|
int idx;
|
||||||
|
for (idx = 0; idx < MAX_CYLINDERS; idx++) {
|
||||||
|
cylinder_t *cyl = &dive->cylinder[idx];
|
||||||
|
pressure_t start, end;
|
||||||
|
|
||||||
|
if (!is_gas_used(dive, idx))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
start = cyl->start.mbar ? cyl->start : cyl->sample_start;
|
||||||
|
end = cyl->end.mbar ? cyl->end : cyl->sample_end;
|
||||||
|
if (start.mbar && end.mbar)
|
||||||
|
gases[idx].mliter = gas_volume(cyl, start) - gas_volume(cyl, end);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#define MAXBUF 80
|
#define MAXBUF 80
|
||||||
/* for the O2/He readings just create a list of them */
|
/* for the O2/He readings just create a list of them */
|
||||||
char *get_gaslist(struct dive *dive)
|
char *get_gaslist(struct dive *dive)
|
||||||
|
|
Loading…
Add table
Reference in a new issue