This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Add catan, catanh tests around +/- 1 and +/- i


The tests of catan and catanh in libm-test.inc are missing tests of
the special cases at +/- i (catan), +/- 1 (catanh), where an exact
infinity with divide-by-zero exception should occur.  This patch adds
such tests.

Tested x86_64 and x86 (no ulps changes needed).

2013-04-24  Joseph Myers  <joseph@codesourcery.com>

	* math/libm-test.inc (catan_test): Add more tests.
	(catanh_test): Likewise.

diff --git a/math/libm-test.inc b/math/libm-test.inc
index 447b603..00edede 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -4254,6 +4254,15 @@ catan_test (void)
   TEST_c_c (catan, 0, minus_zero, 0, minus_zero);
   TEST_c_c (catan, minus_zero, minus_zero, minus_zero, minus_zero);
 
+  TEST_c_c (catan, 1.0L, plus_zero, M_PI_4l, plus_zero);
+  TEST_c_c (catan, 1.0L, minus_zero, M_PI_4l, minus_zero);
+  TEST_c_c (catan, -1.0L, plus_zero, -M_PI_4l, plus_zero);
+  TEST_c_c (catan, -1.0L, minus_zero, -M_PI_4l, minus_zero);
+  TEST_c_c (catan, plus_zero, 1.0L, plus_zero, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
+  TEST_c_c (catan, minus_zero, 1.0L, minus_zero, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
+  TEST_c_c (catan, plus_zero, -1.0L, plus_zero, minus_infty, DIVIDE_BY_ZERO_EXCEPTION);
+  TEST_c_c (catan, minus_zero, -1.0L, minus_zero, minus_infty, DIVIDE_BY_ZERO_EXCEPTION);
+
   TEST_c_c (catan, plus_infty, plus_infty, M_PI_2l, 0);
   TEST_c_c (catan, plus_infty, minus_infty, M_PI_2l, minus_zero);
   TEST_c_c (catan, minus_infty, plus_infty, -M_PI_2l, 0);
@@ -4350,6 +4359,15 @@ catanh_test (void)
   TEST_c_c (catanh, 0, minus_zero, 0.0, minus_zero);
   TEST_c_c (catanh, minus_zero, minus_zero, minus_zero, minus_zero);
 
+  TEST_c_c (catanh, 1.0L, plus_zero, plus_infty, plus_zero, DIVIDE_BY_ZERO_EXCEPTION);
+  TEST_c_c (catanh, 1.0L, minus_zero, plus_infty, minus_zero, DIVIDE_BY_ZERO_EXCEPTION);
+  TEST_c_c (catanh, -1.0L, plus_zero, minus_infty, plus_zero, DIVIDE_BY_ZERO_EXCEPTION);
+  TEST_c_c (catanh, -1.0L, minus_zero, minus_infty, minus_zero, DIVIDE_BY_ZERO_EXCEPTION);
+  TEST_c_c (catanh, plus_zero, 1.0L, plus_zero, M_PI_4l);
+  TEST_c_c (catanh, minus_zero, 1.0L, minus_zero, M_PI_4l);
+  TEST_c_c (catanh, plus_zero, -1.0L, plus_zero, -M_PI_4l);
+  TEST_c_c (catanh, minus_zero, -1.0L, minus_zero, -M_PI_4l);
+
   TEST_c_c (catanh, plus_infty, plus_infty, 0.0, M_PI_2l);
   TEST_c_c (catanh, plus_infty, minus_infty, 0.0, -M_PI_2l);
   TEST_c_c (catanh, minus_infty, plus_infty, minus_zero, M_PI_2l);

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]