testprofile on i686
Alan Brown
adbrown at rocketmail.com
Sat Dec 4 15:16:37 PST 2021
"Robert.Helling" <robert at neu.atdotde.de> writes:
> Hi,
>
> On 4. Dec 2021, at 13:09, Berthold Stoeger via subsurface <subsurface at subsurface-divelog.org> wrote:
>
> Yes, in particular Robert's new code reads as
>
> entry->ead = mbar_to_depth(depth_to_mbar(entry->depth, dive) ...);
>
> depth_to_mbar() returns an int, and 1 bar is 10 m, thus 1 mbar is 10 mm which
> is precisely the observed difference, no?
>
> I could add easily a double valued version of that function which should solve this.
>
Robert, Berthold
Is this related to the warnings I am seeing in the build log, which I am
seeing following the patch?
--snip--
/home/alan/src/subsurface/core/profile.c: In function ‘calculate_gas_information_new’:
/home/alan/src/subsurface/core/profile.c:1259:79: warning: conversion from ‘double’ to ‘int’ may change value [-Wfloat-conversion]
1259 | entry->end = mbar_to_depth(depth_to_mbar(entry->depth, dive) * (1000 - fhe) / 1000.0, dive);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/alan/src/subsurface/core/profile.c:1260:70: warning: conversion from ‘double’ to ‘int’ may change value [-Wfloat-conversion]
1260 | entry->ead = mbar_to_depth(depth_to_mbar(entry->depth, dive) * fn2 / (double)N2_IN_AIR, dive);
/home/alan/src/subsurface/core/profile.c:1265:61: warning: conversion from ‘double’ to ‘int’ may change value [-Wfloat-conversion]
1261 | entry->eadd = mbar_to_depth(depth_to_mbar(entry->depth, dive) *
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1262 | (entry->pressures.o2 / amb_pressure * O2_DENSITY +
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1263 | entry->pressures.n2 / amb_pressure * N2_DENSITY +
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1264 | entry->pressures.he / amb_pressure * HE_DENSITY) /
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1265 | (O2_IN_AIR * O2_DENSITY + N2_IN_AIR * N2_DENSITY) * 1000, dive);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
--snip--
For my own sanity I used qemu to build a debian 32 bit machine and did a
subsurface build from the master branch using the patch and TestProfile
failed with the same diffs.
Regards
Alan
More information about the subsurface
mailing list