diff options
author | Andreas Jaeger <aj@suse.de> | 2003-12-28 20:51:20 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2003-12-28 20:51:20 +0000 |
commit | 1f510b3faa316bf025ce9544fd90ece3549bac05 (patch) | |
tree | 3ba1bc94e82d3f745a12cb37703a1242da39e72c /sysdeps/ieee754/dbl-64/e_jn.c | |
parent | add144786f959da569ca4ad3a89c6efd409e762e (diff) | |
download | glibc-1f510b3faa316bf025ce9544fd90ece3549bac05.zip glibc-1f510b3faa316bf025ce9544fd90ece3549bac05.tar.gz glibc-1f510b3faa316bf025ce9544fd90ece3549bac05.tar.bz2 |
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/dbl-64/e_jn.c')
-rw-r--r-- | sysdeps/ieee754/dbl-64/e_jn.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/ieee754/dbl-64/e_jn.c b/sysdeps/ieee754/dbl-64/e_jn.c index 64ba799..bf4a13d 100644 --- a/sysdeps/ieee754/dbl-64/e_jn.c +++ b/sysdeps/ieee754/dbl-64/e_jn.c @@ -20,7 +20,7 @@ static char rcsid[] = "$NetBSD: e_jn.c,v 1.9 1995/05/10 20:45:34 jtc Exp $"; * 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, @@ -236,8 +236,8 @@ static double zero = 0.00000000000000000000e+00; ix = 0x7fffffff&hx; /* if Y(n,NaN) is NaN */ if((ix|((u_int32_t)(lx|-lx))>>31)>0x7ff00000) return x+x; - if((ix|lx)==0) return -one/zero; - if(hx<0) return zero/zero; + if((ix|lx)==0) return -HUGE_VAL+x; /* -inf and overflow exception. */; + if(hx<0) return zero/(zero*x); sign = 1; if(n<0){ n = -n; |