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

Reply via email to