diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2014-02-11 13:47:47 +0100 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2014-02-11 13:47:47 +0100 |
commit | 7e6424e343b5213ae12bae83c0d018f4fcafd5cd (patch) | |
tree | a3705d23edeeb9960fd3f0a82f91b5911506971e /sysdeps | |
parent | 83a3406e0f1dd92cd6c7c2a668c5cec2fe1a0cc6 (diff) | |
download | glibc-7e6424e343b5213ae12bae83c0d018f4fcafd5cd.zip glibc-7e6424e343b5213ae12bae83c0d018f4fcafd5cd.tar.gz glibc-7e6424e343b5213ae12bae83c0d018f4fcafd5cd.tar.bz2 |
BZ #16447: Fix ldbl-128 expl implementation.
Extend the range of numbers handled via unsafe mode.
Add expl testcase and regenerate ULPs for s390.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/ieee754/ldbl-128/e_expl.c | 2 | ||||
-rw-r--r-- | sysdeps/s390/fpu/libm-test-ulps | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/sysdeps/ieee754/ldbl-128/e_expl.c b/sysdeps/ieee754/ldbl-128/e_expl.c index 8259758..ae2604e 100644 --- a/sysdeps/ieee754/ldbl-128/e_expl.c +++ b/sysdeps/ieee754/ldbl-128/e_expl.c @@ -181,7 +181,7 @@ __ieee754_expl (long double x) * __expl_table[T_EXPL_RES2 + tval2]; n_i = (int)n; /* 'unsafe' is 1 iff n_1 != 0. */ - unsafe = abs(n_i) >= -LDBL_MIN_EXP - 1; + unsafe = abs(n_i) >= 15000; ex2_u.ieee.exponent += n_i >> unsafe; /* Compute scale = 2^n_1. */ diff --git a/sysdeps/s390/fpu/libm-test-ulps b/sysdeps/s390/fpu/libm-test-ulps index 786720d..bd423f0 100644 --- a/sysdeps/s390/fpu/libm-test-ulps +++ b/sysdeps/s390/fpu/libm-test-ulps @@ -13374,6 +13374,9 @@ double: 1 idouble: 1 # exp_upward +Test "exp_upward (-0x2.c4edp+12)": +double: 1 +idouble: 1 Test "exp_upward (-0x2.e870a4p+8)": double: 1 idouble: 1 |