]> sourceware.org Git - glibc.git/commit
Fix dbl-64 remainder sign of zero result (bug 19201).
authorJoseph Myers <joseph@codesourcery.com>
Tue, 3 Nov 2015 00:11:49 +0000 (00:11 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 3 Nov 2015 00:11:49 +0000 (00:11 +0000)
commit444ec6b8d8091456a2622765ac60f9c60e7755a9
treef070f46708cf30cb4d629348d234fe5735d12f4a
parent85422c2acba83852396c9d9fd22ff0493e3606fe
Fix dbl-64 remainder sign of zero result (bug 19201).

For some large arguments, the dbl-64 implementation of remainder gives
zero results with the wrong sign, resulting from a subtraction that is
mathematically correct but does not guarantee that a zero result has
the sign of the first argument to remainder.  This patch adds an
appropriate check for this case, similar to other implementations of
remainder in the case of equality, and adds tests of remainder on
inputs already used to test remquo.

Tested for x86_64 and x86.

[BZ #19201]
* sysdeps/ieee754/dbl-64/e_remainder.c (__ieee754_remainder):
Check for zero remainder in case of large exponents and ensure
correct sign of result in that case.
* math/libm-test.inc (remainder_test_data): Add more tests.
ChangeLog
NEWS
math/libm-test.inc
sysdeps/ieee754/dbl-64/e_remainder.c
This page took 0.04207 seconds and 5 git commands to generate.