diff options
author | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-08-02 13:32:06 -0500 |
---|---|---|
committer | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-08-03 11:01:25 -0500 |
commit | cad1d6066fa52caa89d15b21b047178d9a8c25f3 (patch) | |
tree | 0bf1b86355a222248904a1a2842e40a2017a5325 | |
parent | b381a388dc1e02223e1ac55948380f1e4427be4c (diff) | |
download | glibc-cad1d6066fa52caa89d15b21b047178d9a8c25f3.zip glibc-cad1d6066fa52caa89d15b21b047178d9a8c25f3.tar.gz glibc-cad1d6066fa52caa89d15b21b047178d9a8c25f3.tar.bz2 |
Remove tacit double usage in ldbl-128
There is quiet truncation to double arithmetic in several
files. I noticed them when building ldbl-128 in a
soft-fp context. This did not change any test results.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-128/k_tanl.c | 2 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-128/s_atanl.c | 2 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-128/s_logbl.c | 2 |
4 files changed, 13 insertions, 3 deletions
@@ -1,3 +1,13 @@ +2016-08-03 Paul E. Murphy <murphyp@linux.vnet.ibm.com> + + * sysdeps/ieee754/ldbl-128/k_tanl.c (__kernal_tanl): + Use fabsl instead of fabs. + * sysdeps/ieee754/ldbl-128/s_logbl.c (__logbl): + Likewise. + * sysdeps/ieee754/ldbl-128/s_atanl.c (__kernel_tanl): + Add long double suffix to constant to ensure proper + promotion to long double. + 2016-08-03 Tom Tromey <tom@tromey.com> [BZ #20311] diff --git a/sysdeps/ieee754/ldbl-128/k_tanl.c b/sysdeps/ieee754/ldbl-128/k_tanl.c index 6bb221e..cd2bbf5 100644 --- a/sysdeps/ieee754/ldbl-128/k_tanl.c +++ b/sysdeps/ieee754/ldbl-128/k_tanl.c @@ -98,7 +98,7 @@ __kernel_tanl (long double x, long double y, int iy) { /* generate inexact */ if ((ix | u.parts32.w1 | u.parts32.w2 | u.parts32.w3 | (iy + 1)) == 0) - return one / fabs (x); + return one / fabsl (x); else if (iy == 1) { math_check_force_underflow (x); diff --git a/sysdeps/ieee754/ldbl-128/s_atanl.c b/sysdeps/ieee754/ldbl-128/s_atanl.c index aaae701..35577a8 100644 --- a/sysdeps/ieee754/ldbl-128/s_atanl.c +++ b/sysdeps/ieee754/ldbl-128/s_atanl.c @@ -231,7 +231,7 @@ __atanl (long double x) Roundoff to integer is asymmetrical to avoid cancellation when t < 0 (cf. fdlibm). */ k = 8.0 * x + 0.25; - u = 0.125 * k; + u = 0.125L * k; /* Small arctan argument. */ t = (x - u) / (1.0 + x * u); } diff --git a/sysdeps/ieee754/ldbl-128/s_logbl.c b/sysdeps/ieee754/ldbl-128/s_logbl.c index 3ba67b7..b7c1ca1 100644 --- a/sysdeps/ieee754/ldbl-128/s_logbl.c +++ b/sysdeps/ieee754/ldbl-128/s_logbl.c @@ -34,7 +34,7 @@ __logbl (long double x) GET_LDOUBLE_WORDS64 (hx, lx, x); hx &= 0x7fffffffffffffffLL; /* high |x| */ if ((hx | lx) == 0) - return -1.0 / fabs (x); + return -1.0 / fabsl (x); if (hx >= 0x7fff000000000000LL) return x * x; if ((ex = hx >> 48) == 0) /* IEEE 754 logb */ |