1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

Fix strtod rounding of half the least subnormal (bug 16151).

This commit is contained in:
Joseph Myers
2013-11-13 12:59:54 +00:00
parent 7a2ad8cf39
commit 9310c284ae
5 changed files with 308 additions and 2 deletions

View File

@ -7535,6 +7535,294 @@ static const struct test tests[] = {
-0x0p+0L,
-0x0p+0L,
-0x0p+0L),
TEST ("0x1p-150",
false,
0x0p+0f,
0x0p+0f,
0x0p+0f,
0x8p-152f,
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),
TEST ("0x1p-1075",
false,
0x0p+0f,
0x0p+0f,
0x0p+0f,
0x8p-152f,
false,
0x0p+0,
0x0p+0,
0x0p+0,
0x4p-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),
TEST ("0x1p-16446",
false,
0x0p+0f,
0x0p+0f,
0x0p+0f,
0x8p-152f,
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),
TEST ("0x1p-16495",
false,
0x0p+0f,
0x0p+0f,
0x0p+0f,
0x8p-152f,
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),
TEST ("-0x1p-150",
false,
-0x8p-152f,
-0x0p+0f,
-0x0p+0f,
-0x0p+0f,
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),
TEST ("-0x1p-1075",
false,
-0x8p-152f,
-0x0p+0f,
-0x0p+0f,
-0x0p+0f,
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,
true,
-0x2p-1076L,
-0x2p-1076L,
-0x2p-1076L,
-0x2p-1076L,
false,
-0x4p-1076L,
-0x0p+0L,
-0x0p+0L,
-0x0p+0L,
true,
-0x2p-1076L,
-0x2p-1076L,
-0x2p-1076L,
-0x2p-1076L),
TEST ("-0x1p-16446",
false,
-0x8p-152f,
-0x0p+0f,
-0x0p+0f,
-0x0p+0f,
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,
true,
-0x4p-16448L,
-0x4p-16448L,
-0x4p-16448L,
-0x4p-16448L,
false,
-0x4p-1076L,
-0x0p+0L,
-0x0p+0L,
-0x0p+0L,
true,
-0x4p-16448L,
-0x4p-16448L,
-0x4p-16448L,
-0x4p-16448L),
TEST ("-0x1p-16495",
false,
-0x8p-152f,
-0x0p+0f,
-0x0p+0f,
-0x0p+0f,
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,
false,
-0x4p-16448L,
-0x0p+0L,
-0x0p+0L,
-0x0p+0L,
false,
-0x4p-1076L,
-0x0p+0L,
-0x0p+0L,
-0x0p+0L,
false,
-0x4p-16496L,
-0x0p+0L,
-0x0p+0L,
-0x0p+0L),
};
static int