aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2001-08-27 13:55:13 +0000
committerAndreas Jaeger <aj@suse.de>2001-08-27 13:55:13 +0000
commitfa9ced58f6e12a594e5250df52875cf1d67a50f0 (patch)
treee3ac76bb393e0e98fdedf9bbb55485d67983dcf5 /sysdeps
parent82ad8034aa1f812bf221ab0d2fc2fc55e2d44654 (diff)
downloadglibc-fa9ced58f6e12a594e5250df52875cf1d67a50f0.tar
glibc-fa9ced58f6e12a594e5250df52875cf1d67a50f0.tar.gz
glibc-fa9ced58f6e12a594e5250df52875cf1d67a50f0.tar.bz2
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-ulps17
-rw-r--r--sysdeps/ieee754/ldbl-128/e_j0l.c8
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;
}