aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/ldbl-128
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2003-12-28 20:51:20 +0000
committerAndreas Jaeger <aj@suse.de>2003-12-28 20:51:20 +0000
commit1f510b3faa316bf025ce9544fd90ece3549bac05 (patch)
tree3ba1bc94e82d3f745a12cb37703a1242da39e72c /sysdeps/ieee754/ldbl-128
parentadd144786f959da569ca4ad3a89c6efd409e762e (diff)
downloadglibc-1f510b3faa316bf025ce9544fd90ece3549bac05.tar
glibc-1f510b3faa316bf025ce9544fd90ece3549bac05.tar.gz
glibc-1f510b3faa316bf025ce9544fd90ece3549bac05.tar.bz2
glibc-1f510b3faa316bf025ce9544fd90ece3549bac05.zip
Update.
* sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_y0): Raise only overflow for 0 as argument. Raise Invalid exception for negative args. * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_yn): Likewise. * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_y0): Likewise. * sysdeps/ieee754/ldb-128/e_jnl.c (__ieee754_ynl): Likewise. * sysdeps/ieee754/ldb-128/e_j0l.c (__ieee754_y0l): Likewise. * sysdeps/ieee754/ldb-128/e_j1l.c (__ieee754_y1l): Likewise. * sysdeps/ieee754/ldb-96/e_jnl.c (__ieee754_ynl): Likewise. * sysdeps/ieee754/ldb-96/e_j0l.c (__ieee754_y0l): Likewise. * sysdeps/ieee754/ldb-96/e_j1l.c (__ieee754_y1l): Likewise. * sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_ynf): Likewise. * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Likewise. * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Likewise. * math/libm-test.inc (yn_test): Expect invalid exception for negative arguments. (y0_test): Likewise. (y1_test): Likewise.
Diffstat (limited to 'sysdeps/ieee754/ldbl-128')
-rw-r--r--sysdeps/ieee754/ldbl-128/e_j0l.c4
-rw-r--r--sysdeps/ieee754/ldbl-128/e_j1l.c4
-rw-r--r--sysdeps/ieee754/ldbl-128/e_jnl.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/sysdeps/ieee754/ldbl-128/e_j0l.c b/sysdeps/ieee754/ldbl-128/e_j0l.c
index d1930987c1..67ef371153 100644
--- a/sysdeps/ieee754/ldbl-128/e_j0l.c
+++ b/sysdeps/ieee754/ldbl-128/e_j0l.c
@@ -827,8 +827,8 @@ long double
if (x <= 0.0L)
{
if (x < 0.0L)
- return (zero / zero);
- return 1.0L / zero;
+ return (zero / (zero * x));
+ return -HUGE_VALL + x;
}
xx = fabsl (x);
if (xx <= 2.0L)
diff --git a/sysdeps/ieee754/ldbl-128/e_j1l.c b/sysdeps/ieee754/ldbl-128/e_j1l.c
index 6f0a6f80d8..3a977c2a84 100644
--- a/sysdeps/ieee754/ldbl-128/e_j1l.c
+++ b/sysdeps/ieee754/ldbl-128/e_j1l.c
@@ -834,8 +834,8 @@ __ieee754_y1l (long double x)
if (x <= 0.0L)
{
if (x < 0.0L)
- return (zero / zero);
- return -1.0L / zero;
+ return (zero / (zero * x));
+ return -HUGE_VALL + x;
}
xx = fabsl (x);
if (xx <= 2.0L)
diff --git a/sysdeps/ieee754/ldbl-128/e_jnl.c b/sysdeps/ieee754/ldbl-128/e_jnl.c
index e17f0603ed..a4a4e24cf5 100644
--- a/sysdeps/ieee754/ldbl-128/e_jnl.c
+++ b/sysdeps/ieee754/ldbl-128/e_jnl.c
@@ -323,9 +323,9 @@ __ieee754_ynl (n, x)
if (x <= 0.0L)
{
if (x == 0.0L)
- return -one / zero;
+ return -HUGE_VALL + x;
if (se & 0x80000000)
- return zero / zero;
+ return zero / (zero * x);
}
sign = 1;
if (n < 0)