+2007-04-06 Bruno Haible <bruno@clisp.org>
+
+ * tests/test-frexp.c (main): Test also the sign bit of zero results.
+ * tests/test-frexpl.c (main): Likewise.
+ * tests/test-ldexpl.c (main): Likewise.
+ * modules/frexp-tests (Depends-on): Add signbit.
+ * modules/frexpl-tests (Depdends-on): Likewise.
+ * modules/ldexpl-tests (Depdends-on): Likewise.
+
2007-04-06 Bruno Haible <bruno@clisp.org>
* modules/signbit-tests: New file.
Depends-on:
isnan-nolibm
+signbit
configure.ac:
Depends-on:
fpucw
isnanl-nolibm
+signbit
configure.ac:
Depends-on:
fpucw
isnanl-nolibm
+signbit
configure.ac:
mantissa = frexp (x, &exp);
ASSERT (exp == 0);
ASSERT (mantissa == x);
+ ASSERT (!signbit (mantissa));
}
{ /* Negative zero. */
mantissa = frexp (x, &exp);
ASSERT (exp == 0);
ASSERT (mantissa == x);
+ ASSERT (signbit (mantissa));
}
for (i = 1, x = 1.0; i <= DBL_MAX_EXP; i++, x *= 2.0)
mantissa = frexpl (x, &exp);
ASSERT (exp == 0);
ASSERT (mantissa == x);
+ ASSERT (!signbit (mantissa));
}
{ /* Negative zero. */
mantissa = frexpl (x, &exp);
ASSERT (exp == 0);
ASSERT (mantissa == x);
+ ASSERT (signbit (mantissa));
}
for (i = 1, x = 1.0L; i <= LDBL_MAX_EXP; i++, x *= 2.0L)
{ /* Positive zero. */
x = 0.0L;
- y = ldexpl (x, 0); ASSERT (y == x);
- y = ldexpl (x, 5); ASSERT (y == x);
- y = ldexpl (x, -5); ASSERT (y == x);
+ y = ldexpl (x, 0); ASSERT (y == x); ASSERT (!signbit (x));
+ y = ldexpl (x, 5); ASSERT (y == x); ASSERT (!signbit (x));
+ y = ldexpl (x, -5); ASSERT (y == x); ASSERT (!signbit (x));
}
{ /* Negative zero. */
x = -0.0L;
- y = ldexpl (x, 0); ASSERT (y == x);
- y = ldexpl (x, 5); ASSERT (y == x);
- y = ldexpl (x, -5); ASSERT (y == x);
+ y = ldexpl (x, 0); ASSERT (y == x); ASSERT (signbit (x));
+ y = ldexpl (x, 5); ASSERT (y == x); ASSERT (signbit (x));
+ y = ldexpl (x, -5); ASSERT (y == x); ASSERT (signbit (x));
}
{ /* Positive finite number. */