diff options
author | Andreas Jaeger <aj@suse.de> | 2001-08-27 13:55:13 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2001-08-27 13:55:13 +0000 |
commit | fa9ced58f6e12a594e5250df52875cf1d67a50f0 (patch) | |
tree | e3ac76bb393e0e98fdedf9bbb55485d67983dcf5 /sysdeps | |
parent | 82ad8034aa1f812bf221ab0d2fc2fc55e2d44654 (diff) | |
download | glibc-fa9ced58f6e12a594e5250df52875cf1d67a50f0.tar.gz glibc-fa9ced58f6e12a594e5250df52875cf1d67a50f0.tar.xz glibc-fa9ced58f6e12a594e5250df52875cf1d67a50f0.zip |
* sysdeps/i386/fpu/libm-test-ulps (float): Add ulps for new tests.
* math/libm-test.inc (j0_test): Add extra tests. * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Use |x|, not x, in Hankel approximation. Patches by Stephen L Moshier.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/i386/fpu/libm-test-ulps | 17 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-128/e_j0l.c | 8 |
2 files changed, 21 insertions, 4 deletions
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps index 82d167cd18..76fb9f26f3 100644 --- a/sysdeps/i386/fpu/libm-test-ulps +++ b/sysdeps/i386/fpu/libm-test-ulps @@ -681,6 +681,21 @@ ifloat: 1 Test "j0 (10.0) == -0.24593576445134833520": double: 2 idouble: 2 +Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 +Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1": +double: 1 +float: 1 +idouble: 1 +ifloat: 1 +ildouble: 1 +ldouble: 1 + # j1 Test "j1 (10.0) == 0.043472746168861436670": @@ -1500,6 +1515,8 @@ float: 1 ifloat: 1 double: 2 idouble: 2 +ldouble: 1 +ildouble: 1 Function: "j1": double: 2 diff --git a/sysdeps/ieee754/ldbl-128/e_j0l.c b/sysdeps/ieee754/ldbl-128/e_j0l.c index 22a43848b2..e0a61f0658 100644 --- a/sysdeps/ieee754/ldbl-128/e_j0l.c +++ b/sysdeps/ieee754/ldbl-128/e_j0l.c @@ -754,16 +754,16 @@ __ieee754_j0l (long double x) = 1/sqrt(2) * (sin(x) - cos(x)) sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x)) cf. Fdlibm. */ - c = cosl (x); - s = sinl (x); + c = cosl (xx); + s = sinl (xx); ss = s - c; cc = s + c; - z = -cosl (x + x); + z = -cosl (xx + xx); if ((s * c) < 0) cc = z / ss; else ss = z / cc; - z = ONEOSQPI * (p * cc - q * ss) / sqrtl (x); + z = ONEOSQPI * (p * cc - q * ss) / sqrtl (xx); return z; } |