aboutsummaryrefslogtreecommitdiff
path: root/benchtests/cos-inputs
diff options
context:
space:
mode:
authorSergei Zimmerman <sergei.zimmerman@syntacore.com>2025-02-25 18:05:40 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2025-02-26 17:17:25 -0300
commit9e51ae3cd0c7f65bdeba93b7f1d780cdb21fc269 (patch)
treebad4fd6410177c1cc4859d2102ff75bac939ba8c /benchtests/cos-inputs
parent2fe5e2af0995a6e6ee2c761e55e7596a3220d07c (diff)
downloadglibc-9e51ae3cd0c7f65bdeba93b7f1d780cdb21fc269.zip
glibc-9e51ae3cd0c7f65bdeba93b7f1d780cdb21fc269.tar.gz
glibc-9e51ae3cd0c7f65bdeba93b7f1d780cdb21fc269.tar.bz2
sysdeps/ieee754: Fix remainder sign of zero for FE_DOWNWARD (BZ #32711)HEADmaster
Single-precision remainderf() and quad-precision remainderl() implementation derived from Sun is affected by an issue when the result is +-0. IEEE754 requires that if remainder(x, y) = 0, its sign shall be that of x regardless of the rounding direction. The implementation seems to have assumed that x - x = +0 in all rounding modes, which is not the case. When rounding direction is roundTowardNegative the sign of an exact zero sum (or difference) is −0. Regression tests that triggered this erroneous behavior are added to math/libm-test-remainder.inc. Tested for cross riscv64 and powerpc. Original fix by: Bruce Evans <bde@FreeBSD.org> in FreeBSD's a2ddfa5ea726c56dbf825763ad371c261b89b7c7. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'benchtests/cos-inputs')
0 files changed, 0 insertions, 0 deletions