summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordas <das@FreeBSD.org>2010-12-06 00:02:49 +0000
committerdas <das@FreeBSD.org>2010-12-06 00:02:49 +0000
commit812571675e8fd17c6affd8cc80f0bde3cbb19d01 (patch)
tree4ad4284a32e9a5fe0581adc24685756c06b3de14
parentc1efcc0baa107ce6321d774db5245e77ed64cf14 (diff)
downloadFreeBSD-src-812571675e8fd17c6affd8cc80f0bde3cbb19d01.zip
FreeBSD-src-812571675e8fd17c6affd8cc80f0bde3cbb19d01.tar.gz
signbit() returns nonzero for negative arguments, but we shouldn't assume
that it always returns the same nonzero value.
-rw-r--r--tools/regression/lib/msun/test-exponential.c2
-rw-r--r--tools/regression/lib/msun/test-fma.c3
-rw-r--r--tools/regression/lib/msun/test-fmaxmin.c3
-rw-r--r--tools/regression/lib/msun/test-invtrig.c2
-rw-r--r--tools/regression/lib/msun/test-logarithm.c2
-rw-r--r--tools/regression/lib/msun/test-trig.c2
6 files changed, 8 insertions, 6 deletions
diff --git a/tools/regression/lib/msun/test-exponential.c b/tools/regression/lib/msun/test-exponential.c
index 6111e96..53a6116 100644
--- a/tools/regression/lib/msun/test-exponential.c
+++ b/tools/regression/lib/msun/test-exponential.c
@@ -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
diff --git a/tools/regression/lib/msun/test-fma.c b/tools/regression/lib/msun/test-fma.c
index 5511eb3..00620f8 100644
--- a/tools/regression/lib/msun/test-fma.c
+++ b/tools/regression/lib/msun/test-fma.c
@@ -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
diff --git a/tools/regression/lib/msun/test-fmaxmin.c b/tools/regression/lib/msun/test-fmaxmin.c
index 4734186..fdba529 100644
--- a/tools/regression/lib/msun/test-fmaxmin.c
+++ b/tools/regression/lib/msun/test-fmaxmin.c
@@ -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)));
}
/*
diff --git a/tools/regression/lib/msun/test-invtrig.c b/tools/regression/lib/msun/test-invtrig.c
index 5900f5b..05d310f 100644
--- a/tools/regression/lib/msun/test-invtrig.c
+++ b/tools/regression/lib/msun/test-invtrig.c
@@ -118,7 +118,7 @@ fpequal(long double x, long double y, long double tol)
if (isnan(x) && isnan(y))
return (1);
- if (signbit(x) != signbit(y))
+ if (!signbit(x) != !signbit(y))
return (0);
if (x == y)
return (1);
diff --git a/tools/regression/lib/msun/test-logarithm.c b/tools/regression/lib/msun/test-logarithm.c
index e1c0f25..52f562c 100644
--- a/tools/regression/lib/msun/test-logarithm.c
+++ b/tools/regression/lib/msun/test-logarithm.c
@@ -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
diff --git a/tools/regression/lib/msun/test-trig.c b/tools/regression/lib/msun/test-trig.c
index e08c4a7..1ac7873 100644
--- a/tools/regression/lib/msun/test-trig.c
+++ b/tools/regression/lib/msun/test-trig.c
@@ -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));
}
/*
OpenPOWER on IntegriCloud