aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2014-02-11 13:47:47 +0100
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2014-02-11 13:47:47 +0100
commit7e6424e343b5213ae12bae83c0d018f4fcafd5cd (patch)
treea3705d23edeeb9960fd3f0a82f91b5911506971e /sysdeps
parent83a3406e0f1dd92cd6c7c2a668c5cec2fe1a0cc6 (diff)
downloadglibc-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.c2
-rw-r--r--sysdeps/s390/fpu/libm-test-ulps3
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