about summary refs log tree commit diff
path: root/sysdeps/ieee754/flt-32/e_jnf.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-09-02 14:51:24 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-09-02 14:51:24 +0000
commitb7835e3223de60d3f5bf1fed66468b5052cd595f (patch)
tree028faceec3efa9b69de0052d6713c5b14bc29ee9 /sysdeps/ieee754/flt-32/e_jnf.c
parent8220f4f00803cfb26520a8bf2ca493493dde4f60 (diff)
downloadglibc-b7835e3223de60d3f5bf1fed66468b5052cd595f.tar.gz
glibc-b7835e3223de60d3f5bf1fed66468b5052cd595f.tar.xz
glibc-b7835e3223de60d3f5bf1fed66468b5052cd595f.zip
Fix spurious jnf underflows (bug 14155).
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 ad26d7e8a6..5984d94a3c 100644
--- a/sysdeps/ieee754/flt-32/e_jnf.c
+++ b/sysdeps/ieee754/flt-32/e_jnf.c
@@ -54,7 +54,7 @@ __ieee754_jnf(int n, float x)
 	    b = __ieee754_j1f(x);
 	    for(i=1;i<n;i++){
 		temp = b;
-		b = b*((float)(i+i)/x) - a; /* avoid underflow */
+		b = b*((double)(i+i)/x) - a; /* avoid underflow */
 		a = temp;
 	    }
 	} else {
@@ -196,7 +196,7 @@ __ieee754_ynf(int n, float x)
 	GET_FLOAT_WORD(ib,b);
 	for(i=1;i<n&&ib!=0xff800000;i++){
 	    temp = b;
-	    b = ((float)(i+i)/x)*b - a;
+	    b = ((double)(i+i)/x)*b - a;
 	    GET_FLOAT_WORD(ib,b);
 	    a = temp;
 	}