This is the mail archive of the glibc-cvs@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]

GNU C Library master sources branch master updated. glibc-2.18-465-g0712c9d


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  0712c9d861f4e861313a7f9fad06609bd1afb263 (commit)
      from  ffb536d0ac914a110c160c48d01097d132e20531 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0712c9d861f4e861313a7f9fad06609bd1afb263

commit 0712c9d861f4e861313a7f9fad06609bd1afb263
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Nov 29 16:28:47 2013 +0000

    Test sqrt in all rounding modes.

diff --git a/ChangeLog b/ChangeLog
index 2f5b276..faf1c8d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
 2013-11-29  Joseph Myers  <joseph@codesourcery.com>
 
+	* math/libm-test.inc (sqrt_tonearest_test_data): New variable.
+	(sqrt_test_tonearest): New function.
+	(sqrt_towardzero_test_data): New variable.
+	(sqrt_test_towardzero): New function.
+	(sqrt_downward_test_data): New variable.
+	(sqrt_test_downward): New function.
+	(sqrt_upward_test_data): New variable.
+	(sqrt_test_upward): New function.
+	(main): Call the new functions.
+
 	* math/gen-auto-libm-tests.c: New file.
 	* math/auto-libm-test-in: Likewise.
 	* math/auto-libm-test-out: New generated file.
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 017fa63..7c599c1 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -13770,6 +13770,90 @@ sqrt_test (void)
   END;
 }
 
+static const struct test_f_f_data sqrt_tonearest_test_data[] =
+  {
+    TEST_f_f (sqrt, qnan_value, qnan_value, NO_INEXACT_EXCEPTION),
+    TEST_f_f (sqrt, plus_infty, plus_infty, NO_INEXACT_EXCEPTION),
+
+    /* sqrt (x) == qNaN plus invalid exception for x < 0.  */
+    TEST_f_f (sqrt, -1, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+    TEST_f_f (sqrt, -max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+    TEST_f_f (sqrt, minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+
+    AUTO_TESTS_f_f (sqrt, tonearest),
+  };
+
+static void
+sqrt_test_tonearest (void)
+{
+  START (sqrt_tonearest);
+  RUN_TEST_LOOP_f_f (sqrt, sqrt_tonearest_test_data, FE_TONEAREST);
+  END;
+}
+
+static const struct test_f_f_data sqrt_towardzero_test_data[] =
+  {
+    TEST_f_f (sqrt, qnan_value, qnan_value, NO_INEXACT_EXCEPTION),
+    TEST_f_f (sqrt, plus_infty, plus_infty, NO_INEXACT_EXCEPTION),
+
+    /* sqrt (x) == qNaN plus invalid exception for x < 0.  */
+    TEST_f_f (sqrt, -1, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+    TEST_f_f (sqrt, -max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+    TEST_f_f (sqrt, minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+
+    AUTO_TESTS_f_f (sqrt, towardzero),
+  };
+
+static void
+sqrt_test_towardzero (void)
+{
+  START (sqrt_towardzero);
+  RUN_TEST_LOOP_f_f (sqrt, sqrt_towardzero_test_data, FE_TOWARDZERO);
+  END;
+}
+
+static const struct test_f_f_data sqrt_downward_test_data[] =
+  {
+    TEST_f_f (sqrt, qnan_value, qnan_value, NO_INEXACT_EXCEPTION),
+    TEST_f_f (sqrt, plus_infty, plus_infty, NO_INEXACT_EXCEPTION),
+
+    /* sqrt (x) == qNaN plus invalid exception for x < 0.  */
+    TEST_f_f (sqrt, -1, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+    TEST_f_f (sqrt, -max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+    TEST_f_f (sqrt, minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+
+    AUTO_TESTS_f_f (sqrt, downward),
+  };
+
+static void
+sqrt_test_downward (void)
+{
+  START (sqrt_downward);
+  RUN_TEST_LOOP_f_f (sqrt, sqrt_downward_test_data, FE_DOWNWARD);
+  END;
+}
+
+static const struct test_f_f_data sqrt_upward_test_data[] =
+  {
+    TEST_f_f (sqrt, qnan_value, qnan_value, NO_INEXACT_EXCEPTION),
+    TEST_f_f (sqrt, plus_infty, plus_infty, NO_INEXACT_EXCEPTION),
+
+    /* sqrt (x) == qNaN plus invalid exception for x < 0.  */
+    TEST_f_f (sqrt, -1, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+    TEST_f_f (sqrt, -max_value, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+    TEST_f_f (sqrt, minus_infty, qnan_value, NO_INEXACT_EXCEPTION|INVALID_EXCEPTION|ERRNO_EDOM),
+
+    AUTO_TESTS_f_f (sqrt, upward),
+  };
+
+static void
+sqrt_test_upward (void)
+{
+  START (sqrt_upward);
+  RUN_TEST_LOOP_f_f (sqrt, sqrt_upward_test_data, FE_UPWARD);
+  END;
+}
+
 
 static const struct test_f_f_data tan_test_data[] =
   {
@@ -15089,6 +15173,10 @@ main (int argc, char **argv)
   pow_test_downward ();
   pow_test_upward ();
   sqrt_test ();
+  sqrt_test_tonearest ();
+  sqrt_test_towardzero ();
+  sqrt_test_downward ();
+  sqrt_test_upward ();
 
   /* Error and gamma functions:  */
   erf_test ();

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog          |   10 ++++++
 math/libm-test.inc |   88 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 98 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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