* tests/test-signbit.c: Include signed-snan.h instead of snan.h.
(test_signbitf): Test positive_SNaNf, negative_SNaNf, instead of only
SNaNf.
(test_signbitd): Test positive_SNaNd, negative_SNaNd, instead of only
SNaNd.
(test_signbitl): Test positive_SNaNl, negative_SNaNl, instead of only
SNaNl.
* tests/test-stdio.c: Include signed-snan.h instead of snan.h.
(main): Test positive_SNaNd, negative_SNaNd, instead of only SNaNd.
Also, test positive_NaNd, negative_NaNd, instead of NaNd.
* modules/signbit-tests (Depends-on): Add signed-snan. Remove snan.
* modules/stdio-tests (Depends-on): Likewise.
+2023-10-13 Bruno Haible <bruno@clisp.org>
+
+ tests: Make use of signed signalling NaNs.
+ * tests/test-signbit.c: Include signed-snan.h instead of snan.h.
+ (test_signbitf): Test positive_SNaNf, negative_SNaNf, instead of only
+ SNaNf.
+ (test_signbitd): Test positive_SNaNd, negative_SNaNd, instead of only
+ SNaNd.
+ (test_signbitl): Test positive_SNaNl, negative_SNaNl, instead of only
+ SNaNl.
+ * tests/test-stdio.c: Include signed-snan.h instead of snan.h.
+ (main): Test positive_SNaNd, negative_SNaNd, instead of only SNaNd.
+ Also, test positive_NaNd, negative_NaNd, instead of NaNd.
+ * modules/signbit-tests (Depends-on): Add signed-snan. Remove snan.
+ * modules/stdio-tests (Depends-on): Likewise.
+
2023-10-13 Bruno Haible <bruno@clisp.org>
signed-snan: New module.
Depends-on:
float
signed-nan
-snan
+signed-snan
configure.ac:
Depends-on:
assert-h
signed-nan
-snan
+signed-snan
stdio-c++-tests
fgetc-tests
fputc-tests
#include "minus-zero.h"
#include "infinity.h"
#include "signed-nan.h"
-#include "snan.h"
+#include "signed-snan.h"
#include "macros.h"
float zerof = 0.0f;
ASSERT (signbit (negative_NaNf ()));
#if HAVE_SNANF
/* Signalling NaN. */
- (void) signbit (SNaNf ());
+ ASSERT (!signbit (positive_SNaNf ()));
+ ASSERT (signbit (negative_SNaNf ()));
#endif
}
ASSERT (signbit (negative_NaNd ()));
#if HAVE_SNAND
/* Signalling NaN. */
- (void) signbit (SNaNd ());
+ ASSERT (!signbit (positive_SNaNd ()));
+ ASSERT (signbit (negative_SNaNd ()));
#endif
}
ASSERT (signbit (negative_NaNl ()));
#if HAVE_SNANL
/* Signalling NaN. */
- (void) signbit (SNaNl ());
+ ASSERT (!signbit (positive_SNaNl ()));
+ ASSERT (signbit (negative_SNaNl ()));
#endif
}
#include <string.h>
#include "signed-nan.h"
-#include "snan.h"
+#include "signed-snan.h"
#include "macros.h"
int
memory_double value2;
char buf[64];
- value1 = SNaNd();
+ value1 = positive_SNaNd();
sprintf (buf, "%g", value1);
ASSERT (strlen (buf) <= _PRINTF_NAN_LEN_MAX);
- value2.value = NaNd ();
+ value1 = negative_SNaNd();
+ sprintf (buf, "%g", value1);
+ ASSERT (strlen (buf) <= _PRINTF_NAN_LEN_MAX);
+
+ value2.value = positive_NaNd ();
+ #if DBL_EXPBIT0_BIT == 20
+ value2.word[DBL_EXPBIT0_WORD] ^= 0x54321;
+ #endif
+ sprintf (buf, "%g", value2.value);
+ ASSERT (strlen (buf) <= _PRINTF_NAN_LEN_MAX);
+
+ value2.value = negative_NaNd ();
#if DBL_EXPBIT0_BIT == 20
value2.word[DBL_EXPBIT0_WORD] ^= 0x54321;
#endif