Robert Helling <[email protected]> writes:
> > depth * 1000.0 / 1000.0 which for a depth of 30m seemed to end up just a > tiny bit below 30. > > That implies that we (once again) didn't do proper rounding. > > I suspect just short-circuiting it for zero helium hides the problem > rather than fixing it. > > Linus > > what does the test program on > https://www.cplusplus.com/reference/cfenv/fegetround/ produce on your > machine? I am a but afraid to explicitly set the rounding mode just to be > sure as that > (according to my understanding of the docs I found) might cause the compiler > to think we are doing strange stuff. The fgetround test produces the following rounding using to-nearest rounding: rint (2.3) = 2.0 rint (3.8) = 4.0 rint (-2.3) = -2.0 rint (-3.8) = -4.0 The latest patch fixes the rounding errors on i686. And now it passes all of the tests for all of the architectures that the build process tests on. https://github.com/void-linux/void-packages/pull/34187 I am happy to continue testing things here as well though. One of the pull request moderators has patched libdivecomputer because when building for musl some dive computers were showing warnings --snip-- oceanic_common.h:31: warning: "PAGESIZE" redefined 31 | #define PAGESIZE 0x10 --snip-- regards Alan _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
