summary refs log tree commit diff
path: root/sysdeps/ieee754/ldbl-96
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/ieee754/ldbl-96')
-rw-r--r--sysdeps/ieee754/ldbl-96/e_j0l.c4
-rw-r--r--sysdeps/ieee754/ldbl-96/e_j1l.c4
-rw-r--r--sysdeps/ieee754/ldbl-96/e_jnl.c6
3 files changed, 7 insertions, 7 deletions
diff --git a/sysdeps/ieee754/ldbl-96/e_j0l.c b/sysdeps/ieee754/ldbl-96/e_j0l.c
index 4439fa641e..12c906bcbc 100644
--- a/sysdeps/ieee754/ldbl-96/e_j0l.c
+++ b/sysdeps/ieee754/ldbl-96/e_j0l.c
@@ -232,11 +232,11 @@ __ieee754_y0l (x)
   ix = se & 0x7fff;
   /* Y0(NaN) is NaN, y0(-inf) is Nan, y0(inf) is 0  */
   if (se & 0x8000)
-    return zero / zero;
+    return zero / (zero * x);
   if (ix >= 0x7fff)
     return one / (x + x * x);
   if ((i0 | i1) == 0)
-    return -one / zero;
+    return -HUGE_VALL + x;  /* -inf and overflow exception.  */
   if (ix >= 0x4000)
     {				/* |x| >= 2.0 */
 
diff --git a/sysdeps/ieee754/ldbl-96/e_j1l.c b/sysdeps/ieee754/ldbl-96/e_j1l.c
index 1ec63c4b44..62a8ce0cb7 100644
--- a/sysdeps/ieee754/ldbl-96/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-96/e_j1l.c
@@ -224,11 +224,11 @@ __ieee754_y1l (x)
   ix = se & 0x7fff;
   /* if Y1(NaN) is NaN, Y1(-inf) is NaN, Y1(inf) is 0 */
   if (se & 0x8000)
-    return zero / zero;
+    return zero / (zero * x);
   if (ix >= 0x7fff)
     return one / (x + x * x);
   if ((i0 | i1) == 0)
-    return -one / zero;
+    return -HUGE_VALL + x;  /* -inf and overflow exception.  */
   if (ix >= 0x4000)
     {				/* |x| >= 2.0 */
       __sincosl (x, &s, &c);
diff --git a/sysdeps/ieee754/ldbl-96/e_jnl.c b/sysdeps/ieee754/ldbl-96/e_jnl.c
index 0f2f393230..3d715d36aa 100644
--- a/sysdeps/ieee754/ldbl-96/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-96/e_jnl.c
@@ -36,7 +36,7 @@
  * of order n
  *
  * Special cases:
- *	y0(0)=y1(0)=yn(n,0) = -inf with division by zero signal;
+ *	y0(0)=y1(0)=yn(n,0) = -inf with overflow signal;
  *	y0(-ve)=y1(-ve)=yn(n,-ve) are NaN with invalid signal.
  * Note 2. About jn(n,x), yn(n,x)
  *	For n=0, j0(x) is called,
@@ -312,9 +312,9 @@ __ieee754_ynl (n, x)
   if ((ix == 0x7fff) && ((i0 & 0x7fffffff) != 0))
     return x + x;
   if ((ix | i0 | i1) == 0)
-    return -one / zero;
+    return -HUGE_VALL + x;  /* -inf and overflow exception.  */
   if (se & 0x8000)
-    return zero / zero;
+    return zero / (zero * x);
   sign = 1;
   if (n < 0)
     {