aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul E. Murphy <murphyp@linux.vnet.ibm.com>2016-08-02 13:32:06 -0500
committerPaul E. Murphy <murphyp@linux.vnet.ibm.com>2016-08-03 11:01:25 -0500
commitcad1d6066fa52caa89d15b21b047178d9a8c25f3 (patch)
tree0bf1b86355a222248904a1a2842e40a2017a5325
parentb381a388dc1e02223e1ac55948380f1e4427be4c (diff)
downloadglibc-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--ChangeLog10
-rw-r--r--sysdeps/ieee754/ldbl-128/k_tanl.c2
-rw-r--r--sysdeps/ieee754/ldbl-128/s_atanl.c2
-rw-r--r--sysdeps/ieee754/ldbl-128/s_logbl.c2
4 files changed, 13 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index b694a7c..d87885c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 */