diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/i386/fpu/libm-test-ulps | 20 | ||||
-rw-r--r-- | sysdeps/ieee754/flt-32/e_jnf.c | 4 | ||||
-rw-r--r-- | sysdeps/x86_64/fpu/libm-test-ulps | 19 |
3 files changed, 37 insertions, 6 deletions
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 530dbd7402..8244863ef6 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -5635,9 +5635,9 @@ ildouble: 1 ldouble: 1 Test "jn (10, 10.0)": double: 1 -float: 1 +float: 2 idouble: 1 -ifloat: 1 +ifloat: 2 ildouble: 2 ldouble: 2 Test "jn (10, 2.0)": @@ -5648,6 +5648,14 @@ float: 1 ifloat: 1 ildouble: 1 ldouble: 1 +Test "jn (2, 0x1p1023)": +double: 1 +idouble: 1 +Test "jn (2, 0x1p127)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "jn (2, 2.4048255576957729)": double: 1 float: 1 @@ -6844,6 +6852,14 @@ ifloat: 1 Test "yn (10, 2.0)": float: 3 ifloat: 3 +Test "yn (2, 0x1.ffff62p+99)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "yn (2, 0x1p127)": +float: 2 +ifloat: 2 Test "yn (3, 0.125)": ildouble: 1 ldouble: 1 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; } diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps index d02618a0a1..477eedc311 100644 --- a/sysdeps/x86_64/fpu/libm-test-ulps +++ b/sysdeps/x86_64/fpu/libm-test-ulps @@ -6403,6 +6403,11 @@ idouble: 2 ifloat: 2 ildouble: 1 ldouble: 1 +Test "jn (2, 0x1p127)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 Test "jn (2, 2.4048255576957729)": double: 2 float: 1 @@ -7728,6 +7733,16 @@ double: 3 float: 1 idouble: 3 ifloat: 1 +Test "yn (2, 0x1.ffff62p+99)": +double: 1 +idouble: 1 +ildouble: 1 +ldouble: 1 +Test "yn (2, 0x1p127)": +double: 1 +float: 3 +idouble: 1 +ifloat: 3 Test "yn (3, 0.125)": double: 1 idouble: 1 @@ -8428,9 +8443,9 @@ ldouble: 2 Function: "yn": double: 3 -float: 2 +float: 3 idouble: 3 -ifloat: 2 +ifloat: 3 ildouble: 4 ldouble: 4 |