diff options
author | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-05-09 17:59:37 -0500 |
---|---|---|
committer | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-05-25 13:33:36 -0500 |
commit | 1ced34c00a0aa26dca5aab811a967c1e52c33fe9 (patch) | |
tree | c08873d06a2c935f555d7b03fb84674af813cc7d | |
parent | b4d80349bb8b91fd64d6e860af5c0bd503b15f97 (diff) | |
download | glibc-1ced34c00a0aa26dca5aab811a967c1e52c33fe9.zip glibc-1ced34c00a0aa26dca5aab811a967c1e52c33fe9.tar.gz glibc-1ced34c00a0aa26dca5aab811a967c1e52c33fe9.tar.bz2 |
Refactor tst-strtod-round.c for type-generic-ness
Reduce much of the redundancy in this file, and attempt
to coral the type specific stuff to ease adding an new type.
-rw-r--r-- | ChangeLog | 42 | ||||
-rw-r--r-- | stdlib/gen-tst-strtod-round.c | 48 | ||||
-rw-r--r-- | stdlib/tst-strtod-round-data.h | 7596 | ||||
-rw-r--r-- | stdlib/tst-strtod-round.c | 304 | ||||
-rw-r--r-- | stdlib/tst-strtod.h | 8 |
5 files changed, 3638 insertions, 4360 deletions
@@ -1,3 +1,45 @@ +2016-05-25 Paul E. Murphy <murphyp@linux.vnet.ibm.com> + + * stdlib/gen-tst-strtod-round.c: Add backslash to + compile command in comment. + (printfp): Remove the literal suffix, and define an infinite + value as INF to avoid expansion clash with INFINITY. + (round_str): Remove the literal suffix. + (round_for_all): Likewise, remove the now duplicate ldbl-64 + entry, and remove some magic constants. + + * stdlib/tst-strtod-round.c: (TEST): Redefine to reduce + duplication. Remove duplicate dbl-64 and ldbl-64 entries. + (ROUNDING_TESTS_long_double): Define as 0 for ibm128. + (_CONCAT): New macro. + (CONCAT): Likewise. + (CHOOSE_ld): Likewise. + (CHOOSE_f): Likewise. + (CHOOSE_d): Likewise. + (FTYPE_MEMBER): Likewise. + (BOOL_MEMBER): Likewise. + (STRUCT_FOREACH_FLOAT_FTYPE): Likewise. + (STRUCT_FOREACH_FLOAT_BOOL): Likewise. + (_XNTRY): Likewise. + (XNTRY): Likewise. + (_ENTRY): Likewise. + (ENTRY): Likewise. + (test_exactness): Generate members via macro. + (test_results): Likewise. + (test): Update members. + (TEST): Redefine using new macros. + (INF): New macro. + (fetestmodes): New structure. + (do_test): Refactor to be type generic. + (test_in_one_mode): Refactor duplicate code into + (GEN_ONE_TEST): New macro. + + * stdlib/tst-strtod-round-data.h: Regenerate. + + * stdlib/tst-strtod.h (GEN_TEST_STRTOD_FOREACH): + Extend to pass additional arbitrary parameters to + generators. + 2016-05-25 Joseph Myers <joseph@codesourcery.com> [BZ #15479] diff --git a/stdlib/gen-tst-strtod-round.c b/stdlib/gen-tst-strtod-round.c index fa5562e..1c2823f 100644 --- a/stdlib/gen-tst-strtod-round.c +++ b/stdlib/gen-tst-strtod-round.c @@ -19,7 +19,7 @@ /* Compile this program as: - gcc -std=gnu11 -O2 -Wall -Wextra gen-tst-strtod-round.c -lmpfr + gcc -std=gnu11 -O2 -Wall -Wextra gen-tst-strtod-round.c -lmpfr \ -o gen-tst-strtod-round (use of current MPFR version recommended) and run it as: @@ -60,19 +60,18 @@ string_to_fp (mpfr_t f, const char *s, mpfr_rnd_t rnd) #endif } -static void -print_fp (FILE *fout, mpfr_t f, const char *suffix, const char *suffix2) +void +print_fp (FILE *fout, mpfr_t f, const char *suffix) { if (mpfr_inf_p (f)) - mpfr_fprintf (fout, "\t%sINFINITY%s", mpfr_signbit (f) ? "-" : "", - suffix2); + mpfr_fprintf (fout, "\t%sINF%s", mpfr_signbit (f) ? "-" : "", suffix); else - mpfr_fprintf (fout, "\t%Ra%s%s", f, suffix, suffix2); + mpfr_fprintf (fout, "\t%Ra%s", f, suffix); } static void -round_str (FILE *fout, const char *s, const char *suffix, - int prec, int emin, int emax, bool ibm_ld) +round_str (FILE *fout, const char *s, int prec, int emin, int emax, + bool ibm_ld) { mpfr_t f; mpfr_set_default_prec (prec); @@ -94,13 +93,13 @@ round_str (FILE *fout, const char *s, const char *suffix, mpfr_clear (max_value); } mpfr_fprintf (fout, "\t%s,\n", r ? "false" : "true"); - print_fp (fout, f, suffix, ",\n"); + print_fp (fout, f, ",\n"); string_to_fp (f, s, MPFR_RNDN); - print_fp (fout, f, suffix, ",\n"); + print_fp (fout, f, ",\n"); string_to_fp (f, s, MPFR_RNDZ); - print_fp (fout, f, suffix, ",\n"); + print_fp (fout, f, ",\n"); string_to_fp (f, s, MPFR_RNDU); - print_fp (fout, f, suffix, ""); + print_fp (fout, f, ""); mpfr_clear (f); } @@ -108,21 +107,19 @@ static void round_for_all (FILE *fout, const char *s) { static const struct fmt { - const char *suffix; int prec; int emin; int emax; bool ibm_ld; - } formats[7] = { - { "f", 24, -148, 128, false }, - { "", 53, -1073, 1024, false }, - { "L", 53, -1073, 1024, false }, + } formats[] = { + { 24, -148, 128, false }, + { 53, -1073, 1024, false }, /* This is the Intel extended float format. */ - { "L", 64, -16444, 16384, false }, + { 64, -16444, 16384, false }, /* This is the Motorola extended float format. */ - { "L", 64, -16445, 16384, false }, - { "L", 106, -1073, 1024, true }, - { "L", 113, -16493, 16384, false }, + { 64, -16445, 16384, false }, + { 106, -1073, 1024, true }, + { 113, -16493, 16384, false }, }; mpfr_fprintf (fout, " TEST (\""); const char *p; @@ -134,11 +131,12 @@ round_for_all (FILE *fout, const char *s) } mpfr_fprintf (fout, "\",\n"); int i; - for (i = 0; i < 7; i++) + int n_formats = sizeof (formats) / sizeof (formats[0]); + for (i = 0; i < n_formats; i++) { - round_str (fout, s, formats[i].suffix, formats[i].prec, - formats[i].emin, formats[i].emax, formats[i].ibm_ld); - if (i < 6) + round_str (fout, s, formats[i].prec, formats[i].emin, + formats[i].emax, formats[i].ibm_ld); + if (i < n_formats - 1) mpfr_fprintf (fout, ",\n"); } mpfr_fprintf (fout, "),\n"); diff --git a/stdlib/tst-strtod-round-data.h b/stdlib/tst-strtod-round-data.h index 352d785..1fd3aa8 100644 --- a/stdlib/tst-strtod-round-data.h +++ b/stdlib/tst-strtod-round-data.h @@ -2,2147 +2,1852 @@ static const struct test tests[] = { TEST ("3.518437208883201171875E+013", false, - 0x2p+44f, - 0x2p+44f, - 0x2p+44f, - 0x2.000004p+44f, + 0x2p+44, + 0x2p+44, + 0x2p+44, + 0x2.000004p+44, false, 0x2.0000000000002p+44, 0x2.0000000000004p+44, 0x2.0000000000002p+44, 0x2.0000000000004p+44, - false, - 0x2.0000000000002p+44L, - 0x2.0000000000004p+44L, - 0x2.0000000000002p+44L, - 0x2.0000000000004p+44L, - true, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - true, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - true, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - true, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L, - 0x2.0000000000003p+44L), + true, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + true, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + true, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + true, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44, + 0x2.0000000000003p+44), TEST ("1.00000005960464477550", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000001p+0, 0x1.000001p+0, 0x1.000001p+0, 0x1.0000010000001p+0, false, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.0000010000001p+0L, - false, - 0x1.0000010000000002p+0L, - 0x1.0000010000000002p+0L, - 0x1.0000010000000002p+0L, - 0x1.0000010000000004p+0L, - false, - 0x1.0000010000000002p+0L, - 0x1.0000010000000002p+0L, - 0x1.0000010000000002p+0L, - 0x1.0000010000000004p+0L, - false, - 0x1.0000010000000002048242f2ffp+0L, - 0x1.0000010000000002048242f2ff8p+0L, - 0x1.0000010000000002048242f2ffp+0L, - 0x1.0000010000000002048242f2ff8p+0L, - false, - 0x1.0000010000000002048242f2ff66p+0L, - 0x1.0000010000000002048242f2ff67p+0L, - 0x1.0000010000000002048242f2ff66p+0L, - 0x1.0000010000000002048242f2ff67p+0L), + 0x1.0000010000000002p+0, + 0x1.0000010000000002p+0, + 0x1.0000010000000002p+0, + 0x1.0000010000000004p+0, + false, + 0x1.0000010000000002p+0, + 0x1.0000010000000002p+0, + 0x1.0000010000000002p+0, + 0x1.0000010000000004p+0, + false, + 0x1.0000010000000002048242f2ffp+0, + 0x1.0000010000000002048242f2ff8p+0, + 0x1.0000010000000002048242f2ffp+0, + 0x1.0000010000000002048242f2ff8p+0, + false, + 0x1.0000010000000002048242f2ff66p+0, + 0x1.0000010000000002048242f2ff67p+0, + 0x1.0000010000000002048242f2ff66p+0, + 0x1.0000010000000002048242f2ff67p+0), TEST ("1.0000000596046447755", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000001p+0, 0x1.000001p+0, 0x1.000001p+0, 0x1.0000010000001p+0, false, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.0000010000001p+0L, - false, - 0x1.0000010000000002p+0L, - 0x1.0000010000000002p+0L, - 0x1.0000010000000002p+0L, - 0x1.0000010000000004p+0L, - false, - 0x1.0000010000000002p+0L, - 0x1.0000010000000002p+0L, - 0x1.0000010000000002p+0L, - 0x1.0000010000000004p+0L, - false, - 0x1.0000010000000002048242f2ffp+0L, - 0x1.0000010000000002048242f2ff8p+0L, - 0x1.0000010000000002048242f2ffp+0L, - 0x1.0000010000000002048242f2ff8p+0L, - false, - 0x1.0000010000000002048242f2ff66p+0L, - 0x1.0000010000000002048242f2ff67p+0L, - 0x1.0000010000000002048242f2ff66p+0L, - 0x1.0000010000000002048242f2ff67p+0L), + 0x1.0000010000000002p+0, + 0x1.0000010000000002p+0, + 0x1.0000010000000002p+0, + 0x1.0000010000000004p+0, + false, + 0x1.0000010000000002p+0, + 0x1.0000010000000002p+0, + 0x1.0000010000000002p+0, + 0x1.0000010000000004p+0, + false, + 0x1.0000010000000002048242f2ffp+0, + 0x1.0000010000000002048242f2ff8p+0, + 0x1.0000010000000002048242f2ffp+0, + 0x1.0000010000000002048242f2ff8p+0, + false, + 0x1.0000010000000002048242f2ff66p+0, + 0x1.0000010000000002048242f2ff67p+0, + 0x1.0000010000000002048242f2ff66p+0, + 0x1.0000010000000002048242f2ff67p+0), TEST ("1.000000059604644776", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000001p+0, 0x1.000001p+0, 0x1.000001p+0, 0x1.0000010000001p+0, false, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.0000010000001p+0L, - false, - 0x1.000001000000000ap+0L, - 0x1.000001000000000cp+0L, - 0x1.000001000000000ap+0L, - 0x1.000001000000000cp+0L, - false, - 0x1.000001000000000ap+0L, - 0x1.000001000000000cp+0L, - 0x1.000001000000000ap+0L, - 0x1.000001000000000cp+0L, - false, - 0x1.000001000000000b3db12bdc21p+0L, - 0x1.000001000000000b3db12bdc21p+0L, - 0x1.000001000000000b3db12bdc21p+0L, - 0x1.000001000000000b3db12bdc218p+0L, - false, - 0x1.000001000000000b3db12bdc213cp+0L, - 0x1.000001000000000b3db12bdc213dp+0L, - 0x1.000001000000000b3db12bdc213cp+0L, - 0x1.000001000000000b3db12bdc213dp+0L), + 0x1.000001000000000ap+0, + 0x1.000001000000000cp+0, + 0x1.000001000000000ap+0, + 0x1.000001000000000cp+0, + false, + 0x1.000001000000000ap+0, + 0x1.000001000000000cp+0, + 0x1.000001000000000ap+0, + 0x1.000001000000000cp+0, + false, + 0x1.000001000000000b3db12bdc21p+0, + 0x1.000001000000000b3db12bdc21p+0, + 0x1.000001000000000b3db12bdc21p+0, + 0x1.000001000000000b3db12bdc218p+0, + false, + 0x1.000001000000000b3db12bdc213cp+0, + 0x1.000001000000000b3db12bdc213dp+0, + 0x1.000001000000000b3db12bdc213cp+0, + 0x1.000001000000000b3db12bdc213dp+0), TEST ("1.000000059604644775", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000000fffffffp+0, 0x1.000001p+0, 0x1.000000fffffffp+0, 0x1.000001p+0, false, - 0x1.000000fffffffp+0L, - 0x1.000001p+0L, - 0x1.000000fffffffp+0L, - 0x1.000001p+0L, - false, - 0x1.000000fffffffff8p+0L, - 0x1.000000fffffffff8p+0L, - 0x1.000000fffffffff8p+0L, - 0x1.000000fffffffffap+0L, - false, - 0x1.000000fffffffff8p+0L, - 0x1.000000fffffffff8p+0L, - 0x1.000000fffffffff8p+0L, - 0x1.000000fffffffffap+0L, - false, - 0x1.000000fffffffff8cb535a09dd8p+0L, - 0x1.000000fffffffff8cb535a09dd8p+0L, - 0x1.000000fffffffff8cb535a09dd8p+0L, - 0x1.000000fffffffff8cb535a09dep+0L, - false, - 0x1.000000fffffffff8cb535a09dd9p+0L, - 0x1.000000fffffffff8cb535a09dd91p+0L, - 0x1.000000fffffffff8cb535a09dd9p+0L, - 0x1.000000fffffffff8cb535a09dd91p+0L), + 0x1.000000fffffffff8p+0, + 0x1.000000fffffffff8p+0, + 0x1.000000fffffffff8p+0, + 0x1.000000fffffffffap+0, + false, + 0x1.000000fffffffff8p+0, + 0x1.000000fffffffff8p+0, + 0x1.000000fffffffff8p+0, + 0x1.000000fffffffffap+0, + false, + 0x1.000000fffffffff8cb535a09dd8p+0, + 0x1.000000fffffffff8cb535a09dd8p+0, + 0x1.000000fffffffff8cb535a09dd8p+0, + 0x1.000000fffffffff8cb535a09dep+0, + false, + 0x1.000000fffffffff8cb535a09dd9p+0, + 0x1.000000fffffffff8cb535a09dd91p+0, + 0x1.000000fffffffff8cb535a09dd9p+0, + 0x1.000000fffffffff8cb535a09dd91p+0), TEST ("1.00000005960464478", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000001p+0, 0x1.000001p+0, 0x1.000001p+0, 0x1.0000010000001p+0, false, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.0000010000001p+0L, - false, - 0x1.0000010000000054p+0L, - 0x1.0000010000000056p+0L, - 0x1.0000010000000054p+0L, - 0x1.0000010000000056p+0L, - false, - 0x1.0000010000000054p+0L, - 0x1.0000010000000056p+0L, - 0x1.0000010000000054p+0L, - 0x1.0000010000000056p+0L, - false, - 0x1.0000010000000055072873252f8p+0L, - 0x1.0000010000000055072873253p+0L, - 0x1.0000010000000055072873252f8p+0L, - 0x1.0000010000000055072873253p+0L, - false, - 0x1.0000010000000055072873252febp+0L, - 0x1.0000010000000055072873252febp+0L, - 0x1.0000010000000055072873252febp+0L, - 0x1.0000010000000055072873252fecp+0L), + 0x1.0000010000000054p+0, + 0x1.0000010000000056p+0, + 0x1.0000010000000054p+0, + 0x1.0000010000000056p+0, + false, + 0x1.0000010000000054p+0, + 0x1.0000010000000056p+0, + 0x1.0000010000000054p+0, + 0x1.0000010000000056p+0, + false, + 0x1.0000010000000055072873252f8p+0, + 0x1.0000010000000055072873253p+0, + 0x1.0000010000000055072873252f8p+0, + 0x1.0000010000000055072873253p+0, + false, + 0x1.0000010000000055072873252febp+0, + 0x1.0000010000000055072873252febp+0, + 0x1.0000010000000055072873252febp+0, + 0x1.0000010000000055072873252fecp+0), TEST ("1.0000000596046448", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000001p+0, 0x1.000001p+0, 0x1.000001p+0, 0x1.0000010000001p+0, false, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.0000010000001p+0L, - false, - 0x1.00000100000001c4p+0L, - 0x1.00000100000001c6p+0L, - 0x1.00000100000001c4p+0L, - 0x1.00000100000001c6p+0L, - false, - 0x1.00000100000001c4p+0L, - 0x1.00000100000001c6p+0L, - 0x1.00000100000001c4p+0L, - 0x1.00000100000001c6p+0L, - false, - 0x1.00000100000001c5f67cd79279p+0L, - 0x1.00000100000001c5f67cd792798p+0L, - 0x1.00000100000001c5f67cd79279p+0L, - 0x1.00000100000001c5f67cd792798p+0L, - false, - 0x1.00000100000001c5f67cd7927953p+0L, - 0x1.00000100000001c5f67cd7927954p+0L, - 0x1.00000100000001c5f67cd7927953p+0L, - 0x1.00000100000001c5f67cd7927954p+0L), + 0x1.00000100000001c4p+0, + 0x1.00000100000001c6p+0, + 0x1.00000100000001c4p+0, + 0x1.00000100000001c6p+0, + false, + 0x1.00000100000001c4p+0, + 0x1.00000100000001c6p+0, + 0x1.00000100000001c4p+0, + 0x1.00000100000001c6p+0, + false, + 0x1.00000100000001c5f67cd79279p+0, + 0x1.00000100000001c5f67cd792798p+0, + 0x1.00000100000001c5f67cd79279p+0, + 0x1.00000100000001c5f67cd792798p+0, + false, + 0x1.00000100000001c5f67cd7927953p+0, + 0x1.00000100000001c5f67cd7927954p+0, + 0x1.00000100000001c5f67cd7927953p+0, + 0x1.00000100000001c5f67cd7927954p+0), TEST ("1.000000059604645", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.0000010000001p+0, 0x1.0000010000001p+0, 0x1.0000010000001p+0, 0x1.0000010000002p+0, false, - 0x1.0000010000001p+0L, - 0x1.0000010000001p+0L, - 0x1.0000010000001p+0L, - 0x1.0000010000002p+0L, - false, - 0x1.000001000000102ep+0L, - 0x1.000001000000103p+0L, - 0x1.000001000000102ep+0L, - 0x1.000001000000103p+0L, - false, - 0x1.000001000000102ep+0L, - 0x1.000001000000103p+0L, - 0x1.000001000000102ep+0L, - 0x1.000001000000103p+0L, - false, - 0x1.000001000000102f4fc8c3d757p+0L, - 0x1.000001000000102f4fc8c3d7578p+0L, - 0x1.000001000000102f4fc8c3d757p+0L, - 0x1.000001000000102f4fc8c3d7578p+0L, - false, - 0x1.000001000000102f4fc8c3d75769p+0L, - 0x1.000001000000102f4fc8c3d75769p+0L, - 0x1.000001000000102f4fc8c3d75769p+0L, - 0x1.000001000000102f4fc8c3d7576ap+0L), + 0x1.000001000000102ep+0, + 0x1.000001000000103p+0, + 0x1.000001000000102ep+0, + 0x1.000001000000103p+0, + false, + 0x1.000001000000102ep+0, + 0x1.000001000000103p+0, + 0x1.000001000000102ep+0, + 0x1.000001000000103p+0, + false, + 0x1.000001000000102f4fc8c3d757p+0, + 0x1.000001000000102f4fc8c3d7578p+0, + 0x1.000001000000102f4fc8c3d757p+0, + 0x1.000001000000102f4fc8c3d7578p+0, + false, + 0x1.000001000000102f4fc8c3d75769p+0, + 0x1.000001000000102f4fc8c3d75769p+0, + 0x1.000001000000102f4fc8c3d75769p+0, + 0x1.000001000000102f4fc8c3d7576ap+0), TEST ("1.00000005960464", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000000fffffeap+0, 0x1.000000fffffeap+0, 0x1.000000fffffeap+0, 0x1.000000fffffebp+0, false, - 0x1.000000fffffeap+0L, - 0x1.000000fffffeap+0L, - 0x1.000000fffffeap+0L, - 0x1.000000fffffebp+0L, - false, - 0x1.000000fffffea7e4p+0L, - 0x1.000000fffffea7e6p+0L, - 0x1.000000fffffea7e4p+0L, - 0x1.000000fffffea7e6p+0L, - false, - 0x1.000000fffffea7e4p+0L, - 0x1.000000fffffea7e6p+0L, - 0x1.000000fffffea7e4p+0L, - 0x1.000000fffffea7e6p+0L, - false, - 0x1.000000fffffea7e5975eb11da7p+0L, - 0x1.000000fffffea7e5975eb11da78p+0L, - 0x1.000000fffffea7e5975eb11da7p+0L, - 0x1.000000fffffea7e5975eb11da78p+0L, - false, - 0x1.000000fffffea7e5975eb11da74ap+0L, - 0x1.000000fffffea7e5975eb11da74bp+0L, - 0x1.000000fffffea7e5975eb11da74ap+0L, - 0x1.000000fffffea7e5975eb11da74bp+0L), + 0x1.000000fffffea7e4p+0, + 0x1.000000fffffea7e6p+0, + 0x1.000000fffffea7e4p+0, + 0x1.000000fffffea7e6p+0, + false, + 0x1.000000fffffea7e4p+0, + 0x1.000000fffffea7e6p+0, + 0x1.000000fffffea7e4p+0, + 0x1.000000fffffea7e6p+0, + false, + 0x1.000000fffffea7e5975eb11da7p+0, + 0x1.000000fffffea7e5975eb11da78p+0, + 0x1.000000fffffea7e5975eb11da7p+0, + 0x1.000000fffffea7e5975eb11da78p+0, + false, + 0x1.000000fffffea7e5975eb11da74ap+0, + 0x1.000000fffffea7e5975eb11da74bp+0, + 0x1.000000fffffea7e5975eb11da74ap+0, + 0x1.000000fffffea7e5975eb11da74bp+0), TEST ("1.0000000596046", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000000fffff36p+0, 0x1.000000fffff36p+0, 0x1.000000fffff36p+0, 0x1.000000fffff37p+0, false, - 0x1.000000fffff36p+0L, - 0x1.000000fffff36p+0L, - 0x1.000000fffff36p+0L, - 0x1.000000fffff37p+0L, - false, - 0x1.000000fffff36596p+0L, - 0x1.000000fffff36598p+0L, - 0x1.000000fffff36596p+0L, - 0x1.000000fffff36598p+0L, - false, - 0x1.000000fffff36596p+0L, - 0x1.000000fffff36598p+0L, - 0x1.000000fffff36596p+0L, - 0x1.000000fffff36598p+0L, - false, - 0x1.000000fffff36597d40e1b5026p+0L, - 0x1.000000fffff36597d40e1b50268p+0L, - 0x1.000000fffff36597d40e1b5026p+0L, - 0x1.000000fffff36597d40e1b50268p+0L, - false, - 0x1.000000fffff36597d40e1b502655p+0L, - 0x1.000000fffff36597d40e1b502656p+0L, - 0x1.000000fffff36597d40e1b502655p+0L, - 0x1.000000fffff36597d40e1b502656p+0L), + 0x1.000000fffff36596p+0, + 0x1.000000fffff36598p+0, + 0x1.000000fffff36596p+0, + 0x1.000000fffff36598p+0, + false, + 0x1.000000fffff36596p+0, + 0x1.000000fffff36598p+0, + 0x1.000000fffff36596p+0, + 0x1.000000fffff36598p+0, + false, + 0x1.000000fffff36597d40e1b5026p+0, + 0x1.000000fffff36597d40e1b50268p+0, + 0x1.000000fffff36597d40e1b5026p+0, + 0x1.000000fffff36597d40e1b50268p+0, + false, + 0x1.000000fffff36597d40e1b502655p+0, + 0x1.000000fffff36597d40e1b502656p+0, + 0x1.000000fffff36597d40e1b502655p+0, + 0x1.000000fffff36597d40e1b502656p+0), TEST ("1.000000059605", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000001000063fp+0, 0x1.000001000064p+0, 0x1.000001000063fp+0, 0x1.000001000064p+0, false, - 0x1.000001000063fp+0L, - 0x1.000001000064p+0L, - 0x1.000001000063fp+0L, - 0x1.000001000064p+0L, - false, - 0x1.000001000063fcap+0L, - 0x1.000001000063fca2p+0L, - 0x1.000001000063fcap+0L, - 0x1.000001000063fca2p+0L, - false, - 0x1.000001000063fcap+0L, - 0x1.000001000063fca2p+0L, - 0x1.000001000063fcap+0L, - 0x1.000001000063fca2p+0L, - false, - 0x1.000001000063fca17533f5572f8p+0L, - 0x1.000001000063fca17533f5573p+0L, - 0x1.000001000063fca17533f5572f8p+0L, - 0x1.000001000063fca17533f5573p+0L, - false, - 0x1.000001000063fca17533f5572fe9p+0L, - 0x1.000001000063fca17533f5572feap+0L, - 0x1.000001000063fca17533f5572fe9p+0L, - 0x1.000001000063fca17533f5572feap+0L), + 0x1.000001000063fcap+0, + 0x1.000001000063fca2p+0, + 0x1.000001000063fcap+0, + 0x1.000001000063fca2p+0, + false, + 0x1.000001000063fcap+0, + 0x1.000001000063fca2p+0, + 0x1.000001000063fcap+0, + 0x1.000001000063fca2p+0, + false, + 0x1.000001000063fca17533f5572f8p+0, + 0x1.000001000063fca17533f5573p+0, + 0x1.000001000063fca17533f5572f8p+0, + 0x1.000001000063fca17533f5573p+0, + false, + 0x1.000001000063fca17533f5572fe9p+0, + 0x1.000001000063fca17533f5572feap+0, + 0x1.000001000063fca17533f5572fe9p+0, + 0x1.000001000063fca17533f5572feap+0), TEST ("1.00000005960", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000000fffae49p+0, 0x1.000000fffae4ap+0, 0x1.000000fffae49p+0, 0x1.000000fffae4ap+0, false, - 0x1.000000fffae49p+0L, - 0x1.000000fffae4ap+0L, - 0x1.000000fffae49p+0L, - 0x1.000000fffae4ap+0L, - false, - 0x1.000000fffae49ca8p+0L, - 0x1.000000fffae49caap+0L, - 0x1.000000fffae49ca8p+0L, - 0x1.000000fffae49caap+0L, - false, - 0x1.000000fffae49ca8p+0L, - 0x1.000000fffae49caap+0L, - 0x1.000000fffae49ca8p+0L, - 0x1.000000fffae49caap+0L, - false, - 0x1.000000fffae49ca916dacfff38p+0L, - 0x1.000000fffae49ca916dacfff38p+0L, - 0x1.000000fffae49ca916dacfff38p+0L, - 0x1.000000fffae49ca916dacfff388p+0L, - false, - 0x1.000000fffae49ca916dacfff382dp+0L, - 0x1.000000fffae49ca916dacfff382dp+0L, - 0x1.000000fffae49ca916dacfff382dp+0L, - 0x1.000000fffae49ca916dacfff382ep+0L), + 0x1.000000fffae49ca8p+0, + 0x1.000000fffae49caap+0, + 0x1.000000fffae49ca8p+0, + 0x1.000000fffae49caap+0, + false, + 0x1.000000fffae49ca8p+0, + 0x1.000000fffae49caap+0, + 0x1.000000fffae49ca8p+0, + 0x1.000000fffae49caap+0, + false, + 0x1.000000fffae49ca916dacfff38p+0, + 0x1.000000fffae49ca916dacfff38p+0, + 0x1.000000fffae49ca916dacfff38p+0, + 0x1.000000fffae49ca916dacfff388p+0, + false, + 0x1.000000fffae49ca916dacfff382dp+0, + 0x1.000000fffae49ca916dacfff382dp+0, + 0x1.000000fffae49ca916dacfff382dp+0, + 0x1.000000fffae49ca916dacfff382ep+0), TEST ("1.0000000596", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000000fffae49p+0, 0x1.000000fffae4ap+0, 0x1.000000fffae49p+0, 0x1.000000fffae4ap+0, false, - 0x1.000000fffae49p+0L, - 0x1.000000fffae4ap+0L, - 0x1.000000fffae49p+0L, - 0x1.000000fffae4ap+0L, - false, - 0x1.000000fffae49ca8p+0L, - 0x1.000000fffae49caap+0L, - 0x1.000000fffae49ca8p+0L, - 0x1.000000fffae49caap+0L, - false, - 0x1.000000fffae49ca8p+0L, - 0x1.000000fffae49caap+0L, - 0x1.000000fffae49ca8p+0L, - 0x1.000000fffae49caap+0L, - false, - 0x1.000000fffae49ca916dacfff38p+0L, - 0x1.000000fffae49ca916dacfff38p+0L, - 0x1.000000fffae49ca916dacfff38p+0L, - 0x1.000000fffae49ca916dacfff388p+0L, - false, - 0x1.000000fffae49ca916dacfff382dp+0L, - 0x1.000000fffae49ca916dacfff382dp+0L, - 0x1.000000fffae49ca916dacfff382dp+0L, - 0x1.000000fffae49ca916dacfff382ep+0L), + 0x1.000000fffae49ca8p+0, + 0x1.000000fffae49caap+0, + 0x1.000000fffae49ca8p+0, + 0x1.000000fffae49caap+0, + false, + 0x1.000000fffae49ca8p+0, + 0x1.000000fffae49caap+0, + 0x1.000000fffae49ca8p+0, + 0x1.000000fffae49caap+0, + false, + 0x1.000000fffae49ca916dacfff38p+0, + 0x1.000000fffae49ca916dacfff38p+0, + 0x1.000000fffae49ca916dacfff38p+0, + 0x1.000000fffae49ca916dacfff388p+0, + false, + 0x1.000000fffae49ca916dacfff382dp+0, + 0x1.000000fffae49ca916dacfff382dp+0, + 0x1.000000fffae49ca916dacfff382dp+0, + 0x1.000000fffae49ca916dacfff382ep+0), TEST ("1.000000060", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.00000101b2b29p+0, 0x1.00000101b2b2ap+0, 0x1.00000101b2b29p+0, 0x1.00000101b2b2ap+0, false, - 0x1.00000101b2b29p+0L, - 0x1.00000101b2b2ap+0L, - 0x1.00000101b2b29p+0L, - 0x1.00000101b2b2ap+0L, - false, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a48p+0L, - false, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a48p+0L, - false, - 0x1.00000101b2b29a4692b67b7ca3p+0L, - 0x1.00000101b2b29a4692b67b7ca3p+0L, - 0x1.00000101b2b29a4692b67b7ca3p+0L, - 0x1.00000101b2b29a4692b67b7ca38p+0L, - false, - 0x1.00000101b2b29a4692b67b7ca313p+0L, - 0x1.00000101b2b29a4692b67b7ca314p+0L, - 0x1.00000101b2b29a4692b67b7ca313p+0L, - 0x1.00000101b2b29a4692b67b7ca314p+0L), + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a48p+0, + false, + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a48p+0, + false, + 0x1.00000101b2b29a4692b67b7ca3p+0, + 0x1.00000101b2b29a4692b67b7ca3p+0, + 0x1.00000101b2b29a4692b67b7ca3p+0, + 0x1.00000101b2b29a4692b67b7ca38p+0, + false, + 0x1.00000101b2b29a4692b67b7ca313p+0, + 0x1.00000101b2b29a4692b67b7ca314p+0, + 0x1.00000101b2b29a4692b67b7ca313p+0, + 0x1.00000101b2b29a4692b67b7ca314p+0), TEST ("1.00000006", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.00000101b2b29p+0, 0x1.00000101b2b2ap+0, 0x1.00000101b2b29p+0, 0x1.00000101b2b2ap+0, false, - 0x1.00000101b2b29p+0L, - 0x1.00000101b2b2ap+0L, - 0x1.00000101b2b29p+0L, - 0x1.00000101b2b2ap+0L, - false, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a48p+0L, - false, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a46p+0L, - 0x1.00000101b2b29a48p+0L, - false, - 0x1.00000101b2b29a4692b67b7ca3p+0L, - 0x1.00000101b2b29a4692b67b7ca3p+0L, - 0x1.00000101b2b29a4692b67b7ca3p+0L, - 0x1.00000101b2b29a4692b67b7ca38p+0L, - false, - 0x1.00000101b2b29a4692b67b7ca313p+0L, - 0x1.00000101b2b29a4692b67b7ca314p+0L, - 0x1.00000101b2b29a4692b67b7ca313p+0L, - 0x1.00000101b2b29a4692b67b7ca314p+0L), + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a48p+0, + false, + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a46p+0, + 0x1.00000101b2b29a48p+0, + false, + 0x1.00000101b2b29a4692b67b7ca3p+0, + 0x1.00000101b2b29a4692b67b7ca3p+0, + 0x1.00000101b2b29a4692b67b7ca3p+0, + 0x1.00000101b2b29a4692b67b7ca38p+0, + false, + 0x1.00000101b2b29a4692b67b7ca313p+0, + 0x1.00000101b2b29a4692b67b7ca314p+0, + 0x1.00000101b2b29a4692b67b7ca313p+0, + 0x1.00000101b2b29a4692b67b7ca314p+0), TEST ("1.0000001", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000001ad7f29ap+0, 0x1.000001ad7f29bp+0, 0x1.000001ad7f29ap+0, 0x1.000001ad7f29bp+0, false, - 0x1.000001ad7f29ap+0L, - 0x1.000001ad7f29bp+0L, - 0x1.000001ad7f29ap+0L, - 0x1.000001ad7f29bp+0L, - false, - 0x1.000001ad7f29abcap+0L, - 0x1.000001ad7f29abcap+0L, - 0x1.000001ad7f29abcap+0L, - 0x1.000001ad7f29abccp+0L, - false, - 0x1.000001ad7f29abcap+0L, - 0x1.000001ad7f29abcap+0L, - 0x1.000001ad7f29abcap+0L, - 0x1.000001ad7f29abccp+0L, - false, - 0x1.000001ad7f29abcaf485787a65p+0L, - 0x1.000001ad7f29abcaf485787a65p+0L, - 0x1.000001ad7f29abcaf485787a65p+0L, - 0x1.000001ad7f29abcaf485787a658p+0L, - false, - 0x1.000001ad7f29abcaf485787a652p+0L, - 0x1.000001ad7f29abcaf485787a6521p+0L, - 0x1.000001ad7f29abcaf485787a652p+0L, - 0x1.000001ad7f29abcaf485787a6521p+0L), + 0x1.000001ad7f29abcap+0, + 0x1.000001ad7f29abcap+0, + 0x1.000001ad7f29abcap+0, + 0x1.000001ad7f29abccp+0, + false, + 0x1.000001ad7f29abcap+0, + 0x1.000001ad7f29abcap+0, + 0x1.000001ad7f29abcap+0, + 0x1.000001ad7f29abccp+0, + false, + 0x1.000001ad7f29abcaf485787a65p+0, + 0x1.000001ad7f29abcaf485787a65p+0, + 0x1.000001ad7f29abcaf485787a65p+0, + 0x1.000001ad7f29abcaf485787a658p+0, + false, + 0x1.000001ad7f29abcaf485787a652p+0, + 0x1.000001ad7f29abcaf485787a6521p+0, + 0x1.000001ad7f29abcaf485787a652p+0, + 0x1.000001ad7f29abcaf485787a6521p+0), TEST ("1.000000", true, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1p+0, + true, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1p+0, + true, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1p+0, + true, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1p+0, true, 0x1p+0, 0x1p+0, 0x1p+0, 0x1p+0, true, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - true, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - true, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - true, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - true, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L), + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1p+0), TEST ("1.00000000000000011113", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1p+0, 0x1.0000000000001p+0, 0x1p+0, 0x1.0000000000001p+0, false, - 0x1p+0L, - 0x1.0000000000001p+0L, - 0x1p+0L, - 0x1.0000000000001p+0L, - false, - 0x1.00000000000008p+0L, - 0x1.0000000000000802p+0L, - 0x1.00000000000008p+0L, - 0x1.0000000000000802p+0L, - false, - 0x1.00000000000008p+0L, - 0x1.0000000000000802p+0L, - 0x1.00000000000008p+0L, - 0x1.0000000000000802p+0L, - false, - 0x1.0000000000000801fc96557232p+0L, - 0x1.0000000000000801fc96557232p+0L, - 0x1.0000000000000801fc96557232p+0L, - 0x1.0000000000000801fc965572328p+0L, - false, - 0x1.0000000000000801fc9655723222p+0L, - 0x1.0000000000000801fc9655723222p+0L, - 0x1.0000000000000801fc9655723222p+0L, - 0x1.0000000000000801fc9655723223p+0L), + 0x1.00000000000008p+0, + 0x1.0000000000000802p+0, + 0x1.00000000000008p+0, + 0x1.0000000000000802p+0, + false, + 0x1.00000000000008p+0, + 0x1.0000000000000802p+0, + 0x1.00000000000008p+0, + 0x1.0000000000000802p+0, + false, + 0x1.0000000000000801fc96557232p+0, + 0x1.0000000000000801fc96557232p+0, + 0x1.0000000000000801fc96557232p+0, + 0x1.0000000000000801fc965572328p+0, + false, + 0x1.0000000000000801fc9655723222p+0, + 0x1.0000000000000801fc9655723222p+0, + 0x1.0000000000000801fc9655723222p+0, + 0x1.0000000000000801fc9655723223p+0), TEST ("1.00000000000000011103", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1p+0, 0x1.0000000000001p+0, 0x1p+0, 0x1.0000000000001p+0, false, - 0x1p+0L, - 0x1.0000000000001p+0L, - 0x1p+0L, - 0x1.0000000000001p+0L, - false, - 0x1.00000000000008p+0L, - 0x1.00000000000008p+0L, - 0x1.00000000000008p+0L, - 0x1.0000000000000802p+0L, - false, - 0x1.00000000000008p+0L, - 0x1.00000000000008p+0L, - 0x1.00000000000008p+0L, - 0x1.0000000000000802p+0L, - false, - 0x1.00000000000008002459c076c48p+0L, - 0x1.00000000000008002459c076c5p+0L, - 0x1.00000000000008002459c076c48p+0L, - 0x1.00000000000008002459c076c5p+0L, - false, - 0x1.00000000000008002459c076c4f7p+0L, - 0x1.00000000000008002459c076c4f8p+0L, - 0x1.00000000000008002459c076c4f7p+0L, - 0x1.00000000000008002459c076c4f8p+0L), + 0x1.00000000000008p+0, + 0x1.00000000000008p+0, + 0x1.00000000000008p+0, + 0x1.0000000000000802p+0, + false, + 0x1.00000000000008p+0, + 0x1.00000000000008p+0, + 0x1.00000000000008p+0, + 0x1.0000000000000802p+0, + false, + 0x1.00000000000008002459c076c48p+0, + 0x1.00000000000008002459c076c5p+0, + 0x1.00000000000008002459c076c48p+0, + 0x1.00000000000008002459c076c5p+0, + false, + 0x1.00000000000008002459c076c4f7p+0, + 0x1.00000000000008002459c076c4f8p+0, + 0x1.00000000000008002459c076c4f7p+0, + 0x1.00000000000008002459c076c4f8p+0), TEST ("1.00000000000000011102", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1p+0, 0x1p+0, 0x1p+0, 0x1.0000000000001p+0, false, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - 0x1.0000000000001p+0L, - false, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - false, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - false, - 0x1.00000000000007fff5207e5dap+0L, - 0x1.00000000000007fff5207e5da08p+0L, - 0x1.00000000000007fff5207e5dap+0L, - 0x1.00000000000007fff5207e5da08p+0L, - false, - 0x1.00000000000007fff5207e5da073p+0L, - 0x1.00000000000007fff5207e5da073p+0L, - 0x1.00000000000007fff5207e5da073p+0L, - 0x1.00000000000007fff5207e5da074p+0L), + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + false, + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + false, + 0x1.00000000000007fff5207e5dap+0, + 0x1.00000000000007fff5207e5da08p+0, + 0x1.00000000000007fff5207e5dap+0, + 0x1.00000000000007fff5207e5da08p+0, + false, + 0x1.00000000000007fff5207e5da073p+0, + 0x1.00000000000007fff5207e5da073p+0, + 0x1.00000000000007fff5207e5da073p+0, + 0x1.00000000000007fff5207e5da074p+0), TEST ("1.00000000000000011101", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1p+0, 0x1p+0, 0x1p+0, 0x1.0000000000001p+0, false, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - 0x1.0000000000001p+0L, - false, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - false, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - false, - 0x1.00000000000007ffc5e73c447b8p+0L, - 0x1.00000000000007ffc5e73c447cp+0L, - 0x1.00000000000007ffc5e73c447b8p+0L, - 0x1.00000000000007ffc5e73c447cp+0L, - false, - 0x1.00000000000007ffc5e73c447befp+0L, - 0x1.00000000000007ffc5e73c447befp+0L, - 0x1.00000000000007ffc5e73c447befp+0L, - 0x1.00000000000007ffc5e73c447bfp+0L), + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + false, + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + false, + 0x1.00000000000007ffc5e73c447b8p+0, + 0x1.00000000000007ffc5e73c447cp+0, + 0x1.00000000000007ffc5e73c447b8p+0, + 0x1.00000000000007ffc5e73c447cp+0, + false, + 0x1.00000000000007ffc5e73c447befp+0, + 0x1.00000000000007ffc5e73c447befp+0, + 0x1.00000000000007ffc5e73c447befp+0, + 0x1.00000000000007ffc5e73c447bfp+0), TEST ("1.0000000000000001111", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1p+0, 0x1.0000000000001p+0, 0x1p+0, 0x1.0000000000001p+0, false, - 0x1p+0L, - 0x1.0000000000001p+0L, - 0x1p+0L, - 0x1.0000000000001p+0L, - false, - 0x1.00000000000008p+0L, - 0x1.0000000000000802p+0L, - 0x1.00000000000008p+0L, - 0x1.0000000000000802p+0L, - false, - 0x1.00000000000008p+0L, - 0x1.0000000000000802p+0L, - 0x1.00000000000008p+0L, - 0x1.0000000000000802p+0L, - false, - 0x1.00000000000008016eea8f26c48p+0L, - 0x1.00000000000008016eea8f26c48p+0L, - 0x1.00000000000008016eea8f26c48p+0L, - 0x1.00000000000008016eea8f26c5p+0L, - false, - 0x1.00000000000008016eea8f26c495p+0L, - 0x1.00000000000008016eea8f26c496p+0L, - 0x1.00000000000008016eea8f26c495p+0L, - 0x1.00000000000008016eea8f26c496p+0L), + 0x1.00000000000008p+0, + 0x1.0000000000000802p+0, + 0x1.00000000000008p+0, + 0x1.0000000000000802p+0, + false, + 0x1.00000000000008p+0, + 0x1.0000000000000802p+0, + 0x1.00000000000008p+0, + 0x1.0000000000000802p+0, + false, + 0x1.00000000000008016eea8f26c48p+0, + 0x1.00000000000008016eea8f26c48p+0, + 0x1.00000000000008016eea8f26c48p+0, + 0x1.00000000000008016eea8f26c5p+0, + false, + 0x1.00000000000008016eea8f26c495p+0, + 0x1.00000000000008016eea8f26c496p+0, + 0x1.00000000000008016eea8f26c495p+0, + 0x1.00000000000008016eea8f26c496p+0), TEST ("1.000000000000000111", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1p+0, 0x1p+0, 0x1p+0, 0x1.0000000000001p+0, false, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - 0x1.0000000000001p+0L, - false, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - false, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - 0x1.00000000000007fep+0L, - 0x1.00000000000008p+0L, - false, - 0x1.00000000000007ff96adfa2b57p+0L, - 0x1.00000000000007ff96adfa2b578p+0L, - 0x1.00000000000007ff96adfa2b57p+0L, - 0x1.00000000000007ff96adfa2b578p+0L, - false, - 0x1.00000000000007ff96adfa2b576ap+0L, - 0x1.00000000000007ff96adfa2b576bp+0L, - 0x1.00000000000007ff96adfa2b576ap+0L, - 0x1.00000000000007ff96adfa2b576bp+0L), + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + false, + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + 0x1.00000000000007fep+0, + 0x1.00000000000008p+0, + false, + 0x1.00000000000007ff96adfa2b57p+0, + 0x1.00000000000007ff96adfa2b578p+0, + 0x1.00000000000007ff96adfa2b57p+0, + 0x1.00000000000007ff96adfa2b578p+0, + false, + 0x1.00000000000007ff96adfa2b576ap+0, + 0x1.00000000000007ff96adfa2b576bp+0, + 0x1.00000000000007ff96adfa2b576ap+0, + 0x1.00000000000007ff96adfa2b576bp+0), TEST ("1.00000000000000011", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1p+0, 0x1p+0, 0x1p+0, 0x1.0000000000001p+0, false, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - 0x1.0000000000001p+0L, - false, - 0x1.00000000000007ecp+0L, - 0x1.00000000000007eep+0L, - 0x1.00000000000007ecp+0L, - 0x1.00000000000007eep+0L, - false, - 0x1.00000000000007ecp+0L, - 0x1.00000000000007eep+0L, - 0x1.00000000000007ecp+0L, - 0x1.00000000000007eep+0L, - false, - 0x1.00000000000007ed24502859138p+0L, - 0x1.00000000000007ed24502859138p+0L, - 0x1.00000000000007ed24502859138p+0L, - 0x1.00000000000007ed2450285914p+0L, - false, - 0x1.00000000000007ed2450285913bfp+0L, - 0x1.00000000000007ed2450285913bfp+0L, - 0x1.00000000000007ed2450285913bfp+0L, - 0x1.00000000000007ed2450285913cp+0L), + 0x1.00000000000007ecp+0, + 0x1.00000000000007eep+0, + 0x1.00000000000007ecp+0, + 0x1.00000000000007eep+0, + false, + 0x1.00000000000007ecp+0, + 0x1.00000000000007eep+0, + 0x1.00000000000007ecp+0, + 0x1.00000000000007eep+0, + false, + 0x1.00000000000007ed24502859138p+0, + 0x1.00000000000007ed24502859138p+0, + 0x1.00000000000007ed24502859138p+0, + 0x1.00000000000007ed2450285914p+0, + false, + 0x1.00000000000007ed2450285913bfp+0, + 0x1.00000000000007ed2450285913bfp+0, + 0x1.00000000000007ed2450285913bfp+0, + 0x1.00000000000007ed2450285913cp+0), TEST ("1.0000000000000001", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1p+0, 0x1p+0, 0x1p+0, 0x1.0000000000001p+0, false, - 0x1p+0L, - 0x1p+0L, - 0x1p+0L, - 0x1.0000000000001p+0L, - false, - 0x1.0000000000000734p+0L, - 0x1.0000000000000734p+0L, - 0x1.0000000000000734p+0L, - 0x1.0000000000000736p+0L, - false, - 0x1.0000000000000734p+0L, - 0x1.0000000000000734p+0L, - 0x1.0000000000000734p+0L, - 0x1.0000000000000736p+0L, - false, - 0x1.0000000000000734aca5f6226fp+0L, - 0x1.0000000000000734aca5f6226fp+0L, - 0x1.0000000000000734aca5f6226fp+0L, - 0x1.0000000000000734aca5f6226f8p+0L, - false, - 0x1.0000000000000734aca5f6226f0ap+0L, - 0x1.0000000000000734aca5f6226f0bp+0L, - 0x1.0000000000000734aca5f6226f0ap+0L, - 0x1.0000000000000734aca5f6226f0bp+0L), + 0x1.0000000000000734p+0, + 0x1.0000000000000734p+0, + 0x1.0000000000000734p+0, + 0x1.0000000000000736p+0, + false, + 0x1.0000000000000734p+0, + 0x1.0000000000000734p+0, + 0x1.0000000000000734p+0, + 0x1.0000000000000736p+0, + false, + 0x1.0000000000000734aca5f6226fp+0, + 0x1.0000000000000734aca5f6226fp+0, + 0x1.0000000000000734aca5f6226fp+0, + 0x1.0000000000000734aca5f6226f8p+0, + false, + 0x1.0000000000000734aca5f6226f0ap+0, + 0x1.0000000000000734aca5f6226f0bp+0, + 0x1.0000000000000734aca5f6226f0ap+0, + 0x1.0000000000000734aca5f6226f0bp+0), TEST ("3929201589819414e-25", false, - 0x1.b0053p-32f, - 0x1.b00532p-32f, - 0x1.b0053p-32f, - 0x1.b00532p-32f, + 0x1.b0053p-32, + 0x1.b00532p-32, + 0x1.b0053p-32, + 0x1.b00532p-32, false, 0x1.b005314e2421ep-32, 0x1.b005314e2421ep-32, 0x1.b005314e2421ep-32, 0x1.b005314e2421fp-32, false, - 0x1.b005314e2421ep-32L, - 0x1.b005314e2421ep-32L, - 0x1.b005314e2421ep-32L, - 0x1.b005314e2421fp-32L, - false, - 0x1.b005314e2421e7fep-32L, - 0x1.b005314e2421e8p-32L, - 0x1.b005314e2421e7fep-32L, - 0x1.b005314e2421e8p-32L, - false, - 0x1.b005314e2421e7fep-32L, - 0x1.b005314e2421e8p-32L, - 0x1.b005314e2421e7fep-32L, - 0x1.b005314e2421e8p-32L, - false, - 0x1.b005314e2421e7ffb472840c5ap-32L, - 0x1.b005314e2421e7ffb472840c5a8p-32L, - 0x1.b005314e2421e7ffb472840c5ap-32L, - 0x1.b005314e2421e7ffb472840c5a8p-32L, - false, - 0x1.b005314e2421e7ffb472840c5a6ep-32L, - 0x1.b005314e2421e7ffb472840c5a6fp-32L, - 0x1.b005314e2421e7ffb472840c5a6ep-32L, - 0x1.b005314e2421e7ffb472840c5a6fp-32L), + 0x1.b005314e2421e7fep-32, + 0x1.b005314e2421e8p-32, + 0x1.b005314e2421e7fep-32, + 0x1.b005314e2421e8p-32, + false, + 0x1.b005314e2421e7fep-32, + 0x1.b005314e2421e8p-32, + 0x1.b005314e2421e7fep-32, + 0x1.b005314e2421e8p-32, + false, + 0x1.b005314e2421e7ffb472840c5ap-32, + 0x1.b005314e2421e7ffb472840c5a8p-32, + 0x1.b005314e2421e7ffb472840c5ap-32, + 0x1.b005314e2421e7ffb472840c5a8p-32, + false, + 0x1.b005314e2421e7ffb472840c5a6ep-32, + 0x1.b005314e2421e7ffb472840c5a6fp-32, + 0x1.b005314e2421e7ffb472840c5a6ep-32, + 0x1.b005314e2421e7ffb472840c5a6fp-32), TEST ("0.0000000000000000000000000000000000000000000021019476964872" "256063855943749348741969203929128147736576356024258346866240" "28790902229957282543182373046875", true, - 0x8p-152f, - 0x1p-148f, - 0x8p-152f, - 0x1p-148f, + 0x8p-152, + 0x1p-148, + 0x8p-152, + 0x1p-148, + true, + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xcp-152, + true, + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xcp-152, + true, + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xcp-152, true, 0xcp-152, 0xcp-152, 0xcp-152, 0xcp-152, true, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - true, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - true, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - true, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - true, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L), + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xcp-152), TEST ("1.00000005960464477539062499", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000000fffffffp+0, 0x1.000001p+0, 0x1.000000fffffffp+0, 0x1.000001p+0, false, - 0x1.000000fffffffp+0L, - 0x1.000001p+0L, - 0x1.000000fffffffp+0L, - 0x1.000001p+0L, - false, - 0x1.000000fffffffffep+0L, - 0x1.000001p+0L, - 0x1.000000fffffffffep+0L, - 0x1.000001p+0L, - false, - 0x1.000000fffffffffep+0L, - 0x1.000001p+0L, - 0x1.000000fffffffffep+0L, - 0x1.000001p+0L, - false, - 0x1.000000fffffffffffffffce7b78p+0L, - 0x1.000000fffffffffffffffce7b8p+0L, - 0x1.000000fffffffffffffffce7b78p+0L, - 0x1.000000fffffffffffffffce7b8p+0L, - false, - 0x1.000000fffffffffffffffce7b7e7p+0L, - 0x1.000000fffffffffffffffce7b7e7p+0L, - 0x1.000000fffffffffffffffce7b7e7p+0L, - 0x1.000000fffffffffffffffce7b7e8p+0L), + 0x1.000000fffffffffep+0, + 0x1.000001p+0, + 0x1.000000fffffffffep+0, + 0x1.000001p+0, + false, + 0x1.000000fffffffffep+0, + 0x1.000001p+0, + 0x1.000000fffffffffep+0, + 0x1.000001p+0, + false, + 0x1.000000fffffffffffffffce7b78p+0, + 0x1.000000fffffffffffffffce7b8p+0, + 0x1.000000fffffffffffffffce7b78p+0, + 0x1.000000fffffffffffffffce7b8p+0, + false, + 0x1.000000fffffffffffffffce7b7e7p+0, + 0x1.000000fffffffffffffffce7b7e7p+0, + 0x1.000000fffffffffffffffce7b7e7p+0, + 0x1.000000fffffffffffffffce7b7e8p+0), TEST ("1.000000059604644775390625", false, - 0x1p+0f, - 0x1p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1p+0, + 0x1p+0, + 0x1.000002p+0, + true, + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.000001p+0, + true, + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.000001p+0, + true, + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.000001p+0, true, 0x1.000001p+0, 0x1.000001p+0, 0x1.000001p+0, 0x1.000001p+0, true, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - true, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - true, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - true, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - true, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L), + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.000001p+0), TEST ("1.00000005960464477539062501", false, - 0x1p+0f, - 0x1.000002p+0f, - 0x1p+0f, - 0x1.000002p+0f, + 0x1p+0, + 0x1.000002p+0, + 0x1p+0, + 0x1.000002p+0, false, 0x1.000001p+0, 0x1.000001p+0, 0x1.000001p+0, 0x1.0000010000001p+0, false, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.0000010000001p+0L, - false, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.0000010000000002p+0L, - false, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.000001p+0L, - 0x1.0000010000000002p+0L, - false, - 0x1.00000100000000000000031848p+0L, - 0x1.00000100000000000000031848p+0L, - 0x1.00000100000000000000031848p+0L, - 0x1.000001000000000000000318488p+0L, - false, - 0x1.0000010000000000000003184818p+0L, - 0x1.0000010000000000000003184819p+0L, - 0x1.0000010000000000000003184818p+0L, - 0x1.0000010000000000000003184819p+0L), + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.0000010000000002p+0, + false, + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.000001p+0, + 0x1.0000010000000002p+0, + false, + 0x1.00000100000000000000031848p+0, + 0x1.00000100000000000000031848p+0, + 0x1.00000100000000000000031848p+0, + 0x1.000001000000000000000318488p+0, + false, + 0x1.0000010000000000000003184818p+0, + 0x1.0000010000000000000003184819p+0, + 0x1.0000010000000000000003184818p+0, + 0x1.0000010000000000000003184819p+0), TEST ("1.00000011920928955078125", true, - 0x1.000002p+0f, - 0x1.000002p+0f, - 0x1.000002p+0f, - 0x1.000002p+0f, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0, + true, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0, + true, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0, + true, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0, true, 0x1.000002p+0, 0x1.000002p+0, 0x1.000002p+0, 0x1.000002p+0, true, - 0x1.000002p+0L, - 0x1.000002p+0L, - 0x1.000002p+0L, - 0x1.000002p+0L, - true, - 0x1.000002p+0L, - 0x1.000002p+0L, - 0x1.000002p+0L, - 0x1.000002p+0L, - true, - 0x1.000002p+0L, - 0x1.000002p+0L, - 0x1.000002p+0L, - 0x1.000002p+0L, - true, - 0x1.000002p+0L, - 0x1.000002p+0L, - 0x1.000002p+0L, - 0x1.000002p+0L, - true, - 0x1.000002p+0L, - 0x1.000002p+0L, - 0x1.000002p+0L, - 0x1.000002p+0L), + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0), TEST ("1.00000017881393432617187499", false, - 0x1.000002p+0f, - 0x1.000002p+0f, - 0x1.000002p+0f, - 0x1.000004p+0f, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000002p+0, + 0x1.000004p+0, false, 0x1.000002fffffffp+0, 0x1.000003p+0, 0x1.000002fffffffp+0, 0x1.000003p+0, false, - 0x1.000002fffffffp+0L, - 0x1.000003p+0L, - 0x1.000002fffffffp+0L, - 0x1.000003p+0L, - false, - 0x1.000002fffffffffep+0L, - 0x1.000003p+0L, - 0x1.000002fffffffffep+0L, - 0x1.000003p+0L, - false, - 0x1.000002fffffffffep+0L, - 0x1.000003p+0L, - 0x1.000002fffffffffep+0L, - 0x1.000003p+0L, - false, - 0x1.000002fffffffffffffffce7b78p+0L, - 0x1.000002fffffffffffffffce7b8p+0L, - 0x1.000002fffffffffffffffce7b78p+0L, - 0x1.000002fffffffffffffffce7b8p+0L, - false, - 0x1.000002fffffffffffffffce7b7e7p+0L, - 0x1.000002fffffffffffffffce7b7e7p+0L, - 0x1.000002fffffffffffffffce7b7e7p+0L, - 0x1.000002fffffffffffffffce7b7e8p+0L), + 0x1.000002fffffffffep+0, + 0x1.000003p+0, + 0x1.000002fffffffffep+0, + 0x1.000003p+0, + false, + 0x1.000002fffffffffep+0, + 0x1.000003p+0, + 0x1.000002fffffffffep+0, + 0x1.000003p+0, + false, + 0x1.000002fffffffffffffffce7b78p+0, + 0x1.000002fffffffffffffffce7b8p+0, + 0x1.000002fffffffffffffffce7b78p+0, + 0x1.000002fffffffffffffffce7b8p+0, + false, + 0x1.000002fffffffffffffffce7b7e7p+0, + 0x1.000002fffffffffffffffce7b7e7p+0, + 0x1.000002fffffffffffffffce7b7e7p+0, + 0x1.000002fffffffffffffffce7b7e8p+0), TEST ("1.000000178813934326171875", false, - 0x1.000002p+0f, - 0x1.000004p+0f, - 0x1.000002p+0f, - 0x1.000004p+0f, + 0x1.000002p+0, + 0x1.000004p+0, + 0x1.000002p+0, + 0x1.000004p+0, + true, + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.000003p+0, true, 0x1.000003p+0, 0x1.000003p+0, 0x1.000003p+0, 0x1.000003p+0, true, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - true, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - true, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - true, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - true, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L), + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.000003p+0, + true, + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.000003p+0, + true, + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.000003p+0), TEST ("1.00000017881393432617187501", false, - 0x1.000002p+0f, - 0x1.000004p+0f, - 0x1.000002p+0f, - 0x1.000004p+0f, + 0x1.000002p+0, + 0x1.000004p+0, + 0x1.000002p+0, + 0x1.000004p+0, false, 0x1.000003p+0, 0x1.000003p+0, 0x1.000003p+0, 0x1.0000030000001p+0, false, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.0000030000001p+0L, - false, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.0000030000000002p+0L, - false, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.000003p+0L, - 0x1.0000030000000002p+0L, - false, - 0x1.00000300000000000000031848p+0L, - 0x1.00000300000000000000031848p+0L, - 0x1.00000300000000000000031848p+0L, - 0x1.000003000000000000000318488p+0L, - false, - 0x1.0000030000000000000003184818p+0L, - 0x1.0000030000000000000003184819p+0L, - 0x1.0000030000000000000003184818p+0L, - 0x1.0000030000000000000003184819p+0L), + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.0000030000000002p+0, + false, + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.000003p+0, + 0x1.0000030000000002p+0, + false, + 0x1.00000300000000000000031848p+0, + 0x1.00000300000000000000031848p+0, + 0x1.00000300000000000000031848p+0, + 0x1.000003000000000000000318488p+0, + false, + 0x1.0000030000000000000003184818p+0, + 0x1.0000030000000000000003184819p+0, + 0x1.0000030000000000000003184818p+0, + 0x1.0000030000000000000003184819p+0), TEST ("1.0000002384185791015625", true, - 0x1.000004p+0f, - 0x1.000004p+0f, - 0x1.000004p+0f, - 0x1.000004p+0f, + 0x1.000004p+0, + 0x1.000004p+0, + 0x1.000004p+0, + 0x1.000004p+0, + true, + 0x1.000004p+0, + 0x1.000004p+0, + 0x1.000004p+0, + 0x1.000004p+0, + true, + 0x1.000004p+0, + 0x1.000004p+0, + 0x1.000004p+0, + 0x1.000004p+0, + true, + 0x1.000004p+0, + 0x1.000004p+0, + 0x1.000004p+0, + 0x1.000004p+0, true, 0x1.000004p+0, 0x1.000004p+0, 0x1.000004p+0, 0x1.000004p+0, true, - 0x1.000004p+0L, - 0x1.000004p+0L, - 0x1.000004p+0L, - 0x1.000004p+0L, - true, - 0x1.000004p+0L, - 0x1.000004p+0L, - 0x1.000004p+0L, - 0x1.000004p+0L, - true, - 0x1.000004p+0L, - 0x1.000004p+0L, - 0x1.000004p+0L, - 0x1.000004p+0L, - true, - 0x1.000004p+0L, - 0x1.000004p+0L, - 0x1.000004p+0L, - 0x1.000004p+0L, - true, - 0x1.000004p+0L, - 0x1.000004p+0L, - 0x1.000004p+0L, - 0x1.000004p+0L), + 0x1.000004p+0, + 0x1.000004p+0, + 0x1.000004p+0, + 0x1.000004p+0), TEST ("1.08420217248550443400745280086994171142578125e-19", true, - 0x2p-64f, - 0x2p-64f, - 0x2p-64f, - 0x2p-64f, + 0x2p-64, + 0x2p-64, + 0x2p-64, + 0x2p-64, + true, + 0x2p-64, + 0x2p-64, + 0x2p-64, + 0x2p-64, + true, + 0x2p-64, + 0x2p-64, + 0x2p-64, + 0x2p-64, + true, + 0x2p-64, + 0x2p-64, + 0x2p-64, + 0x2p-64, true, 0x2p-64, 0x2p-64, 0x2p-64, 0x2p-64, true, - 0x2p-64L, - 0x2p-64L, - 0x2p-64L, - 0x2p-64L, - true, - 0x2p-64L, - 0x2p-64L, - 0x2p-64L, - 0x2p-64L, - true, - 0x2p-64L, - 0x2p-64L, - 0x2p-64L, - 0x2p-64L, - true, - 0x2p-64L, - 0x2p-64L, - 0x2p-64L, - 0x2p-64L, - true, - 0x2p-64L, - 0x2p-64L, - 0x2p-64L, - 0x2p-64L), + 0x2p-64, + 0x2p-64, + 0x2p-64, + 0x2p-64), TEST ("1.0842022371089897897127399001987457793916291848290711641311" "645507812499e-19", false, - 0x2p-64f, - 0x2p-64f, - 0x2p-64f, - 0x2.000004p-64f, + 0x2p-64, + 0x2p-64, + 0x2p-64, + 0x2.000004p-64, false, 0x2.000001ffffffep-64, 0x2.000002p-64, 0x2.000001ffffffep-64, 0x2.000002p-64, false, - 0x2.000001ffffffep-64L, - 0x2.000002p-64L, - 0x2.000001ffffffep-64L, - 0x2.000002p-64L, - false, - 0x2.000001fffffffffcp-64L, - 0x2.000002p-64L, - 0x2.000001fffffffffcp-64L, - 0x2.000002p-64L, - false, - 0x2.000001fffffffffcp-64L, - 0x2.000002p-64L, - 0x2.000001fffffffffcp-64L, - 0x2.000002p-64L, - false, - 0x2.000001ffffffffffffffffffffp-64L, - 0x2.000002p-64L, - 0x2.000001ffffffffffffffffffffp-64L, - 0x2.000002p-64L, - false, - 0x2.000001fffffffffffffffffffffep-64L, - 0x2.000002p-64L, - 0x2.000001fffffffffffffffffffffep-64L, - 0x2.000002p-64L), + 0x2.000001fffffffffcp-64, + 0x2.000002p-64, + 0x2.000001fffffffffcp-64, + 0x2.000002p-64, + false, + 0x2.000001fffffffffcp-64, + 0x2.000002p-64, + 0x2.000001fffffffffcp-64, + 0x2.000002p-64, + false, + 0x2.000001ffffffffffffffffffffp-64, + 0x2.000002p-64, + 0x2.000001ffffffffffffffffffffp-64, + 0x2.000002p-64, + false, + 0x2.000001fffffffffffffffffffffep-64, + 0x2.000002p-64, + 0x2.000001fffffffffffffffffffffep-64, + 0x2.000002p-64), TEST ("1.0842022371089897897127399001987457793916291848290711641311" "6455078125e-19", false, - 0x2p-64f, - 0x2p-64f, - 0x2p-64f, - 0x2.000004p-64f, + 0x2p-64, + 0x2p-64, + 0x2p-64, + 0x2.000004p-64, + true, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, + true, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, true, 0x2.000002p-64, 0x2.000002p-64, 0x2.000002p-64, 0x2.000002p-64, true, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - true, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - true, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - true, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - true, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L), + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, + true, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64), TEST ("1.0842022371089897897127399001987457793916291848290711641311" "645507812501e-19", false, - 0x2p-64f, - 0x2.000004p-64f, - 0x2p-64f, - 0x2.000004p-64f, + 0x2p-64, + 0x2.000004p-64, + 0x2p-64, + 0x2.000004p-64, false, 0x2.000002p-64, 0x2.000002p-64, 0x2.000002p-64, 0x2.0000020000002p-64, false, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.0000020000002p-64L, - false, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.0000020000000004p-64L, - false, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.0000020000000004p-64L, - false, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.00000200000000000000000001p-64L, - false, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.000002p-64L, - 0x2.0000020000000000000000000002p-64L), + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.0000020000000004p-64, + false, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.0000020000000004p-64, + false, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.00000200000000000000000001p-64, + false, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.000002p-64, + 0x2.0000020000000000000000000002p-64), TEST ("1.0842023017324751454180269995275498473574771196581423282623" "291015625e-19", true, - 0x2.000004p-64f, - 0x2.000004p-64f, - 0x2.000004p-64f, - 0x2.000004p-64f, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64, + true, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64, + true, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64, + true, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64, true, 0x2.000004p-64, 0x2.000004p-64, 0x2.000004p-64, 0x2.000004p-64, true, - 0x2.000004p-64L, - 0x2.000004p-64L, - 0x2.000004p-64L, - 0x2.000004p-64L, - true, - 0x2.000004p-64L, - 0x2.000004p-64L, - 0x2.000004p-64L, - 0x2.000004p-64L, - true, - 0x2.000004p-64L, - 0x2.000004p-64L, - 0x2.000004p-64L, - 0x2.000004p-64L, - true, - 0x2.000004p-64L, - 0x2.000004p-64L, - 0x2.000004p-64L, - 0x2.000004p-64L, - true, - 0x2.000004p-64L, - 0x2.000004p-64L, - 0x2.000004p-64L, - 0x2.000004p-64L), + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64), TEST ("1.0842023663559605011233140988563539153233250544872134923934" "936523437499e-19", false, - 0x2.000004p-64f, - 0x2.000004p-64f, - 0x2.000004p-64f, - 0x2.000008p-64f, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000004p-64, + 0x2.000008p-64, false, 0x2.000005ffffffep-64, 0x2.000006p-64, 0x2.000005ffffffep-64, 0x2.000006p-64, false, - 0x2.000005ffffffep-64L, - 0x2.000006p-64L, - 0x2.000005ffffffep-64L, - 0x2.000006p-64L, - false, - 0x2.000005fffffffffcp-64L, - 0x2.000006p-64L, - 0x2.000005fffffffffcp-64L, - 0x2.000006p-64L, - false, - 0x2.000005fffffffffcp-64L, - 0x2.000006p-64L, - 0x2.000005fffffffffcp-64L, - 0x2.000006p-64L, - false, - 0x2.000005ffffffffffffffffffffp-64L, - 0x2.000006p-64L, - 0x2.000005ffffffffffffffffffffp-64L, - 0x2.000006p-64L, - false, - 0x2.000005fffffffffffffffffffffep-64L, - 0x2.000006p-64L, - 0x2.000005fffffffffffffffffffffep-64L, - 0x2.000006p-64L), + 0x2.000005fffffffffcp-64, + 0x2.000006p-64, + 0x2.000005fffffffffcp-64, + 0x2.000006p-64, + false, + 0x2.000005fffffffffcp-64, + 0x2.000006p-64, + 0x2.000005fffffffffcp-64, + 0x2.000006p-64, + false, + 0x2.000005ffffffffffffffffffffp-64, + 0x2.000006p-64, + 0x2.000005ffffffffffffffffffffp-64, + 0x2.000006p-64, + false, + 0x2.000005fffffffffffffffffffffep-64, + 0x2.000006p-64, + 0x2.000005fffffffffffffffffffffep-64, + 0x2.000006p-64), TEST ("1.0842023663559605011233140988563539153233250544872134923934" "9365234375e-19", false, - 0x2.000004p-64f, - 0x2.000008p-64f, - 0x2.000004p-64f, - 0x2.000008p-64f, + 0x2.000004p-64, + 0x2.000008p-64, + 0x2.000004p-64, + 0x2.000008p-64, + true, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, true, 0x2.000006p-64, 0x2.000006p-64, 0x2.000006p-64, 0x2.000006p-64, true, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - true, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - true, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - true, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - true, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L), + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, + true, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, + true, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64), TEST ("1.0842023663559605011233140988563539153233250544872134923934" "936523437501e-19", false, - 0x2.000004p-64f, - 0x2.000008p-64f, - 0x2.000004p-64f, - 0x2.000008p-64f, + 0x2.000004p-64, + 0x2.000008p-64, + 0x2.000004p-64, + 0x2.000008p-64, false, 0x2.000006p-64, 0x2.000006p-64, 0x2.000006p-64, 0x2.0000060000002p-64, false, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.0000060000002p-64L, - false, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.0000060000000004p-64L, - false, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.0000060000000004p-64L, - false, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.00000600000000000000000001p-64L, - false, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.000006p-64L, - 0x2.0000060000000000000000000002p-64L), + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.0000060000000004p-64, + false, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.0000060000000004p-64, + false, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.00000600000000000000000001p-64, + false, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.000006p-64, + 0x2.0000060000000000000000000002p-64), TEST ("1.0842024309794458568286011981851579832891729893162846565246" "58203125e-19", true, - 0x2.000008p-64f, - 0x2.000008p-64f, - 0x2.000008p-64f, - 0x2.000008p-64f, + 0x2.000008p-64, + 0x2.000008p-64, + 0x2.000008p-64, + 0x2.000008p-64, + true, + 0x2.000008p-64, + 0x2.000008p-64, + 0x2.000008p-64, + 0x2.000008p-64, + true, + 0x2.000008p-64, + 0x2.000008p-64, + 0x2.000008p-64, + 0x2.000008p-64, + true, + 0x2.000008p-64, + 0x2.000008p-64, + 0x2.000008p-64, + 0x2.000008p-64, true, 0x2.000008p-64, 0x2.000008p-64, 0x2.000008p-64, 0x2.000008p-64, true, - 0x2.000008p-64L, - 0x2.000008p-64L, - 0x2.000008p-64L, - 0x2.000008p-64L, - true, - 0x2.000008p-64L, - 0x2.000008p-64L, - 0x2.000008p-64L, - 0x2.000008p-64L, - true, - 0x2.000008p-64L, - 0x2.000008p-64L, - 0x2.000008p-64L, - 0x2.000008p-64L, - true, - 0x2.000008p-64L, - 0x2.000008p-64L, - 0x2.000008p-64L, - 0x2.000008p-64L, - true, - 0x2.000008p-64L, - 0x2.000008p-64L, - 0x2.000008p-64L, - 0x2.000008p-64L), + 0x2.000008p-64, + 0x2.000008p-64, + 0x2.000008p-64, + 0x2.000008p-64), TEST ("7.5231638452626400509999138382223723380394595633413601376560" "1092018187046051025390625e-37", true, - 0x1p-120f, - 0x1p-120f, - 0x1p-120f, - 0x1p-120f, + 0x1p-120, + 0x1p-120, + 0x1p-120, + 0x1p-120, + true, + 0x1p-120, + 0x1p-120, + 0x1p-120, + 0x1p-120, + true, + 0x1p-120, + 0x1p-120, + 0x1p-120, + 0x1p-120, true, 0x1p-120, 0x1p-120, 0x1p-120, 0x1p-120, true, - 0x1p-120L, - 0x1p-120L, - 0x1p-120L, - 0x1p-120L, - true, - 0x1p-120L, - 0x1p-120L, - 0x1p-120L, - 0x1p-120L, - true, - 0x1p-120L, - 0x1p-120L, - 0x1p-120L, - 0x1p-120L, - true, - 0x1p-120L, - 0x1p-120L, - 0x1p-120L, - 0x1p-120L, - true, - 0x1p-120L, - 0x1p-120L, - 0x1p-120L, - 0x1p-120L), + 0x1p-120, + 0x1p-120, + 0x1p-120, + 0x1p-120, + true, + 0x1p-120, + 0x1p-120, + 0x1p-120, + 0x1p-120), TEST ("7.5231642936781486349413765338158389908126215730251815381410" "578824437213052434003657253924757242202758789062499e-37", false, - 0x1p-120f, - 0x1p-120f, - 0x1p-120f, - 0x1.000002p-120f, + 0x1p-120, + 0x1p-120, + 0x1p-120, + 0x1.000002p-120, false, 0x1.000000fffffffp-120, 0x1.000001p-120, 0x1.000000fffffffp-120, 0x1.000001p-120, false, - 0x1.000000fffffffp-120L, - 0x1.000001p-120L, - 0x1.000000fffffffp-120L, - 0x1.000001p-120L, - false, - 0x1.000000fffffffffep-120L, - 0x1.000001p-120L, - 0x1.000000fffffffffep-120L, - 0x1.000001p-120L, - false, - 0x1.000000fffffffffep-120L, - 0x1.000001p-120L, - 0x1.000000fffffffffep-120L, - 0x1.000001p-120L, - false, - 0x1.000000ffffffffffffffffffff8p-120L, - 0x1.000001p-120L, - 0x1.000000ffffffffffffffffffff8p-120L, - 0x1.000001p-120L, - false, - 0x1.000000ffffffffffffffffffffffp-120L, - 0x1.000001p-120L, - 0x1.000000ffffffffffffffffffffffp-120L, - 0x1.000001p-120L), + 0x1.000000fffffffffep-120, + 0x1.000001p-120, + 0x1.000000fffffffffep-120, + 0x1.000001p-120, + false, + 0x1.000000fffffffffep-120, + 0x1.000001p-120, + 0x1.000000fffffffffep-120, + 0x1.000001p-120, + false, + 0x1.000000ffffffffffffffffffff8p-120, + 0x1.000001p-120, + 0x1.000000ffffffffffffffffffff8p-120, + 0x1.000001p-120, + false, + 0x1.000000ffffffffffffffffffffffp-120, + 0x1.000001p-120, + 0x1.000000ffffffffffffffffffffffp-120, + 0x1.000001p-120), TEST ("7.5231642936781486349413765338158389908126215730251815381410" "5788244372130524340036572539247572422027587890625e-37", false, - 0x1p-120f, - 0x1p-120f, - 0x1p-120f, - 0x1.000002p-120f, + 0x1p-120, + 0x1p-120, + 0x1p-120, + 0x1.000002p-120, + true, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, + true, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, true, 0x1.000001p-120, 0x1.000001p-120, 0x1.000001p-120, 0x1.000001p-120, true, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - true, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - true, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - true, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - true, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L), + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, + true, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120), TEST ("7.5231642936781486349413765338158389908126215730251815381410" "578824437213052434003657253924757242202758789062501e-37", false, - 0x1p-120f, - 0x1.000002p-120f, - 0x1p-120f, - 0x1.000002p-120f, + 0x1p-120, + 0x1.000002p-120, + 0x1p-120, + 0x1.000002p-120, false, 0x1.000001p-120, 0x1.000001p-120, 0x1.000001p-120, 0x1.0000010000001p-120, false, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.0000010000001p-120L, - false, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.0000010000000002p-120L, - false, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.0000010000000002p-120L, - false, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001000000000000000000008p-120L, - false, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.000001p-120L, - 0x1.0000010000000000000000000001p-120L), + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.0000010000000002p-120, + false, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.0000010000000002p-120, + false, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001000000000000000000008p-120, + false, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.000001p-120, + 0x1.0000010000000000000000000001p-120), TEST ("7.5231647420936572188828392294093056435857835827090029386261" "048447055721499765468252007849514484405517578125e-37", true, - 0x1.000002p-120f, - 0x1.000002p-120f, - 0x1.000002p-120f, - 0x1.000002p-120f, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120, + true, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120, + true, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120, + true, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120, true, 0x1.000002p-120, 0x1.000002p-120, 0x1.000002p-120, 0x1.000002p-120, true, - 0x1.000002p-120L, - 0x1.000002p-120L, - 0x1.000002p-120L, - 0x1.000002p-120L, - true, - 0x1.000002p-120L, - 0x1.000002p-120L, - 0x1.000002p-120L, - 0x1.000002p-120L, - true, - 0x1.000002p-120L, - 0x1.000002p-120L, - 0x1.000002p-120L, - 0x1.000002p-120L, - true, - 0x1.000002p-120L, - 0x1.000002p-120L, - 0x1.000002p-120L, - 0x1.000002p-120L, - true, - 0x1.000002p-120L, - 0x1.000002p-120L, - 0x1.000002p-120L, - 0x1.000002p-120L), + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120), TEST ("7.5231651905091658028243019250027722963589455923928243391111" "518069674229947096932846761774271726608276367187499e-37", false, - 0x1.000002p-120f, - 0x1.000002p-120f, - 0x1.000002p-120f, - 0x1.000004p-120f, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000002p-120, + 0x1.000004p-120, false, 0x1.000002fffffffp-120, 0x1.000003p-120, 0x1.000002fffffffp-120, 0x1.000003p-120, false, - 0x1.000002fffffffp-120L, - 0x1.000003p-120L, - 0x1.000002fffffffp-120L, - 0x1.000003p-120L, - false, - 0x1.000002fffffffffep-120L, - 0x1.000003p-120L, - 0x1.000002fffffffffep-120L, - 0x1.000003p-120L, - false, - 0x1.000002fffffffffep-120L, - 0x1.000003p-120L, - 0x1.000002fffffffffep-120L, - 0x1.000003p-120L, - false, - 0x1.000002ffffffffffffffffffff8p-120L, - 0x1.000003p-120L, - 0x1.000002ffffffffffffffffffff8p-120L, - 0x1.000003p-120L, - false, - 0x1.000002ffffffffffffffffffffffp-120L, - 0x1.000003p-120L, - 0x1.000002ffffffffffffffffffffffp-120L, - 0x1.000003p-120L), + 0x1.000002fffffffffep-120, + 0x1.000003p-120, + 0x1.000002fffffffffep-120, + 0x1.000003p-120, + false, + 0x1.000002fffffffffep-120, + 0x1.000003p-120, + 0x1.000002fffffffffep-120, + 0x1.000003p-120, + false, + 0x1.000002ffffffffffffffffffff8p-120, + 0x1.000003p-120, + 0x1.000002ffffffffffffffffffff8p-120, + 0x1.000003p-120, + false, + 0x1.000002ffffffffffffffffffffffp-120, + 0x1.000003p-120, + 0x1.000002ffffffffffffffffffffffp-120, + 0x1.000003p-120), TEST ("7.5231651905091658028243019250027722963589455923928243391111" "5180696742299470969328467617742717266082763671875e-37", false, - 0x1.000002p-120f, - 0x1.000004p-120f, - 0x1.000002p-120f, - 0x1.000004p-120f, + 0x1.000002p-120, + 0x1.000004p-120, + 0x1.000002p-120, + 0x1.000004p-120, + true, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, + true, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, true, 0x1.000003p-120, 0x1.000003p-120, 0x1.000003p-120, 0x1.000003p-120, true, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - true, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - true, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - true, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - true, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L), + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, + true, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120), TEST ("7.5231651905091658028243019250027722963589455923928243391111" "518069674229947096932846761774271726608276367187501e-37", false, - 0x1.000002p-120f, - 0x1.000004p-120f, - 0x1.000002p-120f, - 0x1.000004p-120f, + 0x1.000002p-120, + 0x1.000004p-120, + 0x1.000002p-120, + 0x1.000004p-120, false, 0x1.000003p-120, 0x1.000003p-120, 0x1.000003p-120, 0x1.0000030000001p-120, false, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.0000030000001p-120L, - false, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.0000030000000002p-120L, - false, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.0000030000000002p-120L, - false, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003000000000000000000008p-120L, - false, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.000003p-120L, - 0x1.0000030000000000000000000001p-120L), + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.0000030000000002p-120, + false, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.0000030000000002p-120, + false, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003000000000000000000008p-120, + false, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.000003p-120, + 0x1.0000030000000000000000000001p-120), TEST ("7.5231656389246743867657646205962389491321076020766457395961" "98769229273839442839744151569902896881103515625e-37", true, - 0x1.000004p-120f, - 0x1.000004p-120f, - 0x1.000004p-120f, - 0x1.000004p-120f, + 0x1.000004p-120, + 0x1.000004p-120, + 0x1.000004p-120, + 0x1.000004p-120, + true, + 0x1.000004p-120, + 0x1.000004p-120, + 0x1.000004p-120, + 0x1.000004p-120, + true, + 0x1.000004p-120, + 0x1.000004p-120, + 0x1.000004p-120, + 0x1.000004p-120, + true, + 0x1.000004p-120, + 0x1.000004p-120, + 0x1.000004p-120, + 0x1.000004p-120, true, 0x1.000004p-120, 0x1.000004p-120, 0x1.000004p-120, 0x1.000004p-120, true, - 0x1.000004p-120L, - 0x1.000004p-120L, - 0x1.000004p-120L, - 0x1.000004p-120L, - true, - 0x1.000004p-120L, - 0x1.000004p-120L, - 0x1.000004p-120L, - 0x1.000004p-120L, - true, - 0x1.000004p-120L, - 0x1.000004p-120L, - 0x1.000004p-120L, - 0x1.000004p-120L, - true, - 0x1.000004p-120L, - 0x1.000004p-120L, - 0x1.000004p-120L, - 0x1.000004p-120L, - true, - 0x1.000004p-120L, - 0x1.000004p-120L, - 0x1.000004p-120L, - 0x1.000004p-120L), + 0x1.000004p-120, + 0x1.000004p-120, + 0x1.000004p-120, + 0x1.000004p-120), TEST ("340282356779733661637539395458142568447.999", false, - 0xf.fffffp+124f, - 0xf.fffffp+124f, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + 0xf.fffffp+124, + 0xf.fffffp+124, + INF, false, 0xf.fffff7ffffff8p+124, 0xf.fffff8p+124, 0xf.fffff7ffffff8p+124, 0xf.fffff8p+124, false, - 0xf.fffff7ffffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff7ffffff8p+124L, - 0xf.fffff8p+124L, - false, - 0xf.fffff7fffffffffp+124L, - 0xf.fffff8p+124L, - 0xf.fffff7fffffffffp+124L, - 0xf.fffff8p+124L, - false, - 0xf.fffff7fffffffffp+124L, - 0xf.fffff8p+124L, - 0xf.fffff7fffffffffp+124L, - 0xf.fffff8p+124L, - false, - 0xf.fffff7fffffffffffffffffffcp+124L, - 0xf.fffff8p+124L, - 0xf.fffff7fffffffffffffffffffcp+124L, - 0xf.fffff8p+124L, - false, - 0xf.fffff7fffffffffffffffffffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff7fffffffffffffffffffff8p+124L, - 0xf.fffff8p+124L), + 0xf.fffff7fffffffffp+124, + 0xf.fffff8p+124, + 0xf.fffff7fffffffffp+124, + 0xf.fffff8p+124, + false, + 0xf.fffff7fffffffffp+124, + 0xf.fffff8p+124, + 0xf.fffff7fffffffffp+124, + 0xf.fffff8p+124, + false, + 0xf.fffff7fffffffffffffffffffcp+124, + 0xf.fffff8p+124, + 0xf.fffff7fffffffffffffffffffcp+124, + 0xf.fffff8p+124, + false, + 0xf.fffff7fffffffffffffffffffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff7fffffffffffffffffffff8p+124, + 0xf.fffff8p+124), TEST ("340282356779733661637539395458142568448", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, + true, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + true, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, true, 0xf.fffff8p+124, 0xf.fffff8p+124, 0xf.fffff8p+124, 0xf.fffff8p+124, true, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - true, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - true, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - true, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - true, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L), + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + true, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124), TEST ("340282356779733661637539395458142568448.001", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, false, 0xf.fffff8p+124, 0xf.fffff8p+124, 0xf.fffff8p+124, 0xf.fffff80000008p+124, false, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff80000008p+124L, - false, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8000000001p+124L, - false, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8000000001p+124L, - false, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff800000000000000000004p+124L, - false, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff8p+124L, - 0xf.fffff80000000000000000000008p+124L), + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8000000001p+124, + false, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8000000001p+124, + false, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff800000000000000000004p+124, + false, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff8p+124, + 0xf.fffff80000000000000000000008p+124), TEST ("-340282356779733661637539395458142568447.999", false, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, + -0xf.fffffp+124, false, -0xf.fffff8p+124, -0xf.fffff8p+124, -0xf.fffff7ffffff8p+124, -0xf.fffff7ffffff8p+124, false, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff7ffffff8p+124L, - -0xf.fffff7ffffff8p+124L, - false, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff7fffffffffp+124L, - -0xf.fffff7fffffffffp+124L, - false, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff7fffffffffp+124L, - -0xf.fffff7fffffffffp+124L, - false, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff7fffffffffffffffffffcp+124L, - -0xf.fffff7fffffffffffffffffffcp+124L, - false, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff7fffffffffffffffffffff8p+124L, - -0xf.fffff7fffffffffffffffffffff8p+124L), + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff7fffffffffp+124, + -0xf.fffff7fffffffffp+124, + false, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff7fffffffffp+124, + -0xf.fffff7fffffffffp+124, + false, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff7fffffffffffffffffffcp+124, + -0xf.fffff7fffffffffffffffffffcp+124, + false, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff7fffffffffffffffffffff8p+124, + -0xf.fffff7fffffffffffffffffffff8p+124), TEST ("-340282356779733661637539395458142568448", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, + true, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + true, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + true, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, true, -0xf.fffff8p+124, -0xf.fffff8p+124, -0xf.fffff8p+124, -0xf.fffff8p+124, true, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - true, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - true, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - true, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - true, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L), + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124), TEST ("-340282356779733661637539395458142568448.001", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, false, -0xf.fffff80000008p+124, -0xf.fffff8p+124, -0xf.fffff8p+124, -0xf.fffff8p+124, false, - -0xf.fffff80000008p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - false, - -0xf.fffff8000000001p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - false, - -0xf.fffff8000000001p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - false, - -0xf.fffff800000000000000000004p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - false, - -0xf.fffff80000000000000000000008p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L, - -0xf.fffff8p+124L), + -0xf.fffff8000000001p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + false, + -0xf.fffff8000000001p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + false, + -0xf.fffff800000000000000000004p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + false, + -0xf.fffff80000000000000000000008p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124, + -0xf.fffff8p+124), TEST ("179769313486231580793728971405303415079934132710037826936173" "778980444968292764750946649017977587207096330286416692887910" "946555547851940402630657488671505820681908902000708383676273" @@ -2150,40 +1855,35 @@ static const struct test tests[] = { "936475292719074168444365510704342711559699508093042880177904" "174497791.999", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, false, 0xf.ffffffffffff8p+1020, 0xf.ffffffffffff8p+1020, 0xf.ffffffffffff8p+1020, - INFINITY, - false, - 0xf.ffffffffffff8p+1020L, - 0xf.ffffffffffff8p+1020L, - 0xf.ffffffffffff8p+1020L, - INFINITY, - false, - 0xf.ffffffffffffbffp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffbffp+1020L, - 0xf.ffffffffffffcp+1020L, - false, - 0xf.ffffffffffffbffp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffbffp+1020L, - 0xf.ffffffffffffcp+1020L, - false, - 0xf.ffffffffffffbffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffbffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - false, - 0xf.ffffffffffffbffffffffffffff8p+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffbffffffffffffff8p+1020L, - 0xf.ffffffffffffcp+1020L), + INF, + false, + 0xf.ffffffffffffbffp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffbffp+1020, + 0xf.ffffffffffffcp+1020, + false, + 0xf.ffffffffffffbffp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffbffp+1020, + 0xf.ffffffffffffcp+1020, + false, + 0xf.ffffffffffffbffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffbffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + false, + 0xf.ffffffffffffbffffffffffffff8p+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffbffffffffffffff8p+1020, + 0xf.ffffffffffffcp+1020), TEST ("179769313486231580793728971405303415079934132710037826936173" "778980444968292764750946649017977587207096330286416692887910" "946555547851940402630657488671505820681908902000708383676273" @@ -2191,40 +1891,35 @@ static const struct test tests[] = { "936475292719074168444365510704342711559699508093042880177904" "174497792", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, false, 0xf.ffffffffffff8p+1020, - INFINITY, + INF, 0xf.ffffffffffff8p+1020, - INFINITY, - false, - 0xf.ffffffffffff8p+1020L, - INFINITY, - 0xf.ffffffffffff8p+1020L, - INFINITY, - true, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - true, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - false, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - true, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L), + INF, + true, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + true, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + false, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + true, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020), TEST ("179769313486231580793728971405303415079934132710037826936173" "778980444968292764750946649017977587207096330286416692887910" "946555547851940402630657488671505820681908902000708383676273" @@ -2232,40 +1927,35 @@ static const struct test tests[] = { "936475292719074168444365510704342711559699508093042880177904" "174497792.001", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, false, 0xf.ffffffffffff8p+1020, - INFINITY, + INF, 0xf.ffffffffffff8p+1020, - INFINITY, - false, - 0xf.ffffffffffff8p+1020L, - INFINITY, - 0xf.ffffffffffff8p+1020L, - INFINITY, - false, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffc01p+1020L, - false, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffc01p+1020L, - false, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffc0000000000004p+1020L, - false, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffcp+1020L, - 0xf.ffffffffffffc000000000000008p+1020L), + INF, + false, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffc01p+1020, + false, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffc01p+1020, + false, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffc0000000000004p+1020, + false, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffcp+1020, + 0xf.ffffffffffffc000000000000008p+1020), TEST ("-17976931348623158079372897140530341507993413271003782693617" "377898044496829276475094664901797758720709633028641669288791" "094655554785194040263065748867150582068190890200070838367627" @@ -2273,40 +1963,35 @@ static const struct test tests[] = { "493647529271907416844436551070434271155969950809304288017790" "4174497791.999", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, false, - -INFINITY, + -INF, -0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020, false, - -INFINITY, - -0xf.ffffffffffff8p+1020L, - -0xf.ffffffffffff8p+1020L, - -0xf.ffffffffffff8p+1020L, - false, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffbffp+1020L, - -0xf.ffffffffffffbffp+1020L, - false, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffbffp+1020L, - -0xf.ffffffffffffbffp+1020L, - false, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffbffffffffffffcp+1020L, - -0xf.ffffffffffffbffffffffffffcp+1020L, - false, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffbffffffffffffff8p+1020L, - -0xf.ffffffffffffbffffffffffffff8p+1020L), + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffbffp+1020, + -0xf.ffffffffffffbffp+1020, + false, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffbffp+1020, + -0xf.ffffffffffffbffp+1020, + false, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffbffffffffffffcp+1020, + -0xf.ffffffffffffbffffffffffffcp+1020, + false, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffbffffffffffffff8p+1020, + -0xf.ffffffffffffbffffffffffffff8p+1020), TEST ("-17976931348623158079372897140530341507993413271003782693617" "377898044496829276475094664901797758720709633028641669288791" "094655554785194040263065748867150582068190890200070838367627" @@ -2314,40 +1999,35 @@ static const struct test tests[] = { "493647529271907416844436551070434271155969950809304288017790" "4174497792", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, false, - -INFINITY, - -INFINITY, + -INF, + -INF, -0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020, - false, - -INFINITY, - -INFINITY, - -0xf.ffffffffffff8p+1020L, - -0xf.ffffffffffff8p+1020L, - true, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - true, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - false, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - true, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L), + true, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + true, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + false, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + true, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020), TEST ("-17976931348623158079372897140530341507993413271003782693617" "377898044496829276475094664901797758720709633028641669288791" "094655554785194040263065748867150582068190890200070838367627" @@ -2355,40 +2035,35 @@ static const struct test tests[] = { "493647529271907416844436551070434271155969950809304288017790" "4174497792.001", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, false, - -INFINITY, - -INFINITY, + -INF, + -INF, -0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020, false, - -INFINITY, - -INFINITY, - -0xf.ffffffffffff8p+1020L, - -0xf.ffffffffffff8p+1020L, - false, - -0xf.ffffffffffffc01p+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - false, - -0xf.ffffffffffffc01p+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - false, - -0xf.ffffffffffffc0000000000004p+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - false, - -0xf.ffffffffffffc000000000000008p+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L, - -0xf.ffffffffffffcp+1020L), + -0xf.ffffffffffffc01p+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + false, + -0xf.ffffffffffffc01p+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + false, + -0xf.ffffffffffffc0000000000004p+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + false, + -0xf.ffffffffffffc000000000000008p+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020, + -0xf.ffffffffffffcp+1020), TEST ("118973149535723176505351158982948866796625400469556721895649" "927756249918185172720476044944290457046138433056764616744328" "666255526748948793023632513609765434237723241753648908036202" @@ -2473,40 +2148,35 @@ static const struct test tests[] = { "578031503869424406179027994752890226443351619365453243328968" "8740976918527.999", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, false, 0xf.ffffffffffff8p+1020, - INFINITY, + INF, 0xf.ffffffffffff8p+1020, - INFINITY, - false, - 0xf.ffffffffffff8p+1020L, - INFINITY, - 0xf.ffffffffffff8p+1020L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - 0xf.fffffffffffffffp+16380L, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - 0xf.fffffffffffffffp+16380L, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - false, - 0xf.fffffffffffffff7fffffffffff8p+16380L, - 0xf.fffffffffffffff8p+16380L, - 0xf.fffffffffffffff7fffffffffff8p+16380L, - 0xf.fffffffffffffff8p+16380L), + INF, + false, + 0xf.fffffffffffffffp+16380, + 0xf.fffffffffffffffp+16380, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffp+16380, + 0xf.fffffffffffffffp+16380, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + false, + 0xf.fffffffffffffff7fffffffffff8p+16380, + 0xf.fffffffffffffff8p+16380, + 0xf.fffffffffffffff7fffffffffff8p+16380, + 0xf.fffffffffffffff8p+16380), TEST ("118973149535723176505351158982948866796625400469556721895649" "927756249918185172720476044944290457046138433056764616744328" "666255526748948793023632513609765434237723241753648908036202" @@ -2591,40 +2261,35 @@ static const struct test tests[] = { "578031503869424406179027994752890226443351619365453243328968" "8740976918528", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, false, 0xf.ffffffffffff8p+1020, - INFINITY, + INF, 0xf.ffffffffffff8p+1020, - INFINITY, - false, - 0xf.ffffffffffff8p+1020L, - INFINITY, - 0xf.ffffffffffff8p+1020L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - INFINITY, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - INFINITY, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - true, - 0xf.fffffffffffffff8p+16380L, - 0xf.fffffffffffffff8p+16380L, - 0xf.fffffffffffffff8p+16380L, - 0xf.fffffffffffffff8p+16380L), + INF, + false, + 0xf.fffffffffffffffp+16380, + INF, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffp+16380, + INF, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + true, + 0xf.fffffffffffffff8p+16380, + 0xf.fffffffffffffff8p+16380, + 0xf.fffffffffffffff8p+16380, + 0xf.fffffffffffffff8p+16380), TEST ("118973149535723176505351158982948866796625400469556721895649" "927756249918185172720476044944290457046138433056764616744328" "666255526748948793023632513609765434237723241753648908036202" @@ -2709,40 +2374,35 @@ static const struct test tests[] = { "578031503869424406179027994752890226443351619365453243328968" "8740976918528.001", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, false, 0xf.ffffffffffff8p+1020, - INFINITY, + INF, 0xf.ffffffffffff8p+1020, - INFINITY, - false, - 0xf.ffffffffffff8p+1020L, - INFINITY, - 0xf.ffffffffffff8p+1020L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - INFINITY, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - INFINITY, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - false, - 0xf.fffffffffffffff8p+16380L, - 0xf.fffffffffffffff8p+16380L, - 0xf.fffffffffffffff8p+16380L, - 0xf.fffffffffffffff8000000000008p+16380L), + INF, + false, + 0xf.fffffffffffffffp+16380, + INF, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffp+16380, + INF, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + false, + 0xf.fffffffffffffff8p+16380, + 0xf.fffffffffffffff8p+16380, + 0xf.fffffffffffffff8p+16380, + 0xf.fffffffffffffff8000000000008p+16380), TEST ("-11897314953572317650535115898294886679662540046955672189564" "992775624991818517272047604494429045704613843305676461674432" "866625552674894879302363251360976543423772324175364890803620" @@ -2827,40 +2487,35 @@ static const struct test tests[] = { "557803150386942440617902799475289022644335161936545324332896" "88740976918527.999", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, false, - -INFINITY, - -INFINITY, + -INF, + -INF, -0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020, false, - -INFINITY, - -INFINITY, - -0xf.ffffffffffff8p+1020L, - -0xf.ffffffffffff8p+1020L, - false, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffffffffffffcp+1020L, - -0xf.fffffffffffffffffffffffffcp+1020L, - false, - -0xf.fffffffffffffff8p+16380L, - -0xf.fffffffffffffff8p+16380L, - -0xf.fffffffffffffff7fffffffffff8p+16380L, - -0xf.fffffffffffffff7fffffffffff8p+16380L), + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffffffffffffcp+1020, + -0xf.fffffffffffffffffffffffffcp+1020, + false, + -0xf.fffffffffffffff8p+16380, + -0xf.fffffffffffffff8p+16380, + -0xf.fffffffffffffff7fffffffffff8p+16380, + -0xf.fffffffffffffff7fffffffffff8p+16380), TEST ("-11897314953572317650535115898294886679662540046955672189564" "992775624991818517272047604494429045704613843305676461674432" "866625552674894879302363251360976543423772324175364890803620" @@ -2945,40 +2600,35 @@ static const struct test tests[] = { "557803150386942440617902799475289022644335161936545324332896" "88740976918528", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, false, - -INFINITY, - -INFINITY, + -INF, + -INF, -0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020, false, - -INFINITY, - -INFINITY, - -0xf.ffffffffffff8p+1020L, - -0xf.ffffffffffff8p+1020L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffffffffffffcp+1020L, - -0xf.fffffffffffffffffffffffffcp+1020L, - true, - -0xf.fffffffffffffff8p+16380L, - -0xf.fffffffffffffff8p+16380L, - -0xf.fffffffffffffff8p+16380L, - -0xf.fffffffffffffff8p+16380L), + -INF, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffffffffffffcp+1020, + -0xf.fffffffffffffffffffffffffcp+1020, + true, + -0xf.fffffffffffffff8p+16380, + -0xf.fffffffffffffff8p+16380, + -0xf.fffffffffffffff8p+16380, + -0xf.fffffffffffffff8p+16380), TEST ("-11897314953572317650535115898294886679662540046955672189564" "992775624991818517272047604494429045704613843305676461674432" "866625552674894879302363251360976543423772324175364890803620" @@ -3063,40 +2713,35 @@ static const struct test tests[] = { "557803150386942440617902799475289022644335161936545324332896" "88740976918528.001", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, false, - -INFINITY, - -INFINITY, + -INF, + -INF, -0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020, false, - -INFINITY, - -INFINITY, - -0xf.ffffffffffff8p+1020L, - -0xf.ffffffffffff8p+1020L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffffffffffffcp+1020L, - -0xf.fffffffffffffffffffffffffcp+1020L, - false, - -0xf.fffffffffffffff8000000000008p+16380L, - -0xf.fffffffffffffff8p+16380L, - -0xf.fffffffffffffff8p+16380L, - -0xf.fffffffffffffff8p+16380L), + -INF, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffffffffffffcp+1020, + -0xf.fffffffffffffffffffffffffcp+1020, + false, + -0xf.fffffffffffffff8000000000008p+16380, + -0xf.fffffffffffffff8p+16380, + -0xf.fffffffffffffff8p+16380, + -0xf.fffffffffffffff8p+16380), TEST ("118973149535723176508575932662800707347995686986910214150118" "685272271246896789803961473130416053705672050873552479421805" "932646640744124594447361172514341324846716679654551308018400" @@ -3181,40 +2826,35 @@ static const struct test tests[] = { "972233447491583165728635513802591543441145939539353470970452" "5536550715391.999", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, false, 0xf.ffffffffffff8p+1020, - INFINITY, + INF, 0xf.ffffffffffff8p+1020, - INFINITY, - false, - 0xf.ffffffffffff8p+1020L, - INFINITY, - 0xf.ffffffffffff8p+1020L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - INFINITY, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - INFINITY, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - false, - 0xf.fffffffffffffffffffffffffff8p+16380L, - 0xf.fffffffffffffffffffffffffff8p+16380L, - 0xf.fffffffffffffffffffffffffff8p+16380L, - INFINITY), + INF, + false, + 0xf.fffffffffffffffp+16380, + INF, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffp+16380, + INF, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + false, + 0xf.fffffffffffffffffffffffffff8p+16380, + 0xf.fffffffffffffffffffffffffff8p+16380, + 0xf.fffffffffffffffffffffffffff8p+16380, + INF), TEST ("118973149535723176508575932662800707347995686986910214150118" "685272271246896789803961473130416053705672050873552479421805" "932646640744124594447361172514341324846716679654551308018400" @@ -3299,40 +2939,35 @@ static const struct test tests[] = { "972233447491583165728635513802591543441145939539353470970452" "5536550715392", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, false, 0xf.ffffffffffff8p+1020, - INFINITY, + INF, 0xf.ffffffffffff8p+1020, - INFINITY, - false, - 0xf.ffffffffffff8p+1020L, - INFINITY, - 0xf.ffffffffffff8p+1020L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - INFINITY, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - INFINITY, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - false, - 0xf.fffffffffffffffffffffffffff8p+16380L, - INFINITY, - 0xf.fffffffffffffffffffffffffff8p+16380L, - INFINITY), + INF, + false, + 0xf.fffffffffffffffp+16380, + INF, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffp+16380, + INF, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + false, + 0xf.fffffffffffffffffffffffffff8p+16380, + INF, + 0xf.fffffffffffffffffffffffffff8p+16380, + INF), TEST ("118973149535723176508575932662800707347995686986910214150118" "685272271246896789803961473130416053705672050873552479421805" "932646640744124594447361172514341324846716679654551308018400" @@ -3417,40 +3052,35 @@ static const struct test tests[] = { "972233447491583165728635513802591543441145939539353470970452" "5536550715392.001", false, - 0xf.fffffp+124f, - INFINITY, - 0xf.fffffp+124f, - INFINITY, + 0xf.fffffp+124, + INF, + 0xf.fffffp+124, + INF, false, 0xf.ffffffffffff8p+1020, - INFINITY, + INF, 0xf.ffffffffffff8p+1020, - INFINITY, - false, - 0xf.ffffffffffff8p+1020L, - INFINITY, - 0xf.ffffffffffff8p+1020L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - INFINITY, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffp+16380L, - INFINITY, - 0xf.fffffffffffffffp+16380L, - INFINITY, - false, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - 0xf.fffffffffffffffffffffffffcp+1020L, - INFINITY, - false, - 0xf.fffffffffffffffffffffffffff8p+16380L, - INFINITY, - 0xf.fffffffffffffffffffffffffff8p+16380L, - INFINITY), + INF, + false, + 0xf.fffffffffffffffp+16380, + INF, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffp+16380, + INF, + 0xf.fffffffffffffffp+16380, + INF, + false, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + 0xf.fffffffffffffffffffffffffcp+1020, + INF, + false, + 0xf.fffffffffffffffffffffffffff8p+16380, + INF, + 0xf.fffffffffffffffffffffffffff8p+16380, + INF), TEST ("-11897314953572317650857593266280070734799568698691021415011" "868527227124689678980396147313041605370567205087355247942180" "593264664074412459444736117251434132484671667965455130801840" @@ -3535,40 +3165,35 @@ static const struct test tests[] = { "097223344749158316572863551380259154344114593953935347097045" "25536550715391.999", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, false, - -INFINITY, - -INFINITY, + -INF, + -INF, -0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020, false, - -INFINITY, - -INFINITY, - -0xf.ffffffffffff8p+1020L, - -0xf.ffffffffffff8p+1020L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffffffffffffcp+1020L, - -0xf.fffffffffffffffffffffffffcp+1020L, - false, - -INFINITY, - -0xf.fffffffffffffffffffffffffff8p+16380L, - -0xf.fffffffffffffffffffffffffff8p+16380L, - -0xf.fffffffffffffffffffffffffff8p+16380L), + -INF, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffffffffffffcp+1020, + -0xf.fffffffffffffffffffffffffcp+1020, + false, + -INF, + -0xf.fffffffffffffffffffffffffff8p+16380, + -0xf.fffffffffffffffffffffffffff8p+16380, + -0xf.fffffffffffffffffffffffffff8p+16380), TEST ("-11897314953572317650857593266280070734799568698691021415011" "868527227124689678980396147313041605370567205087355247942180" "593264664074412459444736117251434132484671667965455130801840" @@ -3653,40 +3278,35 @@ static const struct test tests[] = { "097223344749158316572863551380259154344114593953935347097045" "25536550715392", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, false, - -INFINITY, - -INFINITY, + -INF, + -INF, -0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020, false, - -INFINITY, - -INFINITY, - -0xf.ffffffffffff8p+1020L, - -0xf.ffffffffffff8p+1020L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffffffffffffcp+1020L, - -0xf.fffffffffffffffffffffffffcp+1020L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffffffffffffff8p+16380L, - -0xf.fffffffffffffffffffffffffff8p+16380L), + -INF, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffffffffffffcp+1020, + -0xf.fffffffffffffffffffffffffcp+1020, + false, + -INF, + -INF, + -0xf.fffffffffffffffffffffffffff8p+16380, + -0xf.fffffffffffffffffffffffffff8p+16380), TEST ("-11897314953572317650857593266280070734799568698691021415011" "868527227124689678980396147313041605370567205087355247942180" "593264664074412459444736117251434132484671667965455130801840" @@ -3771,484 +3391,419 @@ static const struct test tests[] = { "097223344749158316572863551380259154344114593953935347097045" "25536550715392.001", false, - -INFINITY, - -INFINITY, - -0xf.fffffp+124f, - -0xf.fffffp+124f, + -INF, + -INF, + -0xf.fffffp+124, + -0xf.fffffp+124, false, - -INFINITY, - -INFINITY, + -INF, + -INF, -0xf.ffffffffffff8p+1020, -0xf.ffffffffffff8p+1020, false, - -INFINITY, - -INFINITY, - -0xf.ffffffffffff8p+1020L, - -0xf.ffffffffffff8p+1020L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffp+16380L, - -0xf.fffffffffffffffp+16380L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffffffffffffcp+1020L, - -0xf.fffffffffffffffffffffffffcp+1020L, - false, - -INFINITY, - -INFINITY, - -0xf.fffffffffffffffffffffffffff8p+16380L, - -0xf.fffffffffffffffffffffffffff8p+16380L), + -INF, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffp+16380, + -0xf.fffffffffffffffp+16380, + false, + -INF, + -INF, + -0xf.fffffffffffffffffffffffffcp+1020, + -0xf.fffffffffffffffffffffffffcp+1020, + false, + -INF, + -INF, + -0xf.fffffffffffffffffffffffffff8p+16380, + -0xf.fffffffffffffffffffffffffff8p+16380), TEST ("2.1019476964872256063855943749348741969203929128147736576356" "0242583468662402879090222995728254318237304687499e-45", false, - 0x8p-152f, - 0x8p-152f, - 0x8p-152f, - 0x1p-148f, + 0x8p-152, + 0x8p-152, + 0x8p-152, + 0x1p-148, false, 0xb.ffffffffffff8p-152, 0xcp-152, 0xb.ffffffffffff8p-152, 0xcp-152, false, - 0xb.ffffffffffff8p-152L, - 0xcp-152L, - 0xb.ffffffffffff8p-152L, - 0xcp-152L, - false, - 0xb.fffffffffffffffp-152L, - 0xcp-152L, - 0xb.fffffffffffffffp-152L, - 0xcp-152L, - false, - 0xb.fffffffffffffffp-152L, - 0xcp-152L, - 0xb.fffffffffffffffp-152L, - 0xcp-152L, - false, - 0xb.fffffffffffffffffffffffffcp-152L, - 0xcp-152L, - 0xb.fffffffffffffffffffffffffcp-152L, - 0xcp-152L, - false, - 0xb.fffffffffffffffffffffffffff8p-152L, - 0xcp-152L, - 0xb.fffffffffffffffffffffffffff8p-152L, - 0xcp-152L), + 0xb.fffffffffffffffp-152, + 0xcp-152, + 0xb.fffffffffffffffp-152, + 0xcp-152, + false, + 0xb.fffffffffffffffp-152, + 0xcp-152, + 0xb.fffffffffffffffp-152, + 0xcp-152, + false, + 0xb.fffffffffffffffffffffffffcp-152, + 0xcp-152, + 0xb.fffffffffffffffffffffffffcp-152, + 0xcp-152, + false, + 0xb.fffffffffffffffffffffffffff8p-152, + 0xcp-152, + 0xb.fffffffffffffffffffffffffff8p-152, + 0xcp-152), TEST ("2.1019476964872256063855943749348741969203929128147736576356" "02425834686624028790902229957282543182373046875e-45", true, - 0x8p-152f, - 0x1p-148f, - 0x8p-152f, - 0x1p-148f, + 0x8p-152, + 0x1p-148, + 0x8p-152, + 0x1p-148, + true, + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xcp-152, + true, + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xcp-152, + true, + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xcp-152, true, 0xcp-152, 0xcp-152, 0xcp-152, 0xcp-152, true, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - true, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - true, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - true, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - true, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L), + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xcp-152), TEST ("2.1019476964872256063855943749348741969203929128147736576356" "0242583468662402879090222995728254318237304687501e-45", false, - 0x8p-152f, - 0x1p-148f, - 0x8p-152f, - 0x1p-148f, + 0x8p-152, + 0x1p-148, + 0x8p-152, + 0x1p-148, false, 0xcp-152, 0xcp-152, 0xcp-152, 0xc.0000000000008p-152, false, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xc.0000000000008p-152L, - false, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xc.000000000000001p-152L, - false, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xc.000000000000001p-152L, - false, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xc.00000000000000000000000004p-152L, - false, - 0xcp-152L, - 0xcp-152L, - 0xcp-152L, - 0xc.0000000000000000000000000008p-152L), + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xc.000000000000001p-152, + false, + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xc.000000000000001p-152, + false, + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xc.00000000000000000000000004p-152, + false, + 0xcp-152, + 0xcp-152, + 0xcp-152, + 0xc.0000000000000000000000000008p-152), TEST ("-2.101947696487225606385594374934874196920392912814773657635" "60242583468662402879090222995728254318237304687499e-45", false, - -0x1p-148f, - -0x8p-152f, - -0x8p-152f, - -0x8p-152f, + -0x1p-148, + -0x8p-152, + -0x8p-152, + -0x8p-152, false, -0xcp-152, -0xcp-152, -0xb.ffffffffffff8p-152, -0xb.ffffffffffff8p-152, false, - -0xcp-152L, - -0xcp-152L, - -0xb.ffffffffffff8p-152L, - -0xb.ffffffffffff8p-152L, - false, - -0xcp-152L, - -0xcp-152L, - -0xb.fffffffffffffffp-152L, - -0xb.fffffffffffffffp-152L, - false, - -0xcp-152L, - -0xcp-152L, - -0xb.fffffffffffffffp-152L, - -0xb.fffffffffffffffp-152L, - false, - -0xcp-152L, - -0xcp-152L, - -0xb.fffffffffffffffffffffffffcp-152L, - -0xb.fffffffffffffffffffffffffcp-152L, - false, - -0xcp-152L, - -0xcp-152L, - -0xb.fffffffffffffffffffffffffff8p-152L, - -0xb.fffffffffffffffffffffffffff8p-152L), + -0xcp-152, + -0xcp-152, + -0xb.fffffffffffffffp-152, + -0xb.fffffffffffffffp-152, + false, + -0xcp-152, + -0xcp-152, + -0xb.fffffffffffffffp-152, + -0xb.fffffffffffffffp-152, + false, + -0xcp-152, + -0xcp-152, + -0xb.fffffffffffffffffffffffffcp-152, + -0xb.fffffffffffffffffffffffffcp-152, + false, + -0xcp-152, + -0xcp-152, + -0xb.fffffffffffffffffffffffffff8p-152, + -0xb.fffffffffffffffffffffffffff8p-152), TEST ("-2.101947696487225606385594374934874196920392912814773657635" "602425834686624028790902229957282543182373046875e-45", true, - -0x1p-148f, - -0x1p-148f, - -0x8p-152f, - -0x8p-152f, + -0x1p-148, + -0x1p-148, + -0x8p-152, + -0x8p-152, + true, + -0xcp-152, + -0xcp-152, + -0xcp-152, + -0xcp-152, + true, + -0xcp-152, + -0xcp-152, + -0xcp-152, + -0xcp-152, true, -0xcp-152, -0xcp-152, -0xcp-152, -0xcp-152, true, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - true, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - true, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - true, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - true, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L), + -0xcp-152, + -0xcp-152, + -0xcp-152, + -0xcp-152, + true, + -0xcp-152, + -0xcp-152, + -0xcp-152, + -0xcp-152), TEST ("-2.101947696487225606385594374934874196920392912814773657635" "60242583468662402879090222995728254318237304687501e-45", false, - -0x1p-148f, - -0x1p-148f, - -0x8p-152f, - -0x8p-152f, + -0x1p-148, + -0x1p-148, + -0x8p-152, + -0x8p-152, false, -0xc.0000000000008p-152, -0xcp-152, -0xcp-152, -0xcp-152, false, - -0xc.0000000000008p-152L, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - false, - -0xc.000000000000001p-152L, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - false, - -0xc.000000000000001p-152L, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - false, - -0xc.00000000000000000000000004p-152L, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L, - false, - -0xc.0000000000000000000000000008p-152L, - -0xcp-152L, - -0xcp-152L, - -0xcp-152L), + -0xc.000000000000001p-152, + -0xcp-152, + -0xcp-152, + -0xcp-152, + false, + -0xc.000000000000001p-152, + -0xcp-152, + -0xcp-152, + -0xcp-152, + false, + -0xc.00000000000000000000000004p-152, + -0xcp-152, + -0xcp-152, + -0xcp-152, + false, + -0xc.0000000000000000000000000008p-152, + -0xcp-152, + -0xcp-152, + -0xcp-152), TEST ("3.5032461608120426773093239582247903282006548546912894293926" "7070972447770671465150371659547090530395507812499e-45", false, - 0x1p-148f, - 0x1p-148f, - 0x1p-148f, - 0x1.8p-148f, + 0x1p-148, + 0x1p-148, + 0x1p-148, + 0x1.8p-148, false, 0x1.3ffffffffffffp-148, 0x1.4p-148, 0x1.3ffffffffffffp-148, 0x1.4p-148, false, - 0x1.3ffffffffffffp-148L, - 0x1.4p-148L, - 0x1.3ffffffffffffp-148L, - 0x1.4p-148L, - false, - 0x1.3ffffffffffffffep-148L, - 0x1.4p-148L, - 0x1.3ffffffffffffffep-148L, - 0x1.4p-148L, - false, - 0x1.3ffffffffffffffep-148L, - 0x1.4p-148L, - 0x1.3ffffffffffffffep-148L, - 0x1.4p-148L, - false, - 0x1.3fffffffffffffffffffffffff8p-148L, - 0x1.4p-148L, - 0x1.3fffffffffffffffffffffffff8p-148L, - 0x1.4p-148L, - false, - 0x1.3fffffffffffffffffffffffffffp-148L, - 0x1.4p-148L, - 0x1.3fffffffffffffffffffffffffffp-148L, - 0x1.4p-148L), + 0x1.3ffffffffffffffep-148, + 0x1.4p-148, + 0x1.3ffffffffffffffep-148, + 0x1.4p-148, + false, + 0x1.3ffffffffffffffep-148, + 0x1.4p-148, + 0x1.3ffffffffffffffep-148, + 0x1.4p-148, + false, + 0x1.3fffffffffffffffffffffffff8p-148, + 0x1.4p-148, + 0x1.3fffffffffffffffffffffffff8p-148, + 0x1.4p-148, + false, + 0x1.3fffffffffffffffffffffffffffp-148, + 0x1.4p-148, + 0x1.3fffffffffffffffffffffffffffp-148, + 0x1.4p-148), TEST ("3.5032461608120426773093239582247903282006548546912894293926" "70709724477706714651503716595470905303955078125e-45", true, - 0x1p-148f, - 0x1p-148f, - 0x1p-148f, - 0x1.8p-148f, + 0x1p-148, + 0x1p-148, + 0x1p-148, + 0x1.8p-148, + true, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, + true, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, + true, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, true, 0x1.4p-148, 0x1.4p-148, 0x1.4p-148, 0x1.4p-148, true, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - true, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - true, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - true, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - true, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L), + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148), TEST ("3.5032461608120426773093239582247903282006548546912894293926" "7070972447770671465150371659547090530395507812501e-45", false, - 0x1p-148f, - 0x1.8p-148f, - 0x1p-148f, - 0x1.8p-148f, + 0x1p-148, + 0x1.8p-148, + 0x1p-148, + 0x1.8p-148, false, 0x1.4p-148, 0x1.4p-148, 0x1.4p-148, 0x1.4000000000001p-148, false, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4000000000001p-148L, - false, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4000000000000002p-148L, - false, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4000000000000002p-148L, - false, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.400000000000000000000000008p-148L, - false, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4p-148L, - 0x1.4000000000000000000000000001p-148L), + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4000000000000002p-148, + false, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4000000000000002p-148, + false, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, + 0x1.400000000000000000000000008p-148, + false, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4p-148, + 0x1.4000000000000000000000000001p-148), TEST ("-3.503246160812042677309323958224790328200654854691289429392" "67070972447770671465150371659547090530395507812499e-45", false, - -0x1.8p-148f, - -0x1p-148f, - -0x1p-148f, - -0x1p-148f, + -0x1.8p-148, + -0x1p-148, + -0x1p-148, + -0x1p-148, false, -0x1.4p-148, -0x1.4p-148, -0x1.3ffffffffffffp-148, -0x1.3ffffffffffffp-148, false, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.3ffffffffffffp-148L, - -0x1.3ffffffffffffp-148L, - false, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.3ffffffffffffffep-148L, - -0x1.3ffffffffffffffep-148L, - false, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.3ffffffffffffffep-148L, - -0x1.3ffffffffffffffep-148L, - false, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.3fffffffffffffffffffffffff8p-148L, - -0x1.3fffffffffffffffffffffffff8p-148L, - false, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.3fffffffffffffffffffffffffffp-148L, - -0x1.3fffffffffffffffffffffffffffp-148L), + -0x1.4p-148, + -0x1.4p-148, + -0x1.3ffffffffffffffep-148, + -0x1.3ffffffffffffffep-148, + false, + -0x1.4p-148, + -0x1.4p-148, + -0x1.3ffffffffffffffep-148, + -0x1.3ffffffffffffffep-148, + false, + -0x1.4p-148, + -0x1.4p-148, + -0x1.3fffffffffffffffffffffffff8p-148, + -0x1.3fffffffffffffffffffffffff8p-148, + false, + -0x1.4p-148, + -0x1.4p-148, + -0x1.3fffffffffffffffffffffffffffp-148, + -0x1.3fffffffffffffffffffffffffffp-148), TEST ("-3.503246160812042677309323958224790328200654854691289429392" "670709724477706714651503716595470905303955078125e-45", true, - -0x1.8p-148f, - -0x1p-148f, - -0x1p-148f, - -0x1p-148f, + -0x1.8p-148, + -0x1p-148, + -0x1p-148, + -0x1p-148, + true, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148, + true, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148, + true, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148, true, -0x1.4p-148, -0x1.4p-148, -0x1.4p-148, -0x1.4p-148, true, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - true, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - true, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - true, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - true, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L), + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148), TEST ("-3.503246160812042677309323958224790328200654854691289429392" "67070972447770671465150371659547090530395507812501e-45", false, - -0x1.8p-148f, - -0x1.8p-148f, - -0x1p-148f, - -0x1p-148f, + -0x1.8p-148, + -0x1.8p-148, + -0x1p-148, + -0x1p-148, false, -0x1.4000000000001p-148, -0x1.4p-148, -0x1.4p-148, -0x1.4p-148, false, - -0x1.4000000000001p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - false, - -0x1.4000000000000002p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - false, - -0x1.4000000000000002p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - false, - -0x1.400000000000000000000000008p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - false, - -0x1.4000000000000000000000000001p-148L, - -0x1.4p-148L, - -0x1.4p-148L, - -0x1.4p-148L), + -0x1.4000000000000002p-148, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148, + false, + -0x1.4000000000000002p-148, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148, + false, + -0x1.400000000000000000000000008p-148, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148, + false, + -0x1.4000000000000000000000000001p-148, + -0x1.4p-148, + -0x1.4p-148, + -0x1.4p-148), TEST ("7.4109846876186981626485318930233205854758970392148714663837" "852375101326090531312779794975454245398856969484704316857659" "638998506553390969459816219401617281718945106978546710679176" @@ -4263,40 +3818,35 @@ static const struct test tests[] = { "337560846003984904972149117463085539556354188641513168478436" "31308023759629577398300170898437499e-324", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x4p-1076, + 0x4p-1076, + 0x4p-1076, + 0x8p-1076, + false, + 0x5.fffffffffffffff8p-1076, + 0x6p-1076, + 0x5.fffffffffffffff8p-1076, + 0x6p-1076, + false, + 0x5.fffffffffffffff8p-1076, + 0x6p-1076, + 0x5.fffffffffffffff8p-1076, + 0x6p-1076, false, 0x4p-1076, 0x4p-1076, 0x4p-1076, 0x8p-1076, false, - 0x4p-1076L, - 0x4p-1076L, - 0x4p-1076L, - 0x8p-1076L, - false, - 0x5.fffffffffffffff8p-1076L, - 0x6p-1076L, - 0x5.fffffffffffffff8p-1076L, - 0x6p-1076L, - false, - 0x5.fffffffffffffff8p-1076L, - 0x6p-1076L, - 0x5.fffffffffffffff8p-1076L, - 0x6p-1076L, - false, - 0x4p-1076L, - 0x4p-1076L, - 0x4p-1076L, - 0x8p-1076L, - false, - 0x5.fffffffffffffffffffffffffffcp-1076L, - 0x6p-1076L, - 0x5.fffffffffffffffffffffffffffcp-1076L, - 0x6p-1076L), + 0x5.fffffffffffffffffffffffffffcp-1076, + 0x6p-1076, + 0x5.fffffffffffffffffffffffffffcp-1076, + 0x6p-1076), TEST ("7.4109846876186981626485318930233205854758970392148714663837" "852375101326090531312779794975454245398856969484704316857659" "638998506553390969459816219401617281718945106978546710679176" @@ -4311,40 +3861,35 @@ static const struct test tests[] = { "337560846003984904972149117463085539556354188641513168478436" "313080237596295773983001708984375e-324", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + true, + 0x4p-1076, + 0x8p-1076, + 0x4p-1076, + 0x8p-1076, + true, + 0x6p-1076, + 0x6p-1076, + 0x6p-1076, + 0x6p-1076, + true, + 0x6p-1076, + 0x6p-1076, + 0x6p-1076, + 0x6p-1076, true, 0x4p-1076, 0x8p-1076, 0x4p-1076, 0x8p-1076, true, - 0x4p-1076L, - 0x8p-1076L, - 0x4p-1076L, - 0x8p-1076L, - true, - 0x6p-1076L, - 0x6p-1076L, - 0x6p-1076L, - 0x6p-1076L, - true, - 0x6p-1076L, - 0x6p-1076L, - 0x6p-1076L, - 0x6p-1076L, - true, - 0x4p-1076L, - 0x8p-1076L, - 0x4p-1076L, - 0x8p-1076L, - true, - 0x6p-1076L, - 0x6p-1076L, - 0x6p-1076L, - 0x6p-1076L), + 0x6p-1076, + 0x6p-1076, + 0x6p-1076, + 0x6p-1076), TEST ("7.4109846876186981626485318930233205854758970392148714663837" "852375101326090531312779794975454245398856969484704316857659" "638998506553390969459816219401617281718945106978546710679176" @@ -4359,40 +3904,35 @@ static const struct test tests[] = { "337560846003984904972149117463085539556354188641513168478436" "31308023759629577398300170898437501e-324", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x4p-1076, + 0x8p-1076, + 0x4p-1076, + 0x8p-1076, + false, + 0x6p-1076, + 0x6p-1076, + 0x6p-1076, + 0x6.0000000000000008p-1076, + false, + 0x6p-1076, + 0x6p-1076, + 0x6p-1076, + 0x6.0000000000000008p-1076, false, 0x4p-1076, 0x8p-1076, 0x4p-1076, 0x8p-1076, false, - 0x4p-1076L, - 0x8p-1076L, - 0x4p-1076L, - 0x8p-1076L, - false, - 0x6p-1076L, - 0x6p-1076L, - 0x6p-1076L, - 0x6.0000000000000008p-1076L, - false, - 0x6p-1076L, - 0x6p-1076L, - 0x6p-1076L, - 0x6.0000000000000008p-1076L, - false, - 0x4p-1076L, - 0x8p-1076L, - 0x4p-1076L, - 0x8p-1076L, - false, - 0x6p-1076L, - 0x6p-1076L, - 0x6p-1076L, - 0x6.0000000000000000000000000004p-1076L), + 0x6p-1076, + 0x6p-1076, + 0x6p-1076, + 0x6.0000000000000000000000000004p-1076), TEST ("-7.410984687618698162648531893023320585475897039214871466383" "785237510132609053131277979497545424539885696948470431685765" "963899850655339096945981621940161728171894510697854671067917" @@ -4407,40 +3947,35 @@ static const struct test tests[] = { "433756084600398490497214911746308553955635418864151316847843" "631308023759629577398300170898437499e-324", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x8p-1076, -0x4p-1076, -0x4p-1076, -0x4p-1076, false, - -0x8p-1076L, - -0x4p-1076L, - -0x4p-1076L, - -0x4p-1076L, - false, - -0x6p-1076L, - -0x6p-1076L, - -0x5.fffffffffffffff8p-1076L, - -0x5.fffffffffffffff8p-1076L, - false, - -0x6p-1076L, - -0x6p-1076L, - -0x5.fffffffffffffff8p-1076L, - -0x5.fffffffffffffff8p-1076L, - false, - -0x8p-1076L, - -0x4p-1076L, - -0x4p-1076L, - -0x4p-1076L, - false, - -0x6p-1076L, - -0x6p-1076L, - -0x5.fffffffffffffffffffffffffffcp-1076L, - -0x5.fffffffffffffffffffffffffffcp-1076L), + -0x6p-1076, + -0x6p-1076, + -0x5.fffffffffffffff8p-1076, + -0x5.fffffffffffffff8p-1076, + false, + -0x6p-1076, + -0x6p-1076, + -0x5.fffffffffffffff8p-1076, + -0x5.fffffffffffffff8p-1076, + false, + -0x8p-1076, + -0x4p-1076, + -0x4p-1076, + -0x4p-1076, + false, + -0x6p-1076, + -0x6p-1076, + -0x5.fffffffffffffffffffffffffffcp-1076, + -0x5.fffffffffffffffffffffffffffcp-1076), TEST ("-7.410984687618698162648531893023320585475897039214871466383" "785237510132609053131277979497545424539885696948470431685765" "963899850655339096945981621940161728171894510697854671067917" @@ -4455,40 +3990,35 @@ static const struct test tests[] = { "433756084600398490497214911746308553955635418864151316847843" "6313080237596295773983001708984375e-324", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, -0x8p-1076, -0x8p-1076, -0x4p-1076, -0x4p-1076, true, - -0x8p-1076L, - -0x8p-1076L, - -0x4p-1076L, - -0x4p-1076L, - true, - -0x6p-1076L, - -0x6p-1076L, - -0x6p-1076L, - -0x6p-1076L, - true, - -0x6p-1076L, - -0x6p-1076L, - -0x6p-1076L, - -0x6p-1076L, - true, - -0x8p-1076L, - -0x8p-1076L, - -0x4p-1076L, - -0x4p-1076L, - true, - -0x6p-1076L, - -0x6p-1076L, - -0x6p-1076L, - -0x6p-1076L), + -0x6p-1076, + -0x6p-1076, + -0x6p-1076, + -0x6p-1076, + true, + -0x6p-1076, + -0x6p-1076, + -0x6p-1076, + -0x6p-1076, + true, + -0x8p-1076, + -0x8p-1076, + -0x4p-1076, + -0x4p-1076, + true, + -0x6p-1076, + -0x6p-1076, + -0x6p-1076, + -0x6p-1076), TEST ("-7.410984687618698162648531893023320585475897039214871466383" "785237510132609053131277979497545424539885696948470431685765" "963899850655339096945981621940161728171894510697854671067917" @@ -4503,40 +4033,35 @@ static const struct test tests[] = { "433756084600398490497214911746308553955635418864151316847843" "631308023759629577398300170898437501e-324", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x8p-1076, + -0x8p-1076, + -0x4p-1076, + -0x4p-1076, + false, + -0x6.0000000000000008p-1076, + -0x6p-1076, + -0x6p-1076, + -0x6p-1076, + false, + -0x6.0000000000000008p-1076, + -0x6p-1076, + -0x6p-1076, + -0x6p-1076, false, -0x8p-1076, -0x8p-1076, -0x4p-1076, -0x4p-1076, false, - -0x8p-1076L, - -0x8p-1076L, - -0x4p-1076L, - -0x4p-1076L, - false, - -0x6.0000000000000008p-1076L, - -0x6p-1076L, - -0x6p-1076L, - -0x6p-1076L, - false, - -0x6.0000000000000008p-1076L, - -0x6p-1076L, - -0x6p-1076L, - -0x6p-1076L, - false, - -0x8p-1076L, - -0x8p-1076L, - -0x4p-1076L, - -0x4p-1076L, - false, - -0x6.0000000000000000000000000004p-1076L, - -0x6p-1076L, - -0x6p-1076L, - -0x6p-1076L), + -0x6.0000000000000000000000000004p-1076, + -0x6p-1076, + -0x6p-1076, + -0x6p-1076), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -4730,40 +4255,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "683343374046671669930219650268554687499e-4951", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x8p-16448, + 0x8p-16448, + 0x8p-16448, + 0x1p-16444, + false, + 0x8p-16448, + 0xcp-16448, + 0x8p-16448, + 0xcp-16448, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x8p-16448L, - 0x8p-16448L, - 0x8p-16448L, - 0x1p-16444L, - false, - 0x8p-16448L, - 0xcp-16448L, - 0x8p-16448L, - 0xcp-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0xb.fffffffffffcp-16448L, - 0xcp-16448L, - 0xb.fffffffffffcp-16448L, - 0xcp-16448L), + 0xb.fffffffffffcp-16448, + 0xcp-16448, + 0xb.fffffffffffcp-16448, + 0xcp-16448), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -4957,40 +4477,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "6833433740466716699302196502685546875e-4951", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, + true, + 0x8p-16448, + 0x1p-16444, + 0x8p-16448, + 0x1p-16444, + true, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0x8p-16448L, - 0x1p-16444L, - 0x8p-16448L, - 0x1p-16444L, - true, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L), + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + true, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -5184,40 +4699,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "683343374046671669930219650268554687501e-4951", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x8p-16448, + 0x1p-16444, + 0x8p-16448, + 0x1p-16444, + false, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448, + 0x1p-16444, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x8p-16448L, - 0x1p-16444L, - 0x8p-16448L, - 0x1p-16444L, - false, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L, - 0x1p-16444L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L, - 0xc.000000000004p-16448L), + 0xcp-16448, + 0xcp-16448, + 0xcp-16448, + 0xc.000000000004p-16448), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -5411,40 +4921,35 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "2683343374046671669930219650268554687499e-4951", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x1p-16444L, - -0x8p-16448L, - -0x8p-16448L, - -0x8p-16448L, + -0x1p-16444, + -0x8p-16448, + -0x8p-16448, + -0x8p-16448, false, - -0xcp-16448L, - -0xcp-16448L, - -0x8p-16448L, - -0x8p-16448L, + -0xcp-16448, + -0xcp-16448, + -0x8p-16448, + -0x8p-16448, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0xcp-16448L, - -0xcp-16448L, - -0xb.fffffffffffcp-16448L, - -0xb.fffffffffffcp-16448L), + -0xcp-16448, + -0xcp-16448, + -0xb.fffffffffffcp-16448, + -0xb.fffffffffffcp-16448), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -5638,40 +5143,35 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "26833433740466716699302196502685546875e-4951", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, - false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, true, - -0x1p-16444L, - -0x1p-16444L, - -0x8p-16448L, - -0x8p-16448L, + -0x1p-16444, + -0x1p-16444, + -0x8p-16448, + -0x8p-16448, true, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L, + -0xcp-16448, + -0xcp-16448, + -0xcp-16448, + -0xcp-16448, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L), + -0xcp-16448, + -0xcp-16448, + -0xcp-16448, + -0xcp-16448), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -5865,40 +5365,35 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "2683343374046671669930219650268554687501e-4951", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x1p-16444, + -0x1p-16444, + -0x8p-16448, + -0x8p-16448, false, - -0x1p-16444L, - -0x1p-16444L, - -0x8p-16448L, - -0x8p-16448L, + -0x1p-16444, + -0xcp-16448, + -0xcp-16448, + -0xcp-16448, false, - -0x1p-16444L, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L, - false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0xc.000000000004p-16448L, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L), + -0xc.000000000004p-16448, + -0xcp-16448, + -0xcp-16448, + -0xcp-16448), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -6092,40 +5587,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "683343374046671669930219650268554687499e-4951", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x8p-16448, + 0x8p-16448, + 0x8p-16448, + 0x1p-16444, + false, + 0x8p-16448, + 0xcp-16448, + 0x8p-16448, + 0xcp-16448, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x8p-16448L, - 0x8p-16448L, - 0x8p-16448L, - 0x1p-16444L, - false, - 0x8p-16448L, - 0xcp-16448L, - 0x8p-16448L, - 0xcp-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0xb.fffffffffffcp-16448L, - 0xcp-16448L, - 0xb.fffffffffffcp-16448L, - 0xcp-16448L), + 0xb.fffffffffffcp-16448, + 0xcp-16448, + 0xb.fffffffffffcp-16448, + 0xcp-16448), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -6319,40 +5809,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "6833433740466716699302196502685546875e-4951", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, + true, + 0x8p-16448, + 0x1p-16444, + 0x8p-16448, + 0x1p-16444, + true, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0x8p-16448L, - 0x1p-16444L, - 0x8p-16448L, - 0x1p-16444L, - true, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L), + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + true, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448), TEST ("5.4677992978237119037926089004291297245985762235403450155814" "707305425575329500966052143410629387408077958710210208052966" "529504784489330482549602621133847135082257338717668975178538" @@ -6546,40 +6031,35 @@ static const struct test tests[] = { "866268925981702690270202829595794350800918257913991744455922" "683343374046671669930219650268554687501e-4951", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x8p-16448L, - 0x1p-16444L, - 0x8p-16448L, - 0x1p-16444L, - false, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L, - 0x1p-16444L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0xcp-16448L, - 0xcp-16448L, - 0xcp-16448L, - 0xc.000000000004p-16448L), + 0x8p-16448, + 0x1p-16444, + 0x8p-16448, + 0x1p-16444, + false, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448, + 0x1p-16444, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0xcp-16448, + 0xcp-16448, + 0xcp-16448, + 0xc.000000000004p-16448), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -6773,40 +6253,35 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "2683343374046671669930219650268554687499e-4951", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x1p-16444L, - -0x8p-16448L, - -0x8p-16448L, - -0x8p-16448L, + -0x1p-16444, + -0x8p-16448, + -0x8p-16448, + -0x8p-16448, false, - -0xcp-16448L, - -0xcp-16448L, - -0x8p-16448L, - -0x8p-16448L, + -0xcp-16448, + -0xcp-16448, + -0x8p-16448, + -0x8p-16448, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0xcp-16448L, - -0xcp-16448L, - -0xb.fffffffffffcp-16448L, - -0xb.fffffffffffcp-16448L), + -0xcp-16448, + -0xcp-16448, + -0xb.fffffffffffcp-16448, + -0xb.fffffffffffcp-16448), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -7000,40 +6475,35 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "26833433740466716699302196502685546875e-4951", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, - false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, true, - -0x1p-16444L, - -0x1p-16444L, - -0x8p-16448L, - -0x8p-16448L, + -0x1p-16444, + -0x1p-16444, + -0x8p-16448, + -0x8p-16448, true, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L, + -0xcp-16448, + -0xcp-16448, + -0xcp-16448, + -0xcp-16448, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L), + -0xcp-16448, + -0xcp-16448, + -0xcp-16448, + -0xcp-16448), TEST ("-5.467799297823711903792608900429129724598576223540345015581" "470730542557532950096605214341062938740807795871021020805296" "652950478448933048254960262113384713508225733871766897517853" @@ -7227,730 +6697,630 @@ static const struct test tests[] = { "386626892598170269027020282959579435080091825791399174445592" "2683343374046671669930219650268554687501e-4951", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x1p-16444, + -0x1p-16444, + -0x8p-16448, + -0x8p-16448, false, - -0x1p-16444L, - -0x1p-16444L, - -0x8p-16448L, - -0x8p-16448L, + -0x1p-16444, + -0xcp-16448, + -0xcp-16448, + -0xcp-16448, false, - -0x1p-16444L, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L, - false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0xc.000000000004p-16448L, - -0xcp-16448L, - -0xcp-16448L, - -0xcp-16448L), + -0xc.000000000004p-16448, + -0xcp-16448, + -0xcp-16448, + -0xcp-16448), TEST ("-0x0.7p-149", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, + true, + -0x3.8p-152, + -0x3.8p-152, + -0x3.8p-152, + -0x3.8p-152, + true, + -0x3.8p-152, + -0x3.8p-152, + -0x3.8p-152, + -0x3.8p-152, + true, + -0x3.8p-152, + -0x3.8p-152, + -0x3.8p-152, + -0x3.8p-152, true, -0x3.8p-152, -0x3.8p-152, -0x3.8p-152, -0x3.8p-152, true, - -0x3.8p-152L, - -0x3.8p-152L, - -0x3.8p-152L, - -0x3.8p-152L, - true, - -0x3.8p-152L, - -0x3.8p-152L, - -0x3.8p-152L, - -0x3.8p-152L, - true, - -0x3.8p-152L, - -0x3.8p-152L, - -0x3.8p-152L, - -0x3.8p-152L, - true, - -0x3.8p-152L, - -0x3.8p-152L, - -0x3.8p-152L, - -0x3.8p-152L, - true, - -0x3.8p-152L, - -0x3.8p-152L, - -0x3.8p-152L, - -0x3.8p-152L), + -0x3.8p-152, + -0x3.8p-152, + -0x3.8p-152, + -0x3.8p-152), TEST ("-0x0.7p-1074", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, - false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, true, - -0x1.cp-1076L, - -0x1.cp-1076L, - -0x1.cp-1076L, - -0x1.cp-1076L, + -0x1.cp-1076, + -0x1.cp-1076, + -0x1.cp-1076, + -0x1.cp-1076, true, - -0x1.cp-1076L, - -0x1.cp-1076L, - -0x1.cp-1076L, - -0x1.cp-1076L, + -0x1.cp-1076, + -0x1.cp-1076, + -0x1.cp-1076, + -0x1.cp-1076, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0x1.cp-1076L, - -0x1.cp-1076L, - -0x1.cp-1076L, - -0x1.cp-1076L), + -0x1.cp-1076, + -0x1.cp-1076, + -0x1.cp-1076, + -0x1.cp-1076), TEST ("-0x0.7p-16445", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x4p-16448L, - -0x0p+0L, - -0x0p+0L, + -0x4p-16448, + -0x4p-16448, + -0x0p+0, + -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0x3.8p-16448L, - -0x3.8p-16448L, - -0x3.8p-16448L, - -0x3.8p-16448L), + -0x3.8p-16448, + -0x3.8p-16448, + -0x3.8p-16448, + -0x3.8p-16448), TEST ("-0x0.7p-16494", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16496L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L), + -0x4p-16496, + -0x0p+0, + -0x0p+0, + -0x0p+0), TEST ("0x1p-150", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + true, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4p-152, + true, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4p-152, + true, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4p-152, true, 0x4p-152, 0x4p-152, 0x4p-152, 0x4p-152, true, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - true, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - true, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - true, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - true, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L), + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4p-152), TEST ("0x1p-1075", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, + true, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + true, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - true, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L), + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + true, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076), TEST ("0x1p-16446", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x8p-16448L, - true, - 0x4p-16448L, - 0x4p-16448L, - 0x4p-16448L, - 0x4p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0x4p-16448L, - 0x4p-16448L, - 0x4p-16448L, - 0x4p-16448L), + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-16448, + true, + 0x4p-16448, + 0x4p-16448, + 0x4p-16448, + 0x4p-16448, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + true, + 0x4p-16448, + 0x4p-16448, + 0x4p-16448, + 0x4p-16448), TEST ("0x1p-16495", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-16448, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-16448, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x8p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-16496L), + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-16496), TEST ("-0x1p-150", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, + true, + -0x4p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, + true, + -0x4p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, true, -0x4p-152, -0x4p-152, -0x4p-152, -0x4p-152, true, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - true, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - true, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - true, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - true, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L), + -0x4p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, + true, + -0x4p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152), TEST ("-0x1p-1075", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, - false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, true, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, true, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L), + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076), TEST ("-0x1p-16446", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0x4p-16448L, - -0x4p-16448L, - -0x4p-16448L, - -0x4p-16448L, + -0x4p-16448, + -0x4p-16448, + -0x4p-16448, + -0x4p-16448, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0x4p-16448L, - -0x4p-16448L, - -0x4p-16448L, - -0x4p-16448L), + -0x4p-16448, + -0x4p-16448, + -0x4p-16448, + -0x4p-16448), TEST ("-0x1p-16495", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16496L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L), + -0x4p-16496, + -0x0p+0, + -0x0p+0, + -0x0p+0), TEST (".70064923216240853546186479164495807e-45", false, - 0x0p+0f, - 0x8p-152f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x8p-152, + 0x0p+0, + 0x8p-152, false, 0x4p-152, 0x4p-152, 0x4p-152, 0x4.0000000000004p-152, false, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4.0000000000004p-152L, - false, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4.0000000000000008p-152L, - false, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4.0000000000000008p-152L, - false, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4.00000000000000000000000002p-152L, - false, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4.0000000000000000000000000004p-152L), + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4.0000000000000008p-152, + false, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4.0000000000000008p-152, + false, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4.00000000000000000000000002p-152, + false, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4.0000000000000000000000000004p-152), TEST ("7.0064923216240853546186479164495806564013097093825788587853" "4141944895541342930300743319094181060791015624e-46", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, false, 0x3.ffffffffffffep-152, 0x4p-152, 0x3.ffffffffffffep-152, 0x4p-152, false, - 0x3.ffffffffffffep-152L, - 0x4p-152L, - 0x3.ffffffffffffep-152L, - 0x4p-152L, - false, - 0x3.fffffffffffffffcp-152L, - 0x4p-152L, - 0x3.fffffffffffffffcp-152L, - 0x4p-152L, - false, - 0x3.fffffffffffffffcp-152L, - 0x4p-152L, - 0x3.fffffffffffffffcp-152L, - 0x4p-152L, - false, - 0x3.ffffffffffffffffffffffffffp-152L, - 0x4p-152L, - 0x3.ffffffffffffffffffffffffffp-152L, - 0x4p-152L, - false, - 0x3.fffffffffffffffffffffffffffep-152L, - 0x4p-152L, - 0x3.fffffffffffffffffffffffffffep-152L, - 0x4p-152L), + 0x3.fffffffffffffffcp-152, + 0x4p-152, + 0x3.fffffffffffffffcp-152, + 0x4p-152, + false, + 0x3.fffffffffffffffcp-152, + 0x4p-152, + 0x3.fffffffffffffffcp-152, + 0x4p-152, + false, + 0x3.ffffffffffffffffffffffffffp-152, + 0x4p-152, + 0x3.ffffffffffffffffffffffffffp-152, + 0x4p-152, + false, + 0x3.fffffffffffffffffffffffffffep-152, + 0x4p-152, + 0x3.fffffffffffffffffffffffffffep-152, + 0x4p-152), TEST ("7.0064923216240853546186479164495806564013097093825788587853" "4141944895541342930300743319094181060791015625e-46", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + true, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4p-152, + true, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4p-152, + true, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4p-152, true, 0x4p-152, 0x4p-152, 0x4p-152, 0x4p-152, true, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - true, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - true, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - true, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - true, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L), + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4p-152), TEST ("7.0064923216240853546186479164495806564013097093825788587853" "4141944895541342930300743319094181060791015626e-46", false, - 0x0p+0f, - 0x8p-152f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x8p-152, + 0x0p+0, + 0x8p-152, false, 0x4p-152, 0x4p-152, 0x4p-152, 0x4.0000000000004p-152, false, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4.0000000000004p-152L, - false, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4.0000000000000008p-152L, - false, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4.0000000000000008p-152L, - false, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4.00000000000000000000000002p-152L, - false, - 0x4p-152L, - 0x4p-152L, - 0x4p-152L, - 0x4.0000000000000000000000000004p-152L), + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4.0000000000000008p-152, + false, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4.0000000000000008p-152, + false, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4.00000000000000000000000002p-152, + false, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4.0000000000000000000000000004p-152), TEST ("-7.006492321624085354618647916449580656401309709382578858785" "34141944895541342930300743319094181060791015624e-46", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-152, -0x4p-152, -0x3.ffffffffffffep-152, -0x3.ffffffffffffep-152, false, - -0x4p-152L, - -0x4p-152L, - -0x3.ffffffffffffep-152L, - -0x3.ffffffffffffep-152L, - false, - -0x4p-152L, - -0x4p-152L, - -0x3.fffffffffffffffcp-152L, - -0x3.fffffffffffffffcp-152L, - false, - -0x4p-152L, - -0x4p-152L, - -0x3.fffffffffffffffcp-152L, - -0x3.fffffffffffffffcp-152L, - false, - -0x4p-152L, - -0x4p-152L, - -0x3.ffffffffffffffffffffffffffp-152L, - -0x3.ffffffffffffffffffffffffffp-152L, - false, - -0x4p-152L, - -0x4p-152L, - -0x3.fffffffffffffffffffffffffffep-152L, - -0x3.fffffffffffffffffffffffffffep-152L), + -0x4p-152, + -0x4p-152, + -0x3.fffffffffffffffcp-152, + -0x3.fffffffffffffffcp-152, + false, + -0x4p-152, + -0x4p-152, + -0x3.fffffffffffffffcp-152, + -0x3.fffffffffffffffcp-152, + false, + -0x4p-152, + -0x4p-152, + -0x3.ffffffffffffffffffffffffffp-152, + -0x3.ffffffffffffffffffffffffffp-152, + false, + -0x4p-152, + -0x4p-152, + -0x3.fffffffffffffffffffffffffffep-152, + -0x3.fffffffffffffffffffffffffffep-152), TEST ("-7.006492321624085354618647916449580656401309709382578858785" "34141944895541342930300743319094181060791015625e-46", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, + true, + -0x4p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, + true, + -0x4p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, + true, + -0x4p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, true, -0x4p-152, -0x4p-152, -0x4p-152, -0x4p-152, true, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - true, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - true, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - true, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - true, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L), + -0x4p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152), TEST ("-7.006492321624085354618647916449580656401309709382578858785" "34141944895541342930300743319094181060791015626e-46", false, - -0x8p-152f, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x8p-152, + -0x0p+0, + -0x0p+0, false, -0x4.0000000000004p-152, -0x4p-152, -0x4p-152, -0x4p-152, false, - -0x4.0000000000004p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - false, - -0x4.0000000000000008p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - false, - -0x4.0000000000000008p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - false, - -0x4.00000000000000000000000002p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L, - false, - -0x4.0000000000000000000000000004p-152L, - -0x4p-152L, - -0x4p-152L, - -0x4p-152L), + -0x4.0000000000000008p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, + false, + -0x4.0000000000000008p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, + false, + -0x4.00000000000000000000000002p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, + false, + -0x4.0000000000000000000000000004p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152), TEST ("2.4703282292062327208828439643411068618252990130716238221279" "284125033775363510437593264991818081799618989828234772285886" "546332835517796989819938739800539093906315035659515570226392" @@ -7965,40 +7335,35 @@ static const struct test tests[] = { "779186948667994968324049705821028513185451396213837722826145" "437693412532098591327667236328124e-324", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x1.fffffffffffffffep-1076, + 0x2p-1076, + 0x1.fffffffffffffffep-1076, + 0x2p-1076, + false, + 0x1.fffffffffffffffep-1076, + 0x2p-1076, + 0x1.fffffffffffffffep-1076, + 0x2p-1076, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x1.fffffffffffffffep-1076L, - 0x2p-1076L, - 0x1.fffffffffffffffep-1076L, - 0x2p-1076L, - false, - 0x1.fffffffffffffffep-1076L, - 0x2p-1076L, - 0x1.fffffffffffffffep-1076L, - 0x2p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x1.ffffffffffffffffffffffffffffp-1076L, - 0x2p-1076L, - 0x1.ffffffffffffffffffffffffffffp-1076L, - 0x2p-1076L), + 0x1.ffffffffffffffffffffffffffffp-1076, + 0x2p-1076, + 0x1.ffffffffffffffffffffffffffffp-1076, + 0x2p-1076), TEST ("2.4703282292062327208828439643411068618252990130716238221279" "284125033775363510437593264991818081799618989828234772285886" "546332835517796989819938739800539093906315035659515570226392" @@ -8013,40 +7378,35 @@ static const struct test tests[] = { "779186948667994968324049705821028513185451396213837722826145" "437693412532098591327667236328125e-324", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, + true, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + true, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - true, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L), + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + true, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076), TEST ("2.4703282292062327208828439643411068618252990130716238221279" "284125033775363510437593264991818081799618989828234772285886" "546332835517796989819938739800539093906315035659515570226392" @@ -8061,40 +7421,35 @@ static const struct test tests[] = { "779186948667994968324049705821028513185451396213837722826145" "437693412532098591327667236328126e-324", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, false, 0x0p+0, 0x4p-1076, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x4p-1076L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - 0x2.0000000000000004p-1076L, - false, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - 0x2.0000000000000004p-1076L, - false, - 0x0p+0L, - 0x4p-1076L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x2p-1076L, - 0x2p-1076L, - 0x2p-1076L, - 0x2.0000000000000000000000000002p-1076L), + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + 0x2.0000000000000004p-1076, + false, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + 0x2.0000000000000004p-1076, + false, + 0x0p+0, + 0x4p-1076, + 0x0p+0, + 0x4p-1076, + false, + 0x2p-1076, + 0x2p-1076, + 0x2p-1076, + 0x2.0000000000000000000000000002p-1076), TEST ("-2.470328229206232720882843964341106861825299013071623822127" "928412503377536351043759326499181808179961898982823477228588" "654633283551779698981993873980053909390631503565951557022639" @@ -8109,40 +7464,35 @@ static const struct test tests[] = { "477918694866799496832404970582102851318545139621383772282614" "5437693412532098591327667236328124e-324", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x2p-1076, + -0x2p-1076, + -0x1.fffffffffffffffep-1076, + -0x1.fffffffffffffffep-1076, false, - -0x2p-1076L, - -0x2p-1076L, - -0x1.fffffffffffffffep-1076L, - -0x1.fffffffffffffffep-1076L, + -0x2p-1076, + -0x2p-1076, + -0x1.fffffffffffffffep-1076, + -0x1.fffffffffffffffep-1076, false, - -0x2p-1076L, - -0x2p-1076L, - -0x1.fffffffffffffffep-1076L, - -0x1.fffffffffffffffep-1076L, - false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x2p-1076L, - -0x2p-1076L, - -0x1.ffffffffffffffffffffffffffffp-1076L, - -0x1.ffffffffffffffffffffffffffffp-1076L), + -0x2p-1076, + -0x2p-1076, + -0x1.ffffffffffffffffffffffffffffp-1076, + -0x1.ffffffffffffffffffffffffffffp-1076), TEST ("-2.470328229206232720882843964341106861825299013071623822127" "928412503377536351043759326499181808179961898982823477228588" "654633283551779698981993873980053909390631503565951557022639" @@ -8157,40 +7507,35 @@ static const struct test tests[] = { "477918694866799496832404970582102851318545139621383772282614" "5437693412532098591327667236328125e-324", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, - false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, true, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, true, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L), + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076), TEST ("-2.470328229206232720882843964341106861825299013071623822127" "928412503377536351043759326499181808179961898982823477228588" "654633283551779698981993873980053909390631503565951557022639" @@ -8205,40 +7550,35 @@ static const struct test tests[] = { "477918694866799496832404970582102851318545139621383772282614" "5437693412532098591327667236328126e-324", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x4p-1076, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - false, - -0x2.0000000000000004p-1076L, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, + -0x2.0000000000000004p-1076, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, false, - -0x2.0000000000000004p-1076L, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L, + -0x2.0000000000000004p-1076, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076, false, - -0x4p-1076L, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x4p-1076, + -0x0p+0, + -0x0p+0, false, - -0x2.0000000000000000000000000002p-1076L, - -0x2p-1076L, - -0x2p-1076L, - -0x2p-1076L), + -0x2.0000000000000000000000000002p-1076, + -0x2p-1076, + -0x2p-1076, + -0x2p-1076), TEST ("1.8225997659412373012642029668097099081995254078467816718604" "902435141858443166988684047803543129136025986236736736017655" "509834928163110160849867540377949045027419112905889658392846" @@ -8432,40 +7772,35 @@ static const struct test tests[] = { "622089641993900896756734276531931450266972752637997248151974" "2277811246822238899767398834228515624e-4951", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-16448, + false, + 0x0p+0, + 0x4p-16448, + 0x0p+0, + 0x4p-16448, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x8p-16448L, - false, - 0x0p+0L, - 0x4p-16448L, - 0x0p+0L, - 0x4p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x3.fffffffffffcp-16448L, - 0x4p-16448L, - 0x3.fffffffffffcp-16448L, - 0x4p-16448L), + 0x3.fffffffffffcp-16448, + 0x4p-16448, + 0x3.fffffffffffcp-16448, + 0x4p-16448), TEST ("1.8225997659412373012642029668097099081995254078467816718604" "902435141858443166988684047803543129136025986236736736017655" "509834928163110160849867540377949045027419112905889658392846" @@ -8659,40 +7994,35 @@ static const struct test tests[] = { "622089641993900896756734276531931450266972752637997248151974" "2277811246822238899767398834228515625e-4951", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x8p-16448L, - true, - 0x4p-16448L, - 0x4p-16448L, - 0x4p-16448L, - 0x4p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0x4p-16448L, - 0x4p-16448L, - 0x4p-16448L, - 0x4p-16448L), + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-16448, + true, + 0x4p-16448, + 0x4p-16448, + 0x4p-16448, + 0x4p-16448, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + true, + 0x4p-16448, + 0x4p-16448, + 0x4p-16448, + 0x4p-16448), TEST ("1.8225997659412373012642029668097099081995254078467816718604" "902435141858443166988684047803543129136025986236736736017655" "509834928163110160849867540377949045027419112905889658392846" @@ -8886,40 +8216,35 @@ static const struct test tests[] = { "622089641993900896756734276531931450266972752637997248151974" "2277811246822238899767398834228515626e-4951", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0, + 0x8p-16448, + 0x0p+0, + 0x8p-16448, + false, + 0x4p-16448, + 0x4p-16448, + 0x4p-16448, + 0x8p-16448, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x8p-16448L, - 0x0p+0L, - 0x8p-16448L, - false, - 0x4p-16448L, - 0x4p-16448L, - 0x4p-16448L, - 0x8p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x4p-16448L, - 0x4p-16448L, - 0x4p-16448L, - 0x4.000000000004p-16448L), + 0x4p-16448, + 0x4p-16448, + 0x4p-16448, + 0x4.000000000004p-16448), TEST ("-1.822599765941237301264202966809709908199525407846781671860" "490243514185844316698868404780354312913602598623673673601765" "550983492816311016084986754037794904502741911290588965839284" @@ -9113,40 +8438,35 @@ static const struct test tests[] = { "462208964199390089675673427653193145026697275263799724815197" "42277811246822238899767398834228515624e-4951", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x4p-16448L, - -0x0p+0L, - -0x0p+0L, + -0x4p-16448, + -0x4p-16448, + -0x0p+0, + -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x4p-16448L, - -0x3.fffffffffffcp-16448L, - -0x3.fffffffffffcp-16448L), + -0x4p-16448, + -0x4p-16448, + -0x3.fffffffffffcp-16448, + -0x3.fffffffffffcp-16448), TEST ("-1.822599765941237301264202966809709908199525407846781671860" "490243514185844316698868404780354312913602598623673673601765" "550983492816311016084986754037794904502741911290588965839284" @@ -9340,40 +8660,35 @@ static const struct test tests[] = { "462208964199390089675673427653193145026697275263799724815197" "42277811246822238899767398834228515625e-4951", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0x4p-16448L, - -0x4p-16448L, - -0x4p-16448L, - -0x4p-16448L, + -0x4p-16448, + -0x4p-16448, + -0x4p-16448, + -0x4p-16448, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0x4p-16448L, - -0x4p-16448L, - -0x4p-16448L, - -0x4p-16448L), + -0x4p-16448, + -0x4p-16448, + -0x4p-16448, + -0x4p-16448), TEST ("-1.822599765941237301264202966809709908199525407846781671860" "490243514185844316698868404780354312913602598623673673601765" "550983492816311016084986754037794904502741911290588965839284" @@ -9567,40 +8882,35 @@ static const struct test tests[] = { "462208964199390089675673427653193145026697275263799724815197" "42277811246822238899767398834228515626e-4951", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x8p-16448, + -0x0p+0, + -0x0p+0, false, - -0x8p-16448L, - -0x4p-16448L, - -0x4p-16448L, - -0x4p-16448L, + -0x8p-16448, + -0x4p-16448, + -0x4p-16448, + -0x4p-16448, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4.000000000004p-16448L, - -0x4p-16448L, - -0x4p-16448L, - -0x4p-16448L), + -0x4.000000000004p-16448, + -0x4p-16448, + -0x4p-16448, + -0x4p-16448), TEST ("9.1129988297061865063210148340485495409976270392339083593024" "512175709292215834943420239017715645680129931183683680088277" "549174640815550804249337701889745225137095564529448291964230" @@ -9794,40 +9104,35 @@ static const struct test tests[] = { "110448209969504483783671382659657251334863763189986240759871" "1389056234111194498836994171142578124e-4952", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-16448, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-16448, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x8p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x1.fffffffffffcp-16448L, - 0x2p-16448L, - 0x1.fffffffffffcp-16448L, - 0x2p-16448L), + 0x1.fffffffffffcp-16448, + 0x2p-16448, + 0x1.fffffffffffcp-16448, + 0x2p-16448), TEST ("9.1129988297061865063210148340485495409976270392339083593024" "512175709292215834943420239017715645680129931183683680088277" "549174640815550804249337701889745225137095564529448291964230" @@ -10021,40 +9326,35 @@ static const struct test tests[] = { "110448209969504483783671382659657251334863763189986240759871" "1389056234111194498836994171142578125e-4952", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x8p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - true, - 0x2p-16448L, - 0x2p-16448L, - 0x2p-16448L, - 0x2p-16448L), + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-16448, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-16448, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + true, + 0x2p-16448, + 0x2p-16448, + 0x2p-16448, + 0x2p-16448), TEST ("9.1129988297061865063210148340485495409976270392339083593024" "512175709292215834943420239017715645680129931183683680088277" "549174640815550804249337701889745225137095564529448291964230" @@ -10248,40 +9548,35 @@ static const struct test tests[] = { "110448209969504483783671382659657251334863763189986240759871" "1389056234111194498836994171142578126e-4952", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-16448, + false, + 0x0p+0, + 0x4p-16448, + 0x0p+0, + 0x4p-16448, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x8p-16448L, - false, - 0x0p+0L, - 0x4p-16448L, - 0x0p+0L, - 0x4p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x2p-16448L, - 0x2p-16448L, - 0x2p-16448L, - 0x2.000000000004p-16448L), + 0x2p-16448, + 0x2p-16448, + 0x2p-16448, + 0x2.000000000004p-16448), TEST ("-9.112998829706186506321014834048549540997627039233908359302" "451217570929221583494342023901771564568012993118368368008827" "754917464081555080424933770188974522513709556452944829196423" @@ -10475,40 +9770,35 @@ static const struct test tests[] = { "311044820996950448378367138265965725133486376318998624075987" "11389056234111194498836994171142578124e-4952", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x2p-16448L, - -0x2p-16448L, - -0x1.fffffffffffcp-16448L, - -0x1.fffffffffffcp-16448L), + -0x2p-16448, + -0x2p-16448, + -0x1.fffffffffffcp-16448, + -0x1.fffffffffffcp-16448), TEST ("-9.112998829706186506321014834048549540997627039233908359302" "451217570929221583494342023901771564568012993118368368008827" "754917464081555080424933770188974522513709556452944829196423" @@ -10702,40 +9992,35 @@ static const struct test tests[] = { "311044820996950448378367138265965725133486376318998624075987" "11389056234111194498836994171142578125e-4952", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, true, - -0x2p-16448L, - -0x2p-16448L, - -0x2p-16448L, - -0x2p-16448L), + -0x2p-16448, + -0x2p-16448, + -0x2p-16448, + -0x2p-16448), TEST ("-9.112998829706186506321014834048549540997627039233908359302" "451217570929221583494342023901771564568012993118368368008827" "754917464081555080424933770188974522513709556452944829196423" @@ -10929,40 +10214,35 @@ static const struct test tests[] = { "311044820996950448378367138265965725133486376318998624075987" "11389056234111194498836994171142578126e-4952", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x4p-16448L, - -0x0p+0L, - -0x0p+0L, + -0x4p-16448, + -0x4p-16448, + -0x0p+0, + -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x2.000000000004p-16448L, - -0x2p-16448L, - -0x2p-16448L, - -0x2p-16448L), + -0x2.000000000004p-16448, + -0x2p-16448, + -0x2p-16448, + -0x2p-16448), TEST ("3.2375875597190125554622194791138232762497846690173405048449" "421945985197700620596855088357456383249701279390707384240598" "382936099431912710233425550359863089915213963553756674672083" @@ -11157,40 +10437,35 @@ static const struct test tests[] = { "182358152808745703724362178773168996492870519432472065091133" "11767578124e-4966", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-16448, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-16448, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x8p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-16496L), + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-16496), TEST ("3.2375875597190125554622194791138232762497846690173405048449" "421945985197700620596855088357456383249701279390707384240598" "382936099431912710233425550359863089915213963553756674672083" @@ -11385,40 +10660,35 @@ static const struct test tests[] = { "182358152808745703724362178773168996492870519432472065091133" "11767578125e-4966", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-16448, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-16448, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x8p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-16496L), + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-16496), TEST ("3.2375875597190125554622194791138232762497846690173405048449" "421945985197700620596855088357456383249701279390707384240598" "382936099431912710233425550359863089915213963553756674672083" @@ -11613,40 +10883,35 @@ static const struct test tests[] = { "182358152808745703724362178773168996492870519432472065091133" "11767578126e-4966", false, - 0x0p+0f, - 0x0p+0f, - 0x0p+0f, - 0x8p-152f, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-152, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x8p-16448, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-16448, false, 0x0p+0, 0x0p+0, 0x0p+0, 0x4p-1076, false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x8p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-16448L, - false, - 0x0p+0L, - 0x0p+0L, - 0x0p+0L, - 0x4p-1076L, - false, - 0x0p+0L, - 0x4p-16496L, - 0x0p+0L, - 0x4p-16496L), + 0x0p+0, + 0x4p-16496, + 0x0p+0, + 0x4p-16496), TEST ("-3.237587559719012555462219479113823276249784669017340504844" "942194598519770062059685508835745638324970127939070738424059" "838293609943191271023342555035986308991521396355375667467208" @@ -11841,40 +11106,35 @@ static const struct test tests[] = { "218235815280874570372436217877316899649287051943247206509113" "311767578124e-4966", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16496L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L), + -0x4p-16496, + -0x0p+0, + -0x0p+0, + -0x0p+0), TEST ("-3.237587559719012555462219479113823276249784669017340504844" "942194598519770062059685508835745638324970127939070738424059" "838293609943191271023342555035986308991521396355375667467208" @@ -12069,40 +11329,35 @@ static const struct test tests[] = { "218235815280874570372436217877316899649287051943247206509113" "311767578125e-4966", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16496L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L), + -0x4p-16496, + -0x0p+0, + -0x0p+0, + -0x0p+0), TEST ("-3.237587559719012555462219479113823276249784669017340504844" "942194598519770062059685508835745638324970127939070738424059" "838293609943191271023342555035986308991521396355375667467208" @@ -12297,38 +11552,33 @@ static const struct test tests[] = { "218235815280874570372436217877316899649287051943247206509113" "311767578126e-4966", false, - -0x8p-152f, - -0x0p+0f, - -0x0p+0f, - -0x0p+0f, + -0x8p-152, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, -0x4p-1076, -0x0p+0, -0x0p+0, -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, - false, - -0x8p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x8p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16448L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-16448, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-1076L, - -0x0p+0L, - -0x0p+0L, - -0x0p+0L, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, false, - -0x4p-16496L, - -0x4p-16496L, - -0x0p+0L, - -0x0p+0L), + -0x4p-16496, + -0x4p-16496, + -0x0p+0, + -0x0p+0), }; diff --git a/stdlib/tst-strtod-round.c b/stdlib/tst-strtod-round.c index a2cd2ab..509f96a 100644 --- a/stdlib/tst-strtod-round.c +++ b/stdlib/tst-strtod-round.c @@ -29,152 +29,165 @@ #include <string.h> #include <math-tests.h> -struct exactness -{ - bool f; - bool d; - bool ld; -}; +#include "tst-strtod.h" -struct test_results { - float f; - double d; - long double ld; -}; +#define _CONCAT(a, b) a ## b +#define CONCAT(a, b) _CONCAT (a, b) -struct test { - const char *s; - struct exactness exact; - struct test_results rd, rn, rz, ru; -}; +#if LDBL_MANT_DIG == 106 && LDBL_MAX_EXP == 1024 +/* This is a stupid hack for IBM long double. This test ignores + inexact values for long double due to the limitations of the + format. This ensures rounding tests are ignored. */ +# undef ROUNDING_TESTS_long_double +# define ROUNDING_TESTS_long_double(x) 0 +#endif +/* Generator to create an FTYPE member variabled named FSUF + used to populate struct member variables. */ +#define FTYPE_MEMBER(FSUF, FTYPE, FTOSTR, FTOSTRM, LSUF, CSUF) \ + FTYPE FSUF; + +/* Likewise, but each member is of type bool. */ +#define BOOL_MEMBER(FSUF, FTYPE, FTOSTR, FTOSTRM, LSUF, CSUF) \ + bool FSUF; + +#define STRUCT_FOREACH_FLOAT_FTYPE GEN_TEST_STRTOD_FOREACH (FTYPE_MEMBER) +#define STRUCT_FOREACH_FLOAT_BOOL GEN_TEST_STRTOD_FOREACH (BOOL_MEMBER) + +/* Define the long double choose (CHOOSE_ld) macro + to select the appropriate generated long double + value from the generated test data. */ #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 -# define TEST(s, fexact, fd, fn, fz, fu, dexact, dd, dn, dz, du, \ - ld53exact, ld53d, ld53n, ld53z, ld53u, \ - ld64iexact, ld64id, ld64in, ld64iz, ld64iu, \ - ld64mexact, ld64md, ld64mn, ld64mz, ld64mu, \ - ld106exact, ld106d, ld106n, ld106z, ld106u, \ - ld113exact, ld113d, ld113n, ld113z, ld113u) \ - { \ - s, \ - { fexact, dexact, ld53exact }, \ - { fd, dd, ld53d }, \ - { fn, dn, ld53n }, \ - { fz, dz, ld53z }, \ - { fu, du, ld53u } \ - } +/* This is for the long double == double format. */ +# define CHOOSE_ld(f,d,...) d #elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && LDBL_MIN_EXP == -16381 /* This is for the Intel extended float format. */ -# define TEST(s, fexact, fd, fn, fz, fu, dexact, dd, dn, dz, du, \ - ld53exact, ld53d, ld53n, ld53z, ld53u, \ - ld64iexact, ld64id, ld64in, ld64iz, ld64iu, \ - ld64mexact, ld64md, ld64mn, ld64mz, ld64mu, \ - ld106exact, ld106d, ld106n, ld106z, ld106u, \ - ld113exact, ld113d, ld113n, ld113z, ld113u) \ - { \ - s, \ - { fexact, dexact, ld64iexact }, \ - { fd, dd, ld64id }, \ - { fn, dn, ld64in }, \ - { fz, dz, ld64iz }, \ - { fu, du, ld64iu } \ - } +# define CHOOSE_ld(f,d,ld64i,...) ld64i #elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 && LDBL_MIN_EXP == -16382 /* This is for the Motorola extended float format. */ -# define TEST(s, fexact, fd, fn, fz, fu, dexact, dd, dn, dz, du, \ - ld53exact, ld53d, ld53n, ld53z, ld53u, \ - ld64iexact, ld64id, ld64in, ld64iz, ld64iu, \ - ld64mexact, ld64md, ld64mn, ld64mz, ld64mu, \ - ld106exact, ld106d, ld106n, ld106z, ld106u, \ - ld113exact, ld113d, ld113n, ld113z, ld113u) \ - { \ - s, \ - { fexact, dexact, ld64mexact }, \ - { fd, dd, ld64md }, \ - { fn, dn, ld64mn }, \ - { fz, dz, ld64mz }, \ - { fu, du, ld64mu } \ - } +# define CHOOSE_ld(f,d,ld64i,ld64m,...) ld64m #elif LDBL_MANT_DIG == 106 && LDBL_MAX_EXP == 1024 -# define TEST(s, fexact, fd, fn, fz, fu, dexact, dd, dn, dz, du, \ - ld53exact, ld53d, ld53n, ld53z, ld53u, \ - ld64iexact, ld64id, ld64in, ld64iz, ld64iu, \ - ld64mexact, ld64md, ld64mn, ld64mz, ld64mu, \ - ld106exact, ld106d, ld106n, ld106z, ld106u, \ - ld113exact, ld113d, ld113n, ld113z, ld113u) \ - { \ - s, \ - { fexact, dexact, ld106exact }, \ - { fd, dd, ld106d }, \ - { fn, dn, ld106n }, \ - { fz, dz, ld106z }, \ - { fu, du, ld106u } \ - } +/* This is for the IBM extended double format. */ +# define CHOOSE_ld(f,d,ld64i,ld64m,ld106,...) ld106 #elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 -# define TEST(s, fexact, fd, fn, fz, fu, dexact, dd, dn, dz, du, \ - ld53exact, ld53d, ld53n, ld53z, ld53u, \ - ld64iexact, ld64id, ld64in, ld64iz, ld64iu, \ - ld64mexact, ld64md, ld64mn, ld64mz, ld64mu, \ - ld106exact, ld106d, ld106n, ld106z, ld106u, \ - ld113exact, ld113d, ld113n, ld113z, ld113u) \ - { \ - s, \ - { fexact, dexact, ld113exact }, \ - { fd, dd, ld113d }, \ - { fn, dn, ld113n }, \ - { fz, dz, ld113z }, \ - { fu, du, ld113u } \ - } +/* This is for the IEEE binary128 format. */ +# define CHOOSE_ld(f,d,ld64i,ld64m,ld106,ld113,...) ld113 #else # error "unknown long double format" #endif +/* Add type specific choosing macros below. */ +#define CHOOSE_f(f,...) f +#define CHOOSE_d(f,d,...) d +/* long double is special, and handled above. */ + +/* Selector for expected result field of a given type. */ +#define _ENTRY(FSUF, FTYPE, FTOSTR, FTOSTRM, LSUF, CSUF, ...) \ + CONCAT (CHOOSE_ ## FSUF (__VA_ARGS__), LSUF), +#define ENTRY(...) \ + GEN_TEST_STRTOD_FOREACH (_ENTRY, __VA_ARGS__) + +/* Selector for boolean exact tag of expected results. */ +#define _XNTRY(FSUF, FTYPE, FTOSTR, FTOSTRM, LSUF, CSUF, ...) \ + CHOOSE_ ## FSUF (__VA_ARGS__), +#define XNTRY(...) \ + GEN_TEST_STRTOD_FOREACH (_XNTRY, __VA_ARGS__) + +/* This is hacky way around the seemingly unavoidable macro + expansion of the INFINITY or HUGE_VAL like macros in the + above. It is assumed the compiler will implicitly convert + the infinity correctly. */ +#define INF INFINITY + 0.0 + +/* This macro is used in conjunction with the output from the + gen-tst-strtod-round utility to select the appropriately + rounded long double value for a given format. */ +#define TEST(s, \ + fx, fd, fn, fz, fu, \ + dx, dd, dn, dz, du, \ + ld64ix, ld64id, ld64in, ld64iz, ld64iu, \ + ld64mx, ld64md, ld64mn, ld64mz, ld64mu, \ + ld106x, ld106d, ld106n, ld106z, ld106u, \ + ld113x, ld113d, ld113n, ld113z, ld113u) \ + { \ + s, \ + { XNTRY (fx, dx, ld64ix, ld64mx, ld106x, ld113x) }, \ + { \ + { ENTRY (fn, dn, ld64in, ld64mn, ld106n, ld113n) }, \ + { ENTRY (fd, dd, ld64id, ld64md, ld106d, ld113d) }, \ + { ENTRY (fz, dz, ld64iz, ld64mz, ld106z, ld113z) }, \ + { ENTRY (fu, du, ld64iu, ld64mu, ld106u, ld113u) } \ + } \ + } + +struct test_exactness + { + STRUCT_FOREACH_FLOAT_BOOL + }; + +struct test_results + { + STRUCT_FOREACH_FLOAT_FTYPE + }; + +struct test { + const char *s; + struct test_exactness exact; + struct test_results r[4]; +}; + /* Include the generated test data. */ #include "tst-strtod-round-data.h" +#define GEN_ONE_TEST(FSUF, FTYPE, FTOSTR, FTOSTRM, LSUF, CSUF) \ +{ \ + FTYPE f = strto ## FSUF (s, NULL); \ + if (f != expected->FSUF \ + || (copysign ## CSUF) (1.0 ## LSUF, f) \ + != (copysign ## CSUF) (1.0 ## LSUF, expected->FSUF)) \ + { \ + char efstr[FSTRLENMAX]; \ + char fstr[FSTRLENMAX]; \ + FTOSTR (efstr, FSTRLENMAX, "%" FTOSTRM "a", expected->FSUF); \ + FTOSTR (fstr, FSTRLENMAX, "%" FTOSTRM "a", f); \ + printf ("strto" #FSUF " (%s) returned %s not %s" \ + " (%s)\n", s, fstr, efstr, mode_name); \ + if (ROUNDING_TESTS (FTYPE, rnd_mode) || exact->FSUF) \ + result = 1; \ + else \ + printf ("ignoring this inexact result\n"); \ + } \ +} + static int test_in_one_mode (const char *s, const struct test_results *expected, - const struct exactness *exact, const char *mode_name, - bool float_round_ok, bool double_round_ok, - bool long_double_round_ok) + const struct test_exactness *exact, const char *mode_name, + int rnd_mode) { int result = 0; - float f = strtof (s, NULL); - double d = strtod (s, NULL); - long double ld = strtold (s, NULL); - if (f != expected->f - || copysignf (1.0f, f) != copysignf (1.0f, expected->f)) - { - printf ("strtof (%s) returned %a not %a (%s)\n", s, f, - expected->f, mode_name); - if (float_round_ok || exact->f) - result = 1; - else - printf ("ignoring this inexact result\n"); - } - if (d != expected->d - || copysign (1.0, d) != copysign (1.0, expected->d)) - { - printf ("strtod (%s) returned %a not %a (%s)\n", s, d, - expected->d, mode_name); - if (double_round_ok || exact->d) - result = 1; - else - printf ("ignoring this inexact result\n"); - } - if (ld != expected->ld - || copysignl (1.0L, ld) != copysignl (1.0L, expected->ld)) - { - printf ("strtold (%s) returned %La not %La (%s)\n", s, ld, - expected->ld, mode_name); - if ((long_double_round_ok && LDBL_MANT_DIG != 106) || exact->ld) - result = 1; - else - printf ("ignoring this inexact result\n"); - } + GEN_TEST_STRTOD_FOREACH (GEN_ONE_TEST) return result; } +static const struct fetestmodes + { + const char *mode_name; + int rnd_mode; + int rnd_i; /* Corresponding index into r array of struct test. */ + } modes[] = { + { "default rounding mode", FE_TONEAREST, 0 }, +#ifdef FE_DOWNWARD + { "FE_DOWNWARD", FE_DOWNWARD, 1 }, +#endif +#ifdef FE_TOWARDZERO + { "FE_TOWARDZERO", FE_TOWARDZERO, 2 }, +#endif +#ifdef FE_UPWARD + { "FE_UPWARD", FE_UPWARD, 3 }, +#endif + {} +}; + static int do_test (void) { @@ -182,44 +195,19 @@ do_test (void) int result = 0; for (size_t i = 0; i < sizeof (tests) / sizeof (tests[0]); i++) { - result |= test_in_one_mode (tests[i].s, &tests[i].rn, &tests[i].exact, - "default rounding mode", - true, true, true); -#ifdef FE_DOWNWARD - if (!fesetround (FE_DOWNWARD)) + result |= test_in_one_mode (tests[i].s, &tests[i].r[modes[0].rnd_i], + &tests[i].exact, modes[0].mode_name, + modes[0].rnd_mode); + for (const struct fetestmodes *m = &modes[1]; m->mode_name != NULL; m++) { - result |= test_in_one_mode (tests[i].s, &tests[i].rd, - &tests[i].exact, "FE_DOWNWARD", - ROUNDING_TESTS (float, FE_DOWNWARD), - ROUNDING_TESTS (double, FE_DOWNWARD), - ROUNDING_TESTS (long double, - FE_DOWNWARD)); - fesetround (save_round_mode); + if (!fesetround (m->rnd_mode)) + { + result |= test_in_one_mode (tests[i].s, &tests[i].r[m->rnd_i], + &tests[i].exact, m->mode_name, + m->rnd_mode); + fesetround (save_round_mode); + } } -#endif -#ifdef FE_TOWARDZERO - if (!fesetround (FE_TOWARDZERO)) - { - result |= test_in_one_mode (tests[i].s, &tests[i].rz, - &tests[i].exact, "FE_TOWARDZERO", - ROUNDING_TESTS (float, FE_TOWARDZERO), - ROUNDING_TESTS (double, FE_TOWARDZERO), - ROUNDING_TESTS (long double, - FE_TOWARDZERO)); - fesetround (save_round_mode); - } -#endif -#ifdef FE_UPWARD - if (!fesetround (FE_UPWARD)) - { - result |= test_in_one_mode (tests[i].s, &tests[i].ru, - &tests[i].exact, "FE_UPWARD", - ROUNDING_TESTS (float, FE_UPWARD), - ROUNDING_TESTS (double, FE_UPWARD), - ROUNDING_TESTS (long double, FE_UPWARD)); - fesetround (save_round_mode); - } -#endif } return result; } diff --git a/stdlib/tst-strtod.h b/stdlib/tst-strtod.h index d53c1de..607cf39 100644 --- a/stdlib/tst-strtod.h +++ b/stdlib/tst-strtod.h @@ -22,10 +22,10 @@ #define FSTRLENMAX 128 /* Splat n variants of the same test for the various strtod functions. */ -#define GEN_TEST_STRTOD_FOREACH(mfunc) \ - mfunc ( f, float, snprintf, "", f, f) \ - mfunc ( d, double, snprintf, "", , ) \ - mfunc ( ld, long double, snprintf, "L", L, l) +#define GEN_TEST_STRTOD_FOREACH(mfunc, ...) \ + mfunc ( f, float, snprintf, "", f, f, ##__VA_ARGS__) \ + mfunc ( d, double, snprintf, "", , , ##__VA_ARGS__) \ + mfunc ( ld, long double, snprintf, "L", L, l, ##__VA_ARGS__) /* The arguments to the generated macros are: FSUF - Function suffix FTYPE - float type |