Author: das
Date: Mon Dec  6 00:02:49 2010
New Revision: 216222
URL: http://svn.freebsd.org/changeset/base/216222

Log:
  signbit() returns nonzero for negative arguments, but we shouldn't assume
  that it always returns the same nonzero value.

Modified:
  head/tools/regression/lib/msun/test-exponential.c
  head/tools/regression/lib/msun/test-fma.c
  head/tools/regression/lib/msun/test-fmaxmin.c
  head/tools/regression/lib/msun/test-invtrig.c
  head/tools/regression/lib/msun/test-logarithm.c
  head/tools/regression/lib/msun/test-trig.c

Modified: head/tools/regression/lib/msun/test-exponential.c
==============================================================================
--- head/tools/regression/lib/msun/test-exponential.c   Sun Dec  5 23:50:49 
2010        (r216221)
+++ head/tools/regression/lib/msun/test-exponential.c   Mon Dec  6 00:02:49 
2010        (r216222)
@@ -89,7 +89,7 @@ __FBSDID("$FreeBSD$");
 int
 fpequal(long double x, long double y)
 {
-       return ((x == y && signbit(x) == signbit(y)) || isnan(x) && isnan(y));
+       return ((x == y && !signbit(x) == !signbit(y)) || isnan(x) && isnan(y));
 }
 
 void

Modified: head/tools/regression/lib/msun/test-fma.c
==============================================================================
--- head/tools/regression/lib/msun/test-fma.c   Sun Dec  5 23:50:49 2010        
(r216221)
+++ head/tools/regression/lib/msun/test-fma.c   Mon Dec  6 00:02:49 2010        
(r216222)
@@ -85,7 +85,8 @@ int
 fpequal(long double x, long double y)
 {
 
-       return ((x == y && signbit(x) == signbit(y)) || (isnan(x) && isnan(y)));
+       return ((x == y && !signbit(x) == !signbit(y))
+               || (isnan(x) && isnan(y)));
 }
 
 static void

Modified: head/tools/regression/lib/msun/test-fmaxmin.c
==============================================================================
--- head/tools/regression/lib/msun/test-fmaxmin.c       Sun Dec  5 23:50:49 
2010        (r216221)
+++ head/tools/regression/lib/msun/test-fmaxmin.c       Mon Dec  6 00:02:49 
2010        (r216222)
@@ -50,7 +50,8 @@ static inline int
 fpequal(long double x, long double y)
 {
 
-       return ((x == y && signbit(x) == signbit(y)) || (isnan(x) && isnan(y)));
+       return ((x == y && !signbit(x) == !signbit(y))
+               || (isnan(x) && isnan(y)));
 }
 
 /*

Modified: head/tools/regression/lib/msun/test-invtrig.c
==============================================================================
--- head/tools/regression/lib/msun/test-invtrig.c       Sun Dec  5 23:50:49 
2010        (r216221)
+++ head/tools/regression/lib/msun/test-invtrig.c       Mon Dec  6 00:02:49 
2010        (r216222)
@@ -118,7 +118,7 @@ fpequal(long double x, long double y, lo
 
        if (isnan(x) && isnan(y))
                return (1);
-       if (signbit(x) != signbit(y))
+       if (!signbit(x) != !signbit(y))
                return (0);
        if (x == y)
                return (1);

Modified: head/tools/regression/lib/msun/test-logarithm.c
==============================================================================
--- head/tools/regression/lib/msun/test-logarithm.c     Sun Dec  5 23:50:49 
2010        (r216221)
+++ head/tools/regression/lib/msun/test-logarithm.c     Mon Dec  6 00:02:49 
2010        (r216222)
@@ -90,7 +90,7 @@ __FBSDID("$FreeBSD$");
 int
 fpequal(long double x, long double y)
 {
-       return ((x == y && signbit(x) == signbit(y)) || isnan(x) && isnan(y));
+       return ((x == y && !signbit(x) == !signbit(y)) || isnan(x) && isnan(y));
 }
 
 void

Modified: head/tools/regression/lib/msun/test-trig.c
==============================================================================
--- head/tools/regression/lib/msun/test-trig.c  Sun Dec  5 23:50:49 2010        
(r216221)
+++ head/tools/regression/lib/msun/test-trig.c  Mon Dec  6 00:02:49 2010        
(r216222)
@@ -90,7 +90,7 @@ __FBSDID("$FreeBSD$");
 int
 fpequal(long double x, long double y)
 {
-       return ((x == y && signbit(x) == signbit(y)) || isnan(x) && isnan(y));
+       return ((x == y && !signbit(x) == !signbit(y)) || isnan(x) && isnan(y));
 }
 
 /*
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to