Correctly handle Motorola extended float format in tst-strtod-round

This commit is contained in:
Andreas Schwab 2012-09-05 12:37:16 +02:00
parent 0a9f1987ad
commit e1343020fb
3 changed files with 492 additions and 20 deletions

View File

@ -1,3 +1,11 @@
2012-09-05 Andreas Schwab <schwab@linux-m68k.org>
* stdlib/gen-tst-strtod-round.c (formats): Add Motorola extended
float format.
* stdlib/tst-strtod-round.c (TEST) [LDBL_MANT_DIG == 64 &&
LDBL_MAX_EXP]: Add case for Motorola extended float format.
(test): Regenerate.
2012-09-04 David S. Miller <davem@davemloft.net>
* sysdeps/sparc/sparc32/sparcv9/addmul_1.S: New file.

View File

@ -85,11 +85,14 @@ round_for_all (const char *s)
int emin;
int emax;
bool need_exact;
} formats[6] = {
} formats[7] = {
{ "f", 24, -148, 128, false },
{ "", 53, -1073, 1024, false },
{ "L", 53, -1073, 1024, false },
/* This is the Intel extended float format. */
{ "L", 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 },
};
@ -103,11 +106,11 @@ round_for_all (const char *s)
}
mpfr_printf ("\",\n");
int i;
for (i = 0; i < 6; i++)
for (i = 0; i < 7; i++)
{
round_str (s, formats[i].suffix, formats[i].prec,
formats[i].emin, formats[i].emax, formats[i].need_exact);
if (i < 5)
if (i < 6)
mpfr_printf (",\n");
}
mpfr_printf ("),\n");

File diff suppressed because it is too large Load Diff