GNU C Library master sources branch master updated. glibc-2.22-458-g6d834d2
Fri Oct 23 22:55:00 GMT 2015

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  6d834d2216bcc733fa04c5a59b5ac6f6f1134f2b (commit)
      from  9d1687b2dfc2da2d837168c7857c1271ed3d3d6e (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 -----------------------------------------------------------------;a=commitdiff;h=6d834d2216bcc733fa04c5a59b5ac6f6f1134f2b

commit 6d834d2216bcc733fa04c5a59b5ac6f6f1134f2b
Author: Joseph Myers <>
Date:   Fri Oct 23 22:54:36 2015 +0000

    Remove special-casing of errors up to 0.5 ulp. has special-case code treating errors of up to 0.5 ulp
    as allowed (for functions that aren't exactly determined) even if no
    such errors appeared in libm-test-ulps.  This only applies to avoid
    errors for individual function calls, not for the overall check of
    ulps at the end of testing a function, resulting in confusing output
    of the form:
    testing double (without inline functions)
    Maximal error of `log_upward'
     is      : 1 ulp
     accepted: 0 ulp
    with no report of what testcase produced that error.  This patch
    removes the special case, so that instead you get:
    testing double (without inline functions)
    Failure: Test: log_upward (0x1.0000000000001p+0)
     is:          2.2204460492503129e-16   0x1.fffffffffffffp-53
     should be:   2.2204460492503131e-16   0x1.0000000000000p-52
     difference:  2.4651903288156619e-32   0x1.0000000000000p-105
     ulp       :  0.5000
     max.ulp   :  0.0000
    Maximal error of `log_upward'
     is      : 1 ulp
     accepted: 0 ulp
    (for formats other than ldbl-128ibm, 0.5 ulp errors only occur in
    unusual cases such as this where the correctly rounded result is a
    power of 2 and the computed result is just below it).  This should not
    affect which cases result in the test failing, just ensure that if it
    fails then some failure for an individual function call was reported.
    Tested for x86_64 and x86.
    	* math/ (check_float_internal): Do not special-case
    	errors up to 0.5 ulp.

diff --git a/ChangeLog b/ChangeLog
index 8a51ab1..041a6eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2015-10-23  Joseph Myers  <>
+	* math/ (check_float_internal): Do not special-case
+	errors up to 0.5 ulp.
 	* math/auto-libm-test-in: Add more tests of log, log10, log1p and
 	* math/auto-libm-test-out: Regenerated.
diff --git a/math/ b/math/
index 989d6ae..239587d 100644
--- a/math/
+++ b/math/
@@ -834,8 +834,7 @@ check_float_internal (const char *test_name, FLOAT computed, FLOAT expected,
 	  && computed == 0.0 && expected == 0.0
 	  && signbit(computed) != signbit (expected))
 	ok = 0;
-      else if ((ulps <= 0.5 && ulps <= max_valid_error)
-	       || (ulps <= max_ulp && !ignore_max_ulp))
+      else if (ulps <= max_ulp && !ignore_max_ulp)
 	ok = 1;
 	ok = 0;


Summary of changes:
 ChangeLog          |    3 +++
 math/ |    3 +--
 2 files changed, 4 insertions(+), 2 deletions(-)

GNU C Library master sources

More information about the Glibc-cvs mailing list