This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Add catan, catanh tests around +/- 1 and +/- i
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Wed, 24 Apr 2013 19:18:57 +0000
- Subject: 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