Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 25 Oct 1999 19:49:49 +0000 (19:49 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 25 Oct 1999 19:49:49 +0000 (19:49 +0000)
1999-10-25  Andreas Jaeger  <aj@suse.de>

* math/gen-libm-test.pl (parse_ulps): Ignore 0 has ulp.

* math/libm-test.inc (check_float_internal): Don't print ulps for
wrong sign of zero.

ChangeLog
math/gen-libm-test.pl
math/libm-test.inc

index 5f7b4f7..d15a6a9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+1999-10-25  Andreas Jaeger  <aj@suse.de>
+
+       * math/gen-libm-test.pl (parse_ulps): Ignore 0 has ulp.
+
+       * math/libm-test.inc (check_float_internal): Don't print ulps for
+       wrong sign of zero.
+
 1999-10-20  Andreas Jaeger  <aj@suse.de>
 
        * manual/socket.texi (Address Formats): Describe usage of AF_UNIX
index 02316da..d380bbf 100755 (executable)
@@ -33,7 +33,7 @@
 #   It represents the underlying floating point type (float, double or long
 #   double) and if inline functions (the leading i stands for inline)
 #   are used.
-# $results{$test}{$type}{"fail"}{$float} is defined and has a 1 if 
+# $results{$test}{$type}{"fail"}{$float} is defined and has a 1 if
 # the test is expected to fail
 # $results{$test}{$type}{"ulp"}{$float} is defined and has a delta as value
 
@@ -50,7 +50,7 @@ use vars qw (%beautify @all_floats);
 use vars qw ($output_dir $ulps_file);
 
 # all_floats is sorted and contains all recognised float types
-@all_floats = ('double', 'float', 'idouble', 
+@all_floats = ('double', 'float', 'idouble',
               'ifloat', 'ildouble', 'ldouble');
 
 %beautify =
@@ -508,11 +508,6 @@ sub parse_ulps {
       }
       s/^.+\"(.*)\".*$/$1/;
       $test = $_;
-      if ($type =~ /^real|imag$/) {
-       $results{$test}{'type'} = 'complex';
-      } elsif ($type eq 'normal') {
-       $results{$test}{'type'} = 'normal';
-      }
       next;
     }
     if (/^Function: /) {
@@ -526,22 +521,26 @@ sub parse_ulps {
        $type = 'normal';
       }
       ($test) = ($_ =~ /^Function:\s*\"([a-zA-Z0-9_]+)\"/);
-      if ($type =~ /^real|imag$/) {
-       $results{$test}{'type'} = 'complex';
-      } elsif ($type eq 'normal') {
-       $results{$test}{'type'} = 'normal';
-      }
       next;
     }
     if (/^i?(float|double|ldouble):/) {
       ($float, $eps) = split /\s*:\s*/,$_,2;
+
       if ($eps eq 'fail') {
        $results{$test}{$type}{'fail'}{$float} = 1;
        $results{$test}{'has_fails'} = 1;
+      } elsif ($eps eq "0") {
+       # ignore
+       next;
       } else {
        $results{$test}{$type}{'ulp'}{$float} = $eps;
        $results{$test}{'has_ulps'} = 1;
       }
+      if ($type =~ /^real|imag$/) {
+       $results{$test}{'type'} = 'complex';
+      } elsif ($type eq 'normal') {
+       $results{$test}{'type'} = 'normal';
+      }
       next;
     }
     print "Skipping unknown entry: `$_'\n";
@@ -587,8 +586,8 @@ sub print_ulps_file {
        }
        foreach $float (@all_floats) {
          if (exists $results{$test}{$type}{'ulp'}{$float}) {
-           print NEWULP "$float: ", 
-           &clean_up_number ($results{$test}{$type}{'ulp'}{$float}), 
+           print NEWULP "$float: ",
+           &clean_up_number ($results{$test}{$type}{'ulp'}{$float}),
            "\n";
          }
          if (exists $results{$test}{$type}{'fail'}{$float}) {
@@ -612,8 +611,8 @@ sub print_ulps_file {
        }
        foreach $float (@all_floats) {
          if (exists $results{$fct}{$type}{'ulp'}{$float}) {
-           print NEWULP "$float: ", 
-           &clean_up_number ($results{$fct}{$type}{'ulp'}{$float}), 
+           print NEWULP "$float: ",
+           &clean_up_number ($results{$fct}{$type}{'ulp'}{$float}),
            "\n";
          }
          if (exists $results{$fct}{$type}{'fail'}{$float}) {
@@ -639,7 +638,7 @@ sub get_ulps {
       return "0";
     }
     $res = 'BUILD_COMPLEX (';
-    $res .= (exists $results{$test}{'real'}{'ulp'}{$float} 
+    $res .= (exists $results{$test}{'real'}{'ulp'}{$float}
             ? $results{$test}{'real'}{'ulp'}{$float} : "0");
     $res .= ', ';
     $res .= (exists $results{$test}{'imag'}{'ulp'}{$float}
@@ -662,7 +661,7 @@ sub get_failure {
       return "0";
     }
     $res = 'BUILD_COMPLEX_INT (';
-    $res .= (exists $results{$test}{'real'}{'fail'}{$float} 
+    $res .= (exists $results{$test}{'real'}{'fail'}{$float}
             ? $results{$test}{'real'}{'fail'}{$float} : "0");
     $res .= ', ';
     $res .= (exists $results{$test}{'imag'}{'fail'}{$float}
index b71c8ce..71a846f 100644 (file)
@@ -476,10 +476,7 @@ check_float_internal (const char *test_name, FLOAT computed, FLOAT expected,
       if (((exceptions & IGNORE_ZERO_INF_SIGN) == 0)
          && (computed == 0.0 && expected == 0.0
              && signbit(computed) != signbit (expected)))
-       {
-         ok = 0;
-         print_ulps (test_name, ulp);
-       }
+       ok = 0;
       else if (ulp <= max_ulp)
        ok = 1;
       else