about summary refs log tree commit diff
path: root/sysdeps/ieee754/flt-32/e_jnf.c
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/flt-32/e_jnf.c
parentadd144786f959da569ca4ad3a89c6efd409e762e (diff)
downloadglibc-1f510b3faa316bf025ce9544fd90ece3549bac05.tar.gz
glibc-1f510b3faa316bf025ce9544fd90ece3549bac05.tar.xz
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/flt-32/e_jnf.c')
-rw-r--r--sysdeps/ieee754/flt-32/e_jnf.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/ieee754/flt-32/e_jnf.c b/sysdeps/ieee754/flt-32/e_jnf.c
index 34c4d95a32..de2e53de83 100644
--- a/sysdeps/ieee754/flt-32/e_jnf.c
+++ b/sysdeps/ieee754/flt-32/e_jnf.c
@@ -187,8 +187,8 @@ static float zero  =  0.0000000000e+00;
 	ix = 0x7fffffff&hx;
     /* if Y(n,NaN) is NaN */
 	if(ix>0x7f800000) return x+x;
-	if(ix==0) return -one/zero;
-	if(hx<0) return zero/zero;
+	if(ix==0) return -HUGE_VALF+x;  /* -inf and overflow exception.  */
+	if(hx<0) return zero/(zero*x);
 	sign = 1;
 	if(n<0){
 		n = -n;