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.22-688-g2e3d0de


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  2e3d0de31f2020fbf358b932db18b8c44e2c92d0 (commit)
      from  df782dc690775d93b0cc1076655a9b92b5a44ad0 (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=2e3d0de31f2020fbf358b932db18b8c44e2c92d0

commit 2e3d0de31f2020fbf358b932db18b8c44e2c92d0
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Jan 19 21:42:58 2016 +0000

    Fix ulps regeneration for *-finite tests.
    
    On running tests after from-scratch ulps regeneration, I found that
    some libm tests failed with ulps in excess of those recorded in the
    from-scratch regeneration, which should never happen unless those ulps
    exceed the limit on ulps that can go in libm-test-ulps files.
    
    Failure: Test: atan2_upward (inf, -inf)
    Result:
     is:          2.35619498e+00   0x1.2d97ccp+1
     should be:   2.35619450e+00   0x1.2d97c8p+1
     difference:  4.76837159e-07   0x1.000000p-21
     ulp       :  2.0000
     max.ulp   :  1.0000
    Maximal error of `atan2_upward'
     is      : 2 ulp
     accepted: 1 ulp
    Failure: Test: carg_upward (-inf + inf i)
    Result:
     is:          2.35619498e+00   0x1.2d97ccp+1
     should be:   2.35619450e+00   0x1.2d97c8p+1
     difference:  4.76837159e-07   0x1.000000p-21
     ulp       :  2.0000
     max.ulp   :  1.0000
    Maximal error of `carg_upward'
     is      : 2 ulp
     accepted: 1 ulp
    
    The problem comes from the addition of tests for the finite-math-only
    versions of libm functions.  Those tests share ulps with the default
    function variants.  make regen-ulps runs the default tests before the
    finite-math-only tests, concatenating the resulting ulps before
    feeding them to gen-libm-test.pl to generate a new libm-test-ulps
    file.  But gen-libm-test.pl always takes the last ulps value given for
    any (function, type) pair.  So, if the largest ulps for a function
    come from non-finite inputs, a from-scratch regeneration loses those
    ulps.
    
    This patch fixes gen-libm-test.pl, in the case where there are
    multiple ulps values for a (function, type) pair - which can only
    happen as part of a regeneration - to take the largest ulps value
    rather than the last one.
    
    Tested for ARM / MIPS / powerpc-nofpu.
    
    	* math/gen-libm-test.pl (parse_ulps): Do not reduce
    	already-recorded ulps.
    	* sysdeps/arm/libm-test-ulps: Regenerated.
    	* sysdeps/mips/mips32/libm-test-ulps: Likewise.
    	* sysdeps/mips/mips64/libm-test-ulps: Likewise.
    	* sysdeps/powerpc/nofpu/libm-test-ulps: Likewise.

diff --git a/ChangeLog b/ChangeLog
index d3b180f..e5d46bc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2016-01-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* math/gen-libm-test.pl (parse_ulps): Do not reduce
+	already-recorded ulps.
+	* sysdeps/arm/libm-test-ulps: Regenerated.
+	* sysdeps/mips/mips32/libm-test-ulps: Likewise.
+	* sysdeps/mips/mips64/libm-test-ulps: Likewise.
+	* sysdeps/powerpc/nofpu/libm-test-ulps: Likewise.
+
 2016-01-19  Andrew Senkevich  <andrew.senkevich@intel.com>
 	    Paul Pluzhnikov  <ppluzhnikov@google.com>
 
diff --git a/math/gen-libm-test.pl b/math/gen-libm-test.pl
index eb1c299..17f17f7 100755
--- a/math/gen-libm-test.pl
+++ b/math/gen-libm-test.pl
@@ -583,8 +583,11 @@ sub parse_ulps {
 	# ignore
 	next;
       } else {
-	$results{$test}{$type}{'ulp'}{$float} = $eps;
-	$results{$test}{'has_ulps'} = 1;
+	if (!defined ($results{$test}{$type}{'ulp'}{$float})
+	    || $results{$test}{$type}{'ulp'}{$float} < $eps) {
+	  $results{$test}{$type}{'ulp'}{$float} = $eps;
+	  $results{$test}{'has_ulps'} = 1;
+	}
       }
       if ($type =~ /^real|imag$/) {
 	$results{$test}{'type'} = 'complex';
diff --git a/sysdeps/arm/libm-test-ulps b/sysdeps/arm/libm-test-ulps
index 219ba3c..aa3d696 100644
--- a/sysdeps/arm/libm-test-ulps
+++ b/sysdeps/arm/libm-test-ulps
@@ -115,7 +115,7 @@ ifloat: 2
 
 Function: "atan2_upward":
 double: 1
-float: 1
+float: 2
 idouble: 1
 ifloat: 2
 
@@ -291,7 +291,7 @@ ifloat: 2
 
 Function: "carg_upward":
 double: 1
-float: 1
+float: 2
 idouble: 1
 ifloat: 2
 
diff --git a/sysdeps/mips/mips32/libm-test-ulps b/sysdeps/mips/mips32/libm-test-ulps
index 219ba3c..aa3d696 100644
--- a/sysdeps/mips/mips32/libm-test-ulps
+++ b/sysdeps/mips/mips32/libm-test-ulps
@@ -115,7 +115,7 @@ ifloat: 2
 
 Function: "atan2_upward":
 double: 1
-float: 1
+float: 2
 idouble: 1
 ifloat: 2
 
@@ -291,7 +291,7 @@ ifloat: 2
 
 Function: "carg_upward":
 double: 1
-float: 1
+float: 2
 idouble: 1
 ifloat: 2
 
diff --git a/sysdeps/mips/mips64/libm-test-ulps b/sysdeps/mips/mips64/libm-test-ulps
index 0c2914c..5bf6f3e 100644
--- a/sysdeps/mips/mips64/libm-test-ulps
+++ b/sysdeps/mips/mips64/libm-test-ulps
@@ -155,7 +155,7 @@ ldouble: 3
 
 Function: "atan2_upward":
 double: 1
-float: 1
+float: 2
 idouble: 1
 ifloat: 2
 ildouble: 2
@@ -393,7 +393,7 @@ ldouble: 3
 
 Function: "carg_upward":
 double: 1
-float: 1
+float: 2
 idouble: 1
 ifloat: 2
 ildouble: 2
diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps
index 0350eb9..4161342 100644
--- a/sysdeps/powerpc/nofpu/libm-test-ulps
+++ b/sysdeps/powerpc/nofpu/libm-test-ulps
@@ -155,7 +155,7 @@ ldouble: 6
 
 Function: "atan2_upward":
 double: 1
-float: 1
+float: 2
 idouble: 1
 ifloat: 2
 ildouble: 3
@@ -393,7 +393,7 @@ ldouble: 6
 
 Function: "carg_upward":
 double: 1
-float: 1
+float: 2
 idouble: 1
 ifloat: 2
 ildouble: 3

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

Summary of changes:
 ChangeLog                            |    9 +++++++++
 math/gen-libm-test.pl                |    7 +++++--
 sysdeps/arm/libm-test-ulps           |    4 ++--
 sysdeps/mips/mips32/libm-test-ulps   |    4 ++--
 sysdeps/mips/mips64/libm-test-ulps   |    4 ++--
 sysdeps/powerpc/nofpu/libm-test-ulps |    4 ++--
 6 files changed, 22 insertions(+), 10 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]