about summary refs log tree commit diff
path: root/math/libm-test.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-05-06 14:43:15 +0000
committerUlrich Drepper <drepper@redhat.com>1998-05-06 14:43:15 +0000
commit6600049466b586e3decaf24bd70c06b21382cf98 (patch)
tree536fc5c8efe78035527223283bcd5a48ac259576 /math/libm-test.c
parentb22fc5f5651706304ac09305ac3ee5bf84516378 (diff)
downloadglibc-6600049466b586e3decaf24bd70c06b21382cf98.tar.gz
glibc-6600049466b586e3decaf24bd70c06b21382cf98.tar.xz
glibc-6600049466b586e3decaf24bd70c06b21382cf98.zip
Update.
1998-04-16 07:42  Geoff Keating  <geoffk@ozemail.com.au>

	* Makeconfig [!build-static]: Link `static' binaries with libc_pic.a.
	Still need *FLAGS-.o because we still sometimes build .o files.
	* db2/Makefile: Don't build libndbm.a if !build-static.

1998-04-16 07:42  Geoff Keating  <geoffk@ozemail.com.au>

	* configure.in: New test for broken gcc on PowerPC.
	* sysdeps/powerpc/atomicity.h: Use result of test.
	* linuxthreads/sysdeps/powerpc/pt-machine.h: Use result of test.

	* math/libm-test.c: Update many of the epsilon to match actual
	performance.

	* sysdeps/libm-ieee754/e_exp.c: Reduce the number of branches.
	* sysdeps/libm-ieee754/e_expf.c: Likewise.
	* sysdeps/libm-ieee754/s_exp2.c: Likewise.
	* sysdeps/libm-ieee754/s_exp2f.c: Likewise.

	* sysdeps/libm-ieee754/e_pow.c: Correct typo.

	* sysdeps/powerpc/elf/libc-start.c: New file.
	* sysdeps/powerpc/elf/start.S: New file, use libc-start.
	* sysdeps/powerpc/elf/start.c: Delete.

	* sysdeps/unix/sysv/linux/powerpc/Dist: Remove syscall.h
	* sysdeps/unix/sysv/linux/powerpc/syscall.h: Delete.  It was unused.

	* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Correct previous
	few patches.
Diffstat (limited to 'math/libm-test.c')
-rw-r--r--math/libm-test.c50
1 files changed, 25 insertions, 25 deletions
diff --git a/math/libm-test.c b/math/libm-test.c
index 8ec4f1be4d..40838f57d4 100644
--- a/math/libm-test.c
+++ b/math/libm-test.c
@@ -1072,7 +1072,7 @@ cbrt_test (void)
   check_eps ("cbrt (-27) == -3", FUNC(cbrt) (-27.0), -3.0,
 	     CHOOSE (3e-16L, 5e-16, 0));
   check_eps ("cbrt (0.970299) == 0.99", FUNC(cbrt) (0.970299), 0.99,
-	     CHOOSE (2e-17L, 0, 0));
+	     CHOOSE (2e-17L, 2e-16, 0));
   check_eps ("cbrt (0.7) == .8879040017...", FUNC(cbrt) (0.7),
 	     0.8879040017426007084L, CHOOSE(2e-17L, 6e-16, 0));
 
@@ -1113,7 +1113,7 @@ cos_test (void)
 	     0, CHOOSE (1e-19L, 1e-16L, 1e-7L));
 
   check_eps ("cos (0.7) == 0.7648421872...", FUNC(cos) (0.7),
-	     0.7648421872844884262L, CHOOSE(3e-17, 2e-16, 0));
+	     0.7648421872844884262L, CHOOSE(3e-17, 2e-16, 6e-8));
 }
 
 static void
@@ -1608,7 +1608,7 @@ log10_test (void)
   check_eps ("log10 (e) == M_LOG10E", FUNC(log10) (M_El), M_LOG10El,
 	     CHOOSE (1e-18, 0, 9e-8));
   check_eps ("log10 (0.7) == -0.1549019599...", FUNC(log10) (0.7),
-	     -0.15490195998574316929L, CHOOSE(3e-17L, 3e-17, 0));
+	     -0.15490195998574316929L, CHOOSE(3e-17L, 3e-17, 2e-8));
 }
 
 
@@ -1857,7 +1857,7 @@ sinh_test (void)
 #endif
 
   check_eps ("sinh (0.7) == 0.7585837018...", FUNC(sinh) (0.7),
-	     0.75858370183953350346L, CHOOSE(6e-17L, 0, 6e-8));
+	     0.75858370183953350346L, CHOOSE(6e-17L, 2e-16, 6e-8));
 }
 
 
@@ -1914,7 +1914,7 @@ sincos_test (void)
   check_eps ("sincos (0.7, &sin, &cos) puts 0.6442176872... in sin", sin_res,
 	     0.64421768723769105367L, CHOOSE(4e-17L, 0, 0));
   check_eps ("sincos (0.7, &sin, &cos) puts 0.7648421872... in cos", cos_res,
-	     0.76484218728448842626L, CHOOSE(3e-17L, 2e-16, 0));
+	     0.76484218728448842626L, CHOOSE(3e-17L, 2e-16, 6e-8));
 }
 
 
@@ -1946,7 +1946,7 @@ tanh_test (void)
   check ("tanh (-inf) == -1", FUNC(tanh) (minus_infty), -1);
 #endif
   check_eps ("tanh (0.7) == 0.6043677771...", FUNC(tanh) (0.7),
-	     0.60436777711716349631L, CHOOSE(3e-17L, 0, 6e-8));
+	     0.60436777711716349631L, CHOOSE(3e-17L, 2e-16, 6e-8));
 }
 
 
@@ -3437,7 +3437,7 @@ ccosh_test (void)
   check_eps ("real(ccosh(0.7 + i 1.2)) == 0.45482...", __real__ result,
 	     0.4548202223691477654L, CHOOSE(5e-17L, 6e-17, 9e-8));
   check_eps ("imag(ccosh(0.7 + i 1.2)) == 0.70702...", __imag__ result,
-	     0.7070296600921537682L, CHOOSE(7e-17L, 0, 0));
+	     0.7070296600921537682L, CHOOSE(7e-17L, 2e-16, 0));
 
   result = FUNC(ccosh) (BUILD_COMPLEX (-2, -3));
     check_eps ("real(ccosh(-2 - i 3)) == -3.72454...", __real__ result,
@@ -3579,7 +3579,7 @@ cacos_test (void)
   check_eps ("real(cacos(0.7 + i 1.2)) == 1.13518...", __real__ result,
 	     1.1351827477151551089L, CHOOSE(2e-17L, 3e-16, 2e-7));
   check_eps ("imag(cacos(0.7 + i 1.2)) == -1.09276...", __imag__ result,
-	     -1.0927647857577371459L, CHOOSE(4e-17L, 0, 3e-7));
+	     -1.0927647857577371459L, CHOOSE(4e-17L, 3e-16, 3e-7));
 
   result = FUNC(cacos) (BUILD_COMPLEX (-2, -3));
   check_eps ("real(cacos(-2 - i 3)) == 2.14144...", __real__ result,
@@ -3717,7 +3717,7 @@ cacosh_test (void)
 
   result = FUNC(cacosh) (BUILD_COMPLEX (0.7, 1.2));
   check_eps ("real(cacosh(0.7 + i 1.2)) == 1.09276...", __real__ result,
-	     1.0927647857577371459L, CHOOSE(4e-17L, 3e-16, 0));
+	     1.0927647857577371459L, CHOOSE(4e-17L, 3e-16, 2e-7));
   check_eps ("imag(cacosh(0.7 + i 1.2)) == 1.13518...", __imag__ result,
 	 1.1351827477151551089L, CHOOSE(2e-17L, 0, 0));
 
@@ -3864,7 +3864,7 @@ casin_test (void)
   check_eps ("real(casin(0.7 + i 1.2)) == 0.43561...", __real__ result,
 	     0.4356135790797415103L, CHOOSE(2e-17L, 2e-16, 2e-7));
   check_eps ("imag(casin(0.7 + i 1.2)) == 1.09276...", __imag__ result,
-	     1.0927647857577371459L, CHOOSE(4e-17L, 0, 3e-7));
+	     1.0927647857577371459L, CHOOSE(4e-17L, 3e-16, 3e-7));
 
   result = FUNC(casin) (BUILD_COMPLEX (-2, -3));
   check_eps ("real(casin(-2 - i 3)) == -0.57065...", __real__ result,
@@ -4157,13 +4157,13 @@ catan_test (void)
 
   result = FUNC(catan) (BUILD_COMPLEX (0.7, 1.2));
   check_eps ("real(catan(0.7 + i 1.2)) == 1.07857...", __real__ result,
-	     1.0785743834118921877L, CHOOSE (3e-17, 0, 0));
+	     1.0785743834118921877L, CHOOSE (3e-17, 0, 5e-7));
   check_eps ("imag(catan(0.7 + i 1.2)) == 0.57705...", __imag__ result,
-	     0.5770573776534306764L, CHOOSE(3e-17L, 0, 6e-8));
+	     0.5770573776534306764L, CHOOSE(3e-17L, 2e-16, 6e-8));
 
   result = FUNC(catan) (BUILD_COMPLEX (-2, -3));
-  check ("real(catan(-2 - i 3)) == -1.40992...", __real__ result,
-	 -1.4099210495965755225L);
+  check_eps ("real(catan(-2 - i 3)) == -1.40992...", __real__ result,
+	     -1.4099210495965755225L, CHOOSE(0, 0, 4e-7));
   check_eps ("imag(catan(-2 - i 3)) == -0.22907...", __imag__ result,
 	     -0.2290726829685387662L, CHOOSE(1.1e-19L, 3e-17, 2e-8));
 }
@@ -4309,13 +4309,13 @@ catanh_test (void)
   check_eps ("real(catanh(0.7 + i 1.2)) == 0.26007...", __real__ result,
 	     0.2600749516525135959L, CHOOSE (2e-18, 6e-17, 0));
   check_eps ("imag(catanh(0.7 + i 1.2)) == 0.97024...", __imag__ result,
-	     0.9702403077950989849L, CHOOSE (3e-17, 0, 0));
+	     0.9702403077950989849L, CHOOSE (3e-17, 2e-16, 4e-7));
 
   result = FUNC(catanh) (BUILD_COMPLEX (-2, -3));
   check_eps ("real(catanh(-2 - i 3)) == -0.14694...", __real__ result,
-	     -0.1469466662255297520L, CHOOSE (9e-20L, 6e-17, 2e-8));
+	     -0.1469466662255297520L, CHOOSE (9e-20L, 2e-16, 2e-8));
   check_eps ("imag(catanh(-2 - i 3)) == -1.33897...", __imag__ result,
-	     -1.3389725222944935611L, CHOOSE (7e-19L, 0, 0));
+	     -1.3389725222944935611L, CHOOSE (7e-19L, 0, 5e-7));
 }
 
 
@@ -4459,11 +4459,11 @@ ctan_test (void)
   check_eps ("real(ctan(0.7 + i 1.2)) == 0.17207...", __real__ result,
 	     0.1720734197630349001L, CHOOSE(1e-17L, 3e-17, 2e-8));
   check_eps ("imag(ctan(0.7 + i 1.2)) == 0.95448...", __imag__ result,
-	     0.9544807059989405538L, CHOOSE(2e-17L, 2e-16, 0));
+	     0.9544807059989405538L, CHOOSE(2e-17L, 2e-16, 6e-8));
 
   result = FUNC(ctan) (BUILD_COMPLEX (-2, -3));
   check_eps ("real(ctan(-2 - i 3)) == -0.00376...", __real__ result,
-	     0.0037640256415042482L, CHOOSE(1e-19L, 0, 0));
+	     0.0037640256415042482L, CHOOSE(1e-19L, 5e-19, 0));
   check_eps ("imag(ctan(-2 - i 3)) == -1.00323...", __imag__ result,
 	     -1.0032386273536098014L, CHOOSE(2e-19L, 0, 2e-7));
 }
@@ -4610,15 +4610,15 @@ ctanh_test (void)
 
   result = FUNC(ctanh) (BUILD_COMPLEX (0.7, 1.2));
   check_eps ("real(ctanh(0.7 + i 1.2)) == 1.34721...", __real__ result,
-	     1.3472197399061191630L, CHOOSE(4e-17L, 3e-16, 2e-7));
+	     1.3472197399061191630L, CHOOSE(4e-17L, 5e-16, 2e-7));
   check_eps ("imag(ctanh(0.7 + i 1.2)) == -0.47786...", __imag__ result,
-	     0.4778641038326365540L, CHOOSE(9e-17L, 6e-17, 9e-8));
+	     0.4778641038326365540L, CHOOSE(9e-17L, 2e-16, 9e-8));
 
   result = FUNC(ctanh) (BUILD_COMPLEX (-2, -3));
   check_eps ("real(ctanh(-2 - i 3)) == -0.96538...", __real__ result,
-	     -0.9653858790221331242L, CHOOSE(2e-19L, 0, 0));
+	     -0.9653858790221331242L, CHOOSE(2e-19L, 2e-16, 2e-7));
   check_eps ("imag(ctanh(-2 - i 3)) == 0.00988...", __imag__ result,
-	     0.0098843750383224937L, CHOOSE(7e-20L, 0, 1e-9));
+	     0.0098843750383224937L, CHOOSE(7e-20L, 2e-16, 1e-9));
 }
 
 
@@ -4786,7 +4786,7 @@ clog_test (void)
   check_eps ("real(clog(-2 - i 3)) == 1.28247...", __real__ result,
 	     1.2824746787307683680L, CHOOSE(3e-19L, 0, 0));
   check_eps ("imag(clog(-2 - i 3)) == -2.15879...", __imag__ result,
-	     -2.1587989303424641704L, CHOOSE(2e-18L, 0, 0));
+	     -2.1587989303424641704L, CHOOSE(2e-18L, 5e-16, 8e-7));
 }
 
 
@@ -4968,7 +4968,7 @@ clog10_test (void)
   check_eps ("real(clog10(-2 - i 3)) == 0.55697...", __real__ result,
 	     0.5569716761534183846L, CHOOSE(6e-20L, 0, 0));
   check_eps ("imag(clog10(-2 - i 3)) == -0.93755...", __imag__ result,
-	     -0.9375544629863747085L, CHOOSE (7e-19L, 2e-16, 0));
+	     -0.9375544629863747085L, CHOOSE (7e-19L, 2e-16, 3e-7));
 }