xref: /aosp_15_r20/external/llvm-libc/test/src/stdlib/strtod_test.cpp (revision 71db0c75aadcf003ffe3238005f61d7618a3fead)
1*71db0c75SAndroid Build Coastguard Worker //===-- Unittests for strtod ----------------------------------------------===//
2*71db0c75SAndroid Build Coastguard Worker //
3*71db0c75SAndroid Build Coastguard Worker // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*71db0c75SAndroid Build Coastguard Worker // See https://llvm.org/LICENSE.txt for license information.
5*71db0c75SAndroid Build Coastguard Worker // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*71db0c75SAndroid Build Coastguard Worker //
7*71db0c75SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
8*71db0c75SAndroid Build Coastguard Worker 
9*71db0c75SAndroid Build Coastguard Worker #include "src/__support/FPUtil/FPBits.h"
10*71db0c75SAndroid Build Coastguard Worker #include "src/errno/libc_errno.h"
11*71db0c75SAndroid Build Coastguard Worker #include "src/stdlib/strtod.h"
12*71db0c75SAndroid Build Coastguard Worker 
13*71db0c75SAndroid Build Coastguard Worker #include "test/UnitTest/ErrnoSetterMatcher.h"
14*71db0c75SAndroid Build Coastguard Worker #include "test/UnitTest/RoundingModeUtils.h"
15*71db0c75SAndroid Build Coastguard Worker #include "test/UnitTest/Test.h"
16*71db0c75SAndroid Build Coastguard Worker 
17*71db0c75SAndroid Build Coastguard Worker #include <stddef.h>
18*71db0c75SAndroid Build Coastguard Worker 
19*71db0c75SAndroid Build Coastguard Worker using LIBC_NAMESPACE::fputil::testing::ForceRoundingModeTest;
20*71db0c75SAndroid Build Coastguard Worker using LIBC_NAMESPACE::fputil::testing::RoundingMode;
21*71db0c75SAndroid Build Coastguard Worker 
22*71db0c75SAndroid Build Coastguard Worker using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails;
23*71db0c75SAndroid Build Coastguard Worker using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds;
24*71db0c75SAndroid Build Coastguard Worker 
25*71db0c75SAndroid Build Coastguard Worker class LlvmLibcStrToDTest : public LIBC_NAMESPACE::testing::Test,
26*71db0c75SAndroid Build Coastguard Worker                            ForceRoundingModeTest<RoundingMode::Nearest> {
27*71db0c75SAndroid Build Coastguard Worker public:
run_test(const char * inputString,const ptrdiff_t expectedStrLen,const uint64_t expectedRawData,const int expectedErrno=0)28*71db0c75SAndroid Build Coastguard Worker   void run_test(const char *inputString, const ptrdiff_t expectedStrLen,
29*71db0c75SAndroid Build Coastguard Worker                 const uint64_t expectedRawData, const int expectedErrno = 0) {
30*71db0c75SAndroid Build Coastguard Worker     // expectedRawData is the expected double result as a uint64_t, organized
31*71db0c75SAndroid Build Coastguard Worker     // according to IEEE754:
32*71db0c75SAndroid Build Coastguard Worker     //
33*71db0c75SAndroid Build Coastguard Worker     // +-- 1 Sign Bit                        +-- 52 Mantissa bits
34*71db0c75SAndroid Build Coastguard Worker     // |                                     |
35*71db0c75SAndroid Build Coastguard Worker     // |           +-------------------------+------------------------+
36*71db0c75SAndroid Build Coastguard Worker     // |           |                                                  |
37*71db0c75SAndroid Build Coastguard Worker     // SEEEEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
38*71db0c75SAndroid Build Coastguard Worker     //  |         |
39*71db0c75SAndroid Build Coastguard Worker     //  +----+----+
40*71db0c75SAndroid Build Coastguard Worker     //       |
41*71db0c75SAndroid Build Coastguard Worker     //       +-- 11 Exponent Bits
42*71db0c75SAndroid Build Coastguard Worker     //
43*71db0c75SAndroid Build Coastguard Worker     //  This is so that the result can be compared in parts.
44*71db0c75SAndroid Build Coastguard Worker     char *str_end = nullptr;
45*71db0c75SAndroid Build Coastguard Worker 
46*71db0c75SAndroid Build Coastguard Worker     LIBC_NAMESPACE::fputil::FPBits<double> expected_fp =
47*71db0c75SAndroid Build Coastguard Worker         LIBC_NAMESPACE::fputil::FPBits<double>(expectedRawData);
48*71db0c75SAndroid Build Coastguard Worker 
49*71db0c75SAndroid Build Coastguard Worker     LIBC_NAMESPACE::libc_errno = 0;
50*71db0c75SAndroid Build Coastguard Worker     double result = LIBC_NAMESPACE::strtod(inputString, &str_end);
51*71db0c75SAndroid Build Coastguard Worker     if (expectedErrno == 0)
52*71db0c75SAndroid Build Coastguard Worker       EXPECT_THAT(result, Succeeds<double>(expected_fp.get_val()));
53*71db0c75SAndroid Build Coastguard Worker     else
54*71db0c75SAndroid Build Coastguard Worker       EXPECT_THAT(result, Fails<double>(expectedErrno, expected_fp.get_val()));
55*71db0c75SAndroid Build Coastguard Worker     EXPECT_EQ(str_end - inputString, expectedStrLen);
56*71db0c75SAndroid Build Coastguard Worker   }
57*71db0c75SAndroid Build Coastguard Worker };
58*71db0c75SAndroid Build Coastguard Worker 
TEST_F(LlvmLibcStrToDTest,SimpleTest)59*71db0c75SAndroid Build Coastguard Worker TEST_F(LlvmLibcStrToDTest, SimpleTest) {
60*71db0c75SAndroid Build Coastguard Worker   run_test("123", 3, uint64_t(0x405ec00000000000));
61*71db0c75SAndroid Build Coastguard Worker 
62*71db0c75SAndroid Build Coastguard Worker   // This should fail on Eisel-Lemire, forcing a fallback to simple decimal
63*71db0c75SAndroid Build Coastguard Worker   // conversion.
64*71db0c75SAndroid Build Coastguard Worker   run_test("12345678901234549760", 20, uint64_t(0x43e56a95319d63d8));
65*71db0c75SAndroid Build Coastguard Worker 
66*71db0c75SAndroid Build Coastguard Worker   // Found while looking for difficult test cases here:
67*71db0c75SAndroid Build Coastguard Worker   // https://github.com/nigeltao/parse-number-fxx-test-data/blob/main/more-test-cases/golang-org-issue-36657.txt
68*71db0c75SAndroid Build Coastguard Worker   run_test("1090544144181609348835077142190", 31, uint64_t(0x462b8779f2474dfb));
69*71db0c75SAndroid Build Coastguard Worker 
70*71db0c75SAndroid Build Coastguard Worker   run_test("0x123", 5, uint64_t(0x4072300000000000));
71*71db0c75SAndroid Build Coastguard Worker }
72*71db0c75SAndroid Build Coastguard Worker 
73*71db0c75SAndroid Build Coastguard Worker // These are tests that have caused problems in the past.
TEST_F(LlvmLibcStrToDTest,SpecificFailures)74*71db0c75SAndroid Build Coastguard Worker TEST_F(LlvmLibcStrToDTest, SpecificFailures) {
75*71db0c75SAndroid Build Coastguard Worker   run_test("3E70000000000000", 16, uint64_t(0x7FF0000000000000), ERANGE);
76*71db0c75SAndroid Build Coastguard Worker   run_test("358416272e-33", 13, uint64_t(0x3adbbb2a68c9d0b9));
77*71db0c75SAndroid Build Coastguard Worker   run_test("2.16656806400000023841857910156251e9", 36,
78*71db0c75SAndroid Build Coastguard Worker            uint64_t(0x41e0246690000001));
79*71db0c75SAndroid Build Coastguard Worker   run_test("27949676547093071875", 20, uint64_t(0x43f83e132bc608c9));
80*71db0c75SAndroid Build Coastguard Worker   run_test(
81*71db0c75SAndroid Build Coastguard Worker       "100000000000000000000000000000000000000000000000000000000000000000000000"
82*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
83*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
84*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
85*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
86*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
87*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
88*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
89*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
90*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
91*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
92*71db0c75SAndroid Build Coastguard Worker       "000000000e-800",
93*71db0c75SAndroid Build Coastguard Worker       806, 0x3ff0000000000000);
94*71db0c75SAndroid Build Coastguard Worker   run_test(
95*71db0c75SAndroid Build Coastguard Worker       "100000000000000000000000000000000000000000000000000000000000000000000000"
96*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
97*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
98*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
99*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
100*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
101*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
102*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
103*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
104*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
105*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
106*71db0c75SAndroid Build Coastguard Worker       "000000000e-799",
107*71db0c75SAndroid Build Coastguard Worker       806, 0x4024000000000000);
108*71db0c75SAndroid Build Coastguard Worker   run_test(
109*71db0c75SAndroid Build Coastguard Worker       "100000000000000000000000000000000000000000000000000000000000000000000000"
110*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
111*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
112*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
113*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
114*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
115*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
116*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
117*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
118*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
119*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
120*71db0c75SAndroid Build Coastguard Worker       "0000000000e-800",
121*71db0c75SAndroid Build Coastguard Worker       807, 0x4024000000000000);
122*71db0c75SAndroid Build Coastguard Worker   run_test(
123*71db0c75SAndroid Build Coastguard Worker       "10000000000000000000000000000000000000000000000000000000000000000e-64",
124*71db0c75SAndroid Build Coastguard Worker       69, 0x3ff0000000000000);
125*71db0c75SAndroid Build Coastguard Worker   run_test(
126*71db0c75SAndroid Build Coastguard Worker       "100000000000000000000000000000000000000000000000000000000000000000000000"
127*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000e-128",
128*71db0c75SAndroid Build Coastguard Worker       134, 0x3ff0000000000000);
129*71db0c75SAndroid Build Coastguard Worker   run_test("1000000000000000000000000000000000000000000000000000000000000000000"
130*71db0c75SAndroid Build Coastguard Worker            "0000000000000000000000000000000000000000000000000000000000000000000"
131*71db0c75SAndroid Build Coastguard Worker            "0000000000000000000000000000000000000000000000000000000000000000000"
132*71db0c75SAndroid Build Coastguard Worker            "00000000000000000000000000000000000000000000000000000000e-256",
133*71db0c75SAndroid Build Coastguard Worker            262, 0x3ff0000000000000);
134*71db0c75SAndroid Build Coastguard Worker   run_test("1000000000000000000000000000000000000000000000000000000000000000000"
135*71db0c75SAndroid Build Coastguard Worker            "0000000000000000000000000000000000000000000000000000000000000000000"
136*71db0c75SAndroid Build Coastguard Worker            "0000000000000000000000000000000000000000000000000000000000000000000"
137*71db0c75SAndroid Build Coastguard Worker            "0000000000000000000000000000000000000000000000000000000000000000000"
138*71db0c75SAndroid Build Coastguard Worker            "0000000000000000000000000000000000000000000000000000000000000000000"
139*71db0c75SAndroid Build Coastguard Worker            "0000000000000000000000000000000000000000000000000000000000000000000"
140*71db0c75SAndroid Build Coastguard Worker            "0000000000000000000000000000000000000000000000000000000000000000000"
141*71db0c75SAndroid Build Coastguard Worker            "00000000000000000000000000000000000000000000e-512",
142*71db0c75SAndroid Build Coastguard Worker            518, 0x3ff0000000000000);
143*71db0c75SAndroid Build Coastguard Worker   run_test(
144*71db0c75SAndroid Build Coastguard Worker       "100000000000000000000000000000000000000000000000000000000000000000000000"
145*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
146*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
147*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
148*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
149*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
150*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
151*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
152*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
153*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
154*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
155*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
156*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
157*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
158*71db0c75SAndroid Build Coastguard Worker       "00000000000000000e-1024",
159*71db0c75SAndroid Build Coastguard Worker       1031, 0x3ff0000000000000);
160*71db0c75SAndroid Build Coastguard Worker   run_test(
161*71db0c75SAndroid Build Coastguard Worker       "0"
162*71db0c75SAndroid Build Coastguard Worker       "100000000000000000000000000000000000000000000000000000000000000000000000"
163*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
164*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
165*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
166*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
167*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
168*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
169*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
170*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
171*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
172*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
173*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
174*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
175*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
176*71db0c75SAndroid Build Coastguard Worker       "00000000000000000e-1024",
177*71db0c75SAndroid Build Coastguard Worker       1032, 0x3ff0000000000000);
178*71db0c75SAndroid Build Coastguard Worker }
179*71db0c75SAndroid Build Coastguard Worker 
TEST_F(LlvmLibcStrToDTest,FuzzFailures)180*71db0c75SAndroid Build Coastguard Worker TEST_F(LlvmLibcStrToDTest, FuzzFailures) {
181*71db0c75SAndroid Build Coastguard Worker   run_test("-\xff\xff\xff\xff\xff\xff\xff\x01", 0, uint64_t(0));
182*71db0c75SAndroid Build Coastguard Worker   run_test("-.????", 0, uint64_t(0));
183*71db0c75SAndroid Build Coastguard Worker   run_test(
184*71db0c75SAndroid Build Coastguard Worker       "44444444444444444444444444444444444444444444444444A44444444444444444"
185*71db0c75SAndroid Build Coastguard Worker       "44444444444*\x99\xff\xff\xff\xff",
186*71db0c75SAndroid Build Coastguard Worker       50, uint64_t(0x4a3e68fdd0e0b2d8));
187*71db0c75SAndroid Build Coastguard Worker   run_test("-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKNNNNNNNNNNNNNNNNNN?"
188*71db0c75SAndroid Build Coastguard Worker            "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN?",
189*71db0c75SAndroid Build Coastguard Worker            0, uint64_t(0));
190*71db0c75SAndroid Build Coastguard Worker   run_test("0x.666E40", 9, uint64_t(0x3fd99b9000000000));
191*71db0c75SAndroid Build Coastguard Worker 
192*71db0c75SAndroid Build Coastguard Worker   // glibc version 2.36 and higher (not tested with lower versions) disagrees
193*71db0c75SAndroid Build Coastguard Worker   // with this result, but ours is correct for the nearest rounding mode. See
194*71db0c75SAndroid Build Coastguard Worker   // this bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30220
195*71db0c75SAndroid Build Coastguard Worker   run_test("0x30000002222225p-1077", 22, uint64_t(0x0006000000444445), ERANGE);
196*71db0c75SAndroid Build Coastguard Worker 
197*71db0c75SAndroid Build Coastguard Worker   // This value triggered a bug by having an exponent exactly equal to the
198*71db0c75SAndroid Build Coastguard Worker   // maximum. The overflow checks would accept a value less than the max value
199*71db0c75SAndroid Build Coastguard Worker   // as valid and greater than the max value as invalid (and set it to the max),
200*71db0c75SAndroid Build Coastguard Worker   // but an exponent of exactly max value hit the else condition which is
201*71db0c75SAndroid Build Coastguard Worker   // intended for underflow and set the exponent to the min exponent.
202*71db0c75SAndroid Build Coastguard Worker   run_test(
203*71db0c75SAndroid Build Coastguard Worker       "184774460000000000000000000000000000052300000000000000000000000000000000"
204*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
205*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000009351662015430037656316837118788423"
206*71db0c75SAndroid Build Coastguard Worker       "887774460000000000004300376000000000000000000000000000000000000000000000"
207*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
208*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
209*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000052385811247017194600000000"
210*71db0c75SAndroid Build Coastguard Worker       "000000000171946000000000000000000700460000000000000000000000001000000000"
211*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
212*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
213*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000020000000000000000"
214*71db0c75SAndroid Build Coastguard Worker       "000000000000563168371187884238877744600000000000000000000000000000523858"
215*71db0c75SAndroid Build Coastguard Worker       "112470171946000000000000000001719460000000000000000007004600000000000000"
216*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
217*71db0c75SAndroid Build Coastguard Worker       "000000000000000000020000000000000000000000000000000000000000000000000000"
218*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
219*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
220*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000005238581124701719460000000"
221*71db0c75SAndroid Build Coastguard Worker       "000000000017194600000000000000000070046000000000000000000000000000000000"
222*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
223*71db0c75SAndroid Build Coastguard Worker       "200000000000000000E608",
224*71db0c75SAndroid Build Coastguard Worker       1462, uint64_t(0x7ff0000000000000), ERANGE);
225*71db0c75SAndroid Build Coastguard Worker 
226*71db0c75SAndroid Build Coastguard Worker   // Same as above but for hex.
227*71db0c75SAndroid Build Coastguard Worker   run_test("0x0164810157p2047", 17, uint64_t(0x7ff0000000000000), ERANGE);
228*71db0c75SAndroid Build Coastguard Worker 
229*71db0c75SAndroid Build Coastguard Worker   // This test ensures that only the correct number of characters is accepted.
230*71db0c75SAndroid Build Coastguard Worker   // An exponent symbol followed by a sign isn't a valid exponent.
231*71db0c75SAndroid Build Coastguard Worker   run_test("2e+", 1, uint64_t(0x4000000000000000));
232*71db0c75SAndroid Build Coastguard Worker   run_test("0x2p+", 3, uint64_t(0x4000000000000000));
233*71db0c75SAndroid Build Coastguard Worker 
234*71db0c75SAndroid Build Coastguard Worker   // This bug was in the handling of very large exponents in the exponent
235*71db0c75SAndroid Build Coastguard Worker   // marker. Previously anything greater than 10,000 would be set to 10,000.
236*71db0c75SAndroid Build Coastguard Worker   // This caused incorrect behavior if there were more than 10,000 '0's in the
237*71db0c75SAndroid Build Coastguard Worker   // input number, and then a correspondingly large exponent. This test case has
238*71db0c75SAndroid Build Coastguard Worker   // 24,744 zeroes.
239*71db0c75SAndroid Build Coastguard Worker   run_test(
240*71db0c75SAndroid Build Coastguard Worker       "0x."
241*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
242*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
243*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
244*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
245*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
246*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
247*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
248*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
249*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
250*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
251*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
252*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
253*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
254*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
255*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
256*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
257*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
258*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
259*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
260*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
261*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
262*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
263*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
264*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
265*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
266*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
267*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
268*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
269*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
270*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
271*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
272*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
273*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
274*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
275*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
276*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
277*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
278*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
279*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
280*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
281*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
282*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
283*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
284*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
285*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
286*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
287*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
288*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
289*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
290*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
291*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
292*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
293*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
294*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
295*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
296*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
297*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
298*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
299*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
300*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
301*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
302*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
303*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
304*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
305*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
306*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
307*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
308*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
309*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
310*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
311*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
312*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
313*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
314*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
315*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
316*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
317*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
318*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
319*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
320*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
321*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
322*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
323*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
324*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
325*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
326*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
327*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
328*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
329*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
330*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
331*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
332*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
333*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
334*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
335*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
336*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
337*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
338*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
339*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
340*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
341*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
342*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
343*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
344*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
345*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
346*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
347*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
348*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
349*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
350*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
351*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
352*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
353*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
354*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
355*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
356*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
357*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
358*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
359*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
360*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
361*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
362*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
363*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
364*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
365*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
366*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
367*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
368*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
369*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
370*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
371*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
372*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
373*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
374*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
375*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
376*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
377*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
378*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
379*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
380*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
381*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
382*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
383*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
384*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
385*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
386*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
387*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
388*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
389*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
390*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
391*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
392*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
393*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
394*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
395*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
396*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
397*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
398*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
399*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
400*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
401*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
402*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
403*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
404*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
405*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
406*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
407*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
408*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
409*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
410*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
411*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
412*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
413*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
414*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
415*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
416*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
417*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
418*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
419*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
420*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
421*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
422*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
423*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
424*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
425*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
426*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
427*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
428*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
429*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
430*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
431*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
432*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
433*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
434*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
435*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
436*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
437*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
438*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
439*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
440*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
441*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
442*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
443*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
444*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
445*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
446*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
447*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
448*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
449*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
450*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
451*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
452*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
453*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
454*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
455*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
456*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
457*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
458*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
459*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
460*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
461*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
462*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
463*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
464*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
465*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
466*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
467*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
468*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
469*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
470*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
471*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
472*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
473*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
474*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
475*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
476*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
477*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
478*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
479*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
480*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
481*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
482*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
483*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
484*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
485*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
486*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
487*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
488*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
489*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
490*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
491*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
492*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
493*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
494*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
495*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
496*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
497*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
498*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
499*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
500*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
501*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
502*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
503*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
504*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
505*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
506*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
507*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
508*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
509*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
510*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
511*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
512*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
513*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
514*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
515*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
516*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
517*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
518*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
519*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
520*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
521*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
522*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
523*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
524*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
525*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
526*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
527*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
528*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
529*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
530*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
531*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
532*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
533*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
534*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
535*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
536*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
537*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
538*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
539*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
540*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
541*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
542*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
543*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
544*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
545*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
546*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
547*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
548*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
549*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
550*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
551*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
552*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
553*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
554*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
555*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
556*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
557*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
558*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
559*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
560*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
561*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
562*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
563*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
564*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
565*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
566*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
567*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
568*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
569*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
570*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
571*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
572*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
573*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
574*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
575*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
576*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
577*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
578*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
579*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
580*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
581*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
582*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
583*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000000000000000000000000000"
584*71db0c75SAndroid Build Coastguard Worker       "000000000000000000000000000000000000000000000000fp551615",
585*71db0c75SAndroid Build Coastguard Worker       24755, uint64_t(0x7ff0000000000000), ERANGE);
586*71db0c75SAndroid Build Coastguard Worker }
587