1
2Input: 1.23
3strtopdd consumes 4 bytes and returns 17
4dd[0] = 1.23 = #3ff3ae14 7ae147ae
5dd[1] = 1.7763568394002496e-17 = #3c747ae1 47ae1478
6g_ddfmt(0) gives 4 bytes: "1.23"
7
8strtoIdd returns 17, consuming 4 bytes.
9ddI[0] = #3ff3ae14 7ae147ae + 3c747ae1 47ae1478
10= 1.23 + 1.7763568394002496e-17
11ddI[1] = #3ff3ae14 7ae147ae + 3c747ae1 47ae1480
12= 1.23 + 1.776356839400252e-17
13ddI[0] == strtod
14
15
16Input: 1.23e+20
17strtopdd consumes 8 bytes and returns 1
18dd[0] = 1.23e+20 = #441aabdf 2145b430
19dd[1] = 0 = #0 0
20g_ddfmt(0) gives 8 bytes: "1.23e+20"
21
22strtoIdd returns 1, consuming 8 bytes.
23ddI[0] == ddI[1] == strtopdd
24
25
26Input: 1.23e-20
27strtopdd consumes 8 bytes and returns 33
28dd[0] = 1.2299999999999999e-20 = #3bcd0ae4 cf767530
29dd[1] = 9.304023318521521e-37 = #3873c997 955b2691
30g_ddfmt(0) gives 8 bytes: "1.23e-20"
31
32strtoIdd returns 33, consuming 8 bytes.
33ddI[0] = #3bcd0ae4 cf767530 + 3873c997 955b2690
34= 1.2299999999999999e-20 + 9.3040233185215194e-37
35ddI[1] = #3bcd0ae4 cf767530 + 3873c997 955b2691
36= 1.2299999999999999e-20 + 9.3040233185215211e-37
37ddI[1] == strtod
38
39
40Input: 1.23456789
41strtopdd consumes 10 bytes and returns 17
42dd[0] = 1.23456789 = #3ff3c0ca 4283de1b
43dd[1] = 1.0990618193318369e-16 = #3c9fada5 144c1252
44g_ddfmt(0) gives 10 bytes: "1.23456789"
45
46strtoIdd returns 17, consuming 10 bytes.
47ddI[0] = #3ff3c0ca 4283de1b + 3c9fada5 144c1252
48= 1.2345678899999999 + 1.0990618193318369e-16
49ddI[1] = #3ff3c0ca 4283de1b + 3c9fada5 144c1254
50= 1.2345678899999999 + 1.0990618193318371e-16
51ddI[0] == strtod
52
53
54Input: 1.23456589e+20
55strtopdd consumes 14 bytes and returns 1
56dd[0] = 1.23456589e+20 = #441ac537 a660b997
57dd[1] = 4096 = #40b00000 0
58g_ddfmt(0) gives 14 bytes: "1.23456589e+20"
59
60strtoIdd returns 1, consuming 14 bytes.
61ddI[0] == ddI[1] == strtopdd
62
63
64Input: 1.23e+30
65strtopdd consumes 8 bytes and returns 1
66dd[0] = 1.23e+30 = #462f0cb0 4e8fb790
67dd[1] = 40281156091904 = #42c25158 0
68g_ddfmt(0) gives 8 bytes: "1.23e+30"
69
70strtoIdd returns 1, consuming 8 bytes.
71ddI[0] == ddI[1] == strtopdd
72
73
74Input: 1.23e-30
75strtopdd consumes 8 bytes and returns 17
76dd[0] = 1.2299999999999999e-30 = #39b8f286 6f5010aa
77dd[1] = 1.076909723013918e-46 = #3663ac7f 3dafd174
78g_ddfmt(0) gives 8 bytes: "1.23e-30"
79
80strtoIdd returns 17, consuming 8 bytes.
81ddI[0] = #39b8f286 6f5010aa + 3663ac7f 3dafd174
82= 1.2299999999999999e-30 + 1.076909723013918e-46
83ddI[1] = #39b8f286 6f5010aa + 3663ac7f 3dafd175
84= 1.2299999999999999e-30 + 1.0769097230139181e-46
85ddI[0] == strtod
86
87
88Input: 1.23456789e-20
89strtopdd consumes 14 bytes and returns 17
90dd[0] = 1.23456789e-20 = #3bcd2681 471e7ada
91dd[1] = 6.247111971663133e-37 = #386a9280 a761b07e
92g_ddfmt(0) gives 14 bytes: "1.23456789e-20"
93
94strtoIdd returns 17, consuming 14 bytes.
95ddI[0] = #3bcd2681 471e7ada + 386a9280 a761b07e
96= 1.2345678899999999e-20 + 6.2471119716631328e-37
97ddI[1] = #3bcd2681 471e7ada + 386a9280 a761b080
98= 1.2345678899999999e-20 + 6.2471119716631345e-37
99ddI[0] == strtod
100
101
102Input: 1.23456789e-30
103strtopdd consumes 14 bytes and returns 33
104dd[0] = 1.23456789e-30 = #39b90a3e 33bbd995
105dd[1] = 2.1567930523648577e-47 = #363f8585 55a6b1a0
106g_ddfmt(0) gives 14 bytes: "1.23456789e-30"
107
108strtoIdd returns 33, consuming 14 bytes.
109ddI[0] = #39b90a3e 33bbd995 + 363f8585 55a6b198
110= 1.23456789e-30 + 2.1567930523648558e-47
111ddI[1] = #39b90a3e 33bbd995 + 363f8585 55a6b1a0
112= 1.23456789e-30 + 2.1567930523648577e-47
113ddI[1] == strtod
114
115
116Input: 1.234567890123456789
117strtopdd consumes 20 bytes and returns 33
118dd[0] = 1.2345678901234567 = #3ff3c0ca 428c59fb
119dd[1] = 9.856786452588859e-17 = #3c9c6906 51a3745e
120g_ddfmt(0) gives 20 bytes: "1.234567890123456789"
121
122strtoIdd returns 33, consuming 20 bytes.
123ddI[0] = #3ff3c0ca 428c59fb + 3c9c6906 51a3745c
124= 1.2345678901234567 + 9.8567864525888563e-17
125ddI[1] = #3ff3c0ca 428c59fb + 3c9c6906 51a3745e
126= 1.2345678901234567 + 9.8567864525888588e-17
127ddI[1] == strtod
128
129
130Input: 1.23456789012345678901234567890123456789
131strtopdd consumes 40 bytes and returns 33
132dd[0] = 1.2345678901234567 = #3ff3c0ca 428c59fb
133dd[1] = 9.858021020478982e-17 = #3c9c69ef 85adadb6
134g_ddfmt(0) gives 34 bytes: "1.23456789012345678901234567890124"
135
136strtoIdd returns 33, consuming 40 bytes.
137ddI[0] = #3ff3c0ca 428c59fb + 3c9c69ef 85adadb4
138= 1.2345678901234567 + 9.8580210204789798e-17
139ddI[1] = #3ff3c0ca 428c59fb + 3c9c69ef 85adadb6
140= 1.2345678901234567 + 9.8580210204789823e-17
141ddI[1] == strtod
142
143
144Input: 1.23e306
145strtopdd consumes 8 bytes and returns 33
146dd[0] = 1.2299999999999999e+306 = #7f7c0676 cd1c61f4
147dd[1] = 1.3319001448659015e+290 = #7c2b558b e3d3f477
148g_ddfmt(0) gives 9 bytes: "1.23e+306"
149
150strtoIdd returns 33, consuming 8 bytes.
151ddI[0] = #7f7c0676 cd1c61f4 + 7c2b558b e3d3f476
152= 1.2299999999999999e+306 + 1.3319001448659013e+290
153ddI[1] = #7f7c0676 cd1c61f4 + 7c2b558b e3d3f477
154= 1.2299999999999999e+306 + 1.3319001448659015e+290
155ddI[1] == strtod
156
157
158Input: 1.23e-306
159strtopdd consumes 9 bytes and returns 98
160dd[0] = 1.2299999999999999e-306 = #6ba3b8 5da396e7
161dd[1] = 1.43e-322 = #0 1d
162g_ddfmt(0) gives 9 bytes: "1.23e-306"
163
164strtoIdd returns 98, consuming 9 bytes.
165ddI[0] = #6ba3b8 5da396e7 + 0 1c
166= 1.2299999999999999e-306 + 1.3833838083554903e-322
167ddI[1] = #6ba3b8 5da396e7 + 0 1d
168= 1.2299999999999999e-306 + 1.432790372939615e-322
169ddI[1] == strtod
170
171
172Input: 1.23e-320
173strtopdd consumes 9 bytes and returns 98
174dd[0] = 1.23e-320 = #0 9ba
175dd[1] = 0 = #0 0
176g_ddfmt(0) gives 9 bytes: "1.23e-320"
177
178strtoIdd returns 98, consuming 9 bytes.
179ddI[0] = #0 9b9 + 0 0
180= 1.2297293924988626e-320 + 0
181ddI[1] = #0 9ba + 0 0
182= 1.2302234581447039e-320 + 0
183ddI[1] == strtod
184
185
186Input: 1.23e-20
187strtopdd consumes 8 bytes and returns 33
188dd[0] = 1.2299999999999999e-20 = #3bcd0ae4 cf767530
189dd[1] = 9.304023318521521e-37 = #3873c997 955b2691
190g_ddfmt(0) gives 8 bytes: "1.23e-20"
191
192strtoIdd returns 33, consuming 8 bytes.
193ddI[0] = #3bcd0ae4 cf767530 + 3873c997 955b2690
194= 1.2299999999999999e-20 + 9.3040233185215194e-37
195ddI[1] = #3bcd0ae4 cf767530 + 3873c997 955b2691
196= 1.2299999999999999e-20 + 9.3040233185215211e-37
197ddI[1] == strtod
198
199
200Input: 1.23456789e307
201strtopdd consumes 14 bytes and returns 33
202dd[0] = 1.2345678899999998e+307 = #7fb194b1 4bdaecdb
203dd[1] = 2.0137933598720243e+291 = #7c69d48d 192048ca
204g_ddfmt(0) gives 15 bytes: "1.23456789e+307"
205
206strtoIdd returns 33, consuming 14 bytes.
207ddI[0] = #7fb194b1 4bdaecdb + 7c69d48d 192048c9
208= 1.2345678899999998e+307 + 2.013793359872024e+291
209ddI[1] = #7fb194b1 4bdaecdb + 7c69d48d 192048ca
210= 1.2345678899999998e+307 + 2.0137933598720243e+291
211ddI[1] == strtod
212
213
214Input: 1.23456589e-307
215strtopdd consumes 15 bytes and returns 98
216dd[0] = 1.23456589e-307 = #363196 bb9845fa
217dd[1] = 1e-323 = #0 2
218g_ddfmt(0) gives 15 bytes: "1.23456589e-307"
219
220strtoIdd returns 98, consuming 15 bytes.
221ddI[0] = #363196 bb9845fa + 0 1
222= 1.2345658899999999e-307 + 4.9406564584124654e-324
223ddI[1] = #363196 bb9845fa + 0 2
224= 1.2345658899999999e-307 + 9.8813129168249309e-324
225ddI[1] == strtod
226
227
228Input: 1.234567890123456789
229strtopdd consumes 20 bytes and returns 33
230dd[0] = 1.2345678901234567 = #3ff3c0ca 428c59fb
231dd[1] = 9.856786452588859e-17 = #3c9c6906 51a3745e
232g_ddfmt(0) gives 20 bytes: "1.234567890123456789"
233
234strtoIdd returns 33, consuming 20 bytes.
235ddI[0] = #3ff3c0ca 428c59fb + 3c9c6906 51a3745c
236= 1.2345678901234567 + 9.8567864525888563e-17
237ddI[1] = #3ff3c0ca 428c59fb + 3c9c6906 51a3745e
238= 1.2345678901234567 + 9.8567864525888588e-17
239ddI[1] == strtod
240
241
242Input: 1.234567890123456789e301
243strtopdd consumes 24 bytes and returns 33
244dd[0] = 1.2345678901234568e+301 = #7e726f51 75f56413
245dd[1] = 1.3892003943918827e+283 = #7ab7ea80 76399100
246g_ddfmt(0) gives 25 bytes: "1.234567890123456789e+301"
247
248strtoIdd returns 33, consuming 24 bytes.
249ddI[0] = #7e726f51 75f56413 + 7ab7ea80 76399080
250= 1.2345678901234568e+301 + 1.3892003943918563e+283
251ddI[1] = #7e726f51 75f56413 + 7ab7ea80 76399100
252= 1.2345678901234568e+301 + 1.3892003943918827e+283
253ddI[1] == strtod
254
255
256Input: 1.234567890123456789e-301
257strtopdd consumes 25 bytes and returns 82
258dd[0] = 1.2345678901234567e-301 = #1752a64 e34ba0d3
259dd[1] = 7.374365e-318 = #0 16c66c
260g_ddfmt(0) gives 25 bytes: "1.234567890123456789e-301"
261
262strtoIdd returns 82, consuming 25 bytes.
263ddI[0] = #1752a64 e34ba0d3 + 0 16c66c
264= 1.2345678901234567e-301 + 7.374364541948945e-318
265ddI[1] = #1752a64 e34ba0d3 + 0 16c66d
266= 1.2345678901234567e-301 + 7.3743694826054034e-318
267ddI[0] == strtod
268
269
270Input: 1.234567890123456789e-321
271strtopdd consumes 25 bytes and returns 98
272dd[0] = 1.235e-321 = #0 fa
273dd[1] = 0 = #0 0
274g_ddfmt(0) gives 10 bytes: "1.235e-321"
275
276strtoIdd returns 98, consuming 25 bytes.
277ddI[0] = #0 f9 + 0 0
278= 1.2302234581447039e-321 + 0
279ddI[1] = #0 fa + 0 0
280= 1.2351641146031164e-321 + 0
281ddI[1] == strtod
282
283
284Input: 1e23
285strtopdd consumes 4 bytes and returns 1
286dd[0] = 1e+23 = #44b52d02 c7e14af6
287dd[1] = 8388608 = #41600000 0
288g_ddfmt(0) gives 5 bytes: "1e+23"
289
290strtoIdd returns 1, consuming 4 bytes.
291ddI[0] == ddI[1] == strtopdd
292
293
294Input: 1e310
295strtopdd consumes 5 bytes and returns 163
296dd[0] = Infinity = #7ff00000 0
297dd[1] = Infinity = #7ff00000 0
298g_ddfmt(0) gives 8 bytes: "Infinity"
299
300strtoIdd returns 163, consuming 5 bytes.
301ddI[0] = #7fefffff ffffffff + 7c9fffff ffffffff
302= 1.7976931348623157e+308 + 1.9958403095347196e+292
303ddI[1] = #7ff00000 0 + 7ff00000 0
304= Infinity + Infinity
305ddI[1] == strtod
306
307
308Input: 9.0259718793241475e-277
309strtopdd consumes 23 bytes and returns 33
310dd[0] = 9.025971879324147e-277 = #69fffff ffffffff
311dd[1] = 6.217378695986177e-293 = #343daae f3582320
312g_ddfmt(0) gives 23 bytes: "9.0259718793241475e-277"
313
314strtoIdd returns 33, consuming 23 bytes.
315ddI[0] = #69fffff ffffffff + 343daae f358231f
316= 9.0259718793241469e-277 + 6.2173786959861757e-293
317ddI[1] = #69fffff ffffffff + 343daae f3582320
318= 9.0259718793241469e-277 + 6.2173786959861768e-293
319ddI[1] == strtod
320
321
322Input: 9.025971879324147880346310405869e-277
323strtopdd consumes 37 bytes and returns 17
324dd[0] = 9.025971879324148e-277 = #6a00000 0
325dd[1] = 2.2250738585072014e-308 = #100000 0
326g_ddfmt(0) gives 37 bytes: "9.025971879324147880346310405869e-277"
327
328strtoIdd returns 17, consuming 37 bytes.
329ddI[0] = #6a00000 0 + 100000 0
330= 9.0259718793241479e-277 + 2.2250738585072014e-308
331ddI[1] = #6a00000 0 + 200000 0
332= 9.0259718793241479e-277 + 4.4501477170144028e-308
333ddI[0] == strtod
334
335
336Input: 9.025971879324147880346310405868e-277
337strtopdd consumes 37 bytes and returns 17
338dd[0] = 9.025971879324147e-277 = #69fffff ffffffff
339dd[1] = 1.0020841800044856e-292 = #34fffff fffffff9
340g_ddfmt(0) gives 37 bytes: "9.025971879324147880346310405868e-277"
341
342strtoIdd returns 17, consuming 37 bytes.
343ddI[0] = #69fffff ffffffff + 34fffff fffffff9
344= 9.0259718793241469e-277 + 1.0020841800044856e-292
345ddI[1] = #69fffff ffffffff + 34fffff fffffffa
346= 9.0259718793241469e-277 + 1.0020841800044857e-292
347ddI[0] == strtod
348
349
350Input: 2.2250738585072014e-308
351strtopdd consumes 23 bytes and returns 82
352dd[0] = 2.2250738585072014e-308 = #100000 0
353dd[1] = 0 = #0 0
354g_ddfmt(0) gives 23 bytes: "2.2250738585072014e-308"
355
356strtoIdd returns 82, consuming 23 bytes.
357ddI[0] = #100000 0 + 0 0
358= 2.2250738585072014e-308 + 0
359ddI[1] = #100000 1 + 0 0
360= 2.2250738585072019e-308 + 0
361ddI[0] == strtod
362
363
364Input: 2.2250738585072013e-308
365strtopdd consumes 23 bytes and returns 98
366dd[0] = 2.2250738585072014e-308 = #100000 0
367dd[1] = 0 = #0 0
368g_ddfmt(0) gives 23 bytes: "2.2250738585072014e-308"
369
370strtoIdd returns 98, consuming 23 bytes.
371ddI[0] = #fffff ffffffff + 0 0
372= 2.2250738585072009e-308 + 0
373ddI[1] = #100000 0 + 0 0
374= 2.2250738585072014e-308 + 0
375ddI[1] == strtod
376
377Rounding mode for strtor... changed from 1 (nearest) to 0 (toward zero)
378
379Input: 1.1
380strtopdd consumes 3 bytes and returns 17
381dd[0] = 1.0999999999999999 = #3ff19999 99999999
382dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
383g_ddfmt(0) gives 3 bytes: "1.1"
384
385strtoIdd returns 17, consuming 3 bytes.
386ddI[0] = #3ff19999 99999999 + 3ca33333 33333333
387= 1.0999999999999999 + 1.3322676295501878e-16
388ddI[1] = #3ff19999 99999999 + 3ca33333 33333334
389= 1.0999999999999999 + 1.332267629550188e-16
390ddI[0] == strtod
391
392
393Input: -1.1
394strtopdd consumes 4 bytes and returns 25
395dd[0] = -1.0999999999999999 = #bff19999 99999999
396dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
397g_ddfmt(0) gives 4 bytes: "-1.1"
398
399strtoIdd returns 25, consuming 4 bytes.
400ddI[0] = #bff19999 99999999 + bca33333 33333334
401= -1.0999999999999999 + -1.332267629550188e-16
402ddI[1] = #bff19999 99999999 + bca33333 33333333
403= -1.0999999999999999 + -1.3322676295501878e-16
404ddI[1] == strtod
405
406
407Input: 1.2
408strtopdd consumes 3 bytes and returns 17
409dd[0] = 1.2 = #3ff33333 33333333
410dd[1] = 4.440892098500625e-17 = #3c899999 99999998
411g_ddfmt(0) gives 3 bytes: "1.2"
412
413strtoIdd returns 17, consuming 3 bytes.
414ddI[0] = #3ff33333 33333333 + 3c899999 99999998
415= 1.2 + 4.4408920985006252e-17
416ddI[1] = #3ff33333 33333333 + 3c899999 9999999c
417= 1.2 + 4.4408920985006276e-17
418ddI[0] == strtod
419
420
421Input: -1.2
422strtopdd consumes 4 bytes and returns 25
423dd[0] = -1.2 = #bff33333 33333333
424dd[1] = -4.440892098500625e-17 = #bc899999 99999998
425g_ddfmt(0) gives 4 bytes: "-1.2"
426
427strtoIdd returns 25, consuming 4 bytes.
428ddI[0] = #bff33333 33333333 + bc899999 9999999c
429= -1.2 + -4.4408920985006276e-17
430ddI[1] = #bff33333 33333333 + bc899999 99999998
431= -1.2 + -4.4408920985006252e-17
432ddI[1] == strtod
433
434
435Input: 1.3
436strtopdd consumes 3 bytes and returns 17
437dd[0] = 1.2999999999999998 = #3ff4cccc cccccccc
438dd[1] = 1.7763568394002503e-16 = #3ca99999 99999999
439g_ddfmt(0) gives 34 bytes: "1.29999999999999999999999999999999"
440
441strtoIdd returns 33, consuming 3 bytes.
442ddI[0] = #3ff4cccc cccccccc + 3ca99999 99999999
443= 1.2999999999999998 + 1.7763568394002503e-16
444ddI[1] = #3ff4cccc cccccccc + 3ca99999 9999999a
445= 1.2999999999999998 + 1.7763568394002506e-16
446ddI[0] == strtod
447
448
449Input: -1.3
450strtopdd consumes 4 bytes and returns 25
451dd[0] = -1.2999999999999998 = #bff4cccc cccccccc
452dd[1] = -1.7763568394002503e-16 = #bca99999 99999999
453g_ddfmt(0) gives 35 bytes: "-1.29999999999999999999999999999999"
454
455strtoIdd returns 41, consuming 4 bytes.
456ddI[0] = #bff4cccc cccccccc + bca99999 9999999a
457= -1.2999999999999998 + -1.7763568394002506e-16
458ddI[1] = #bff4cccc cccccccc + bca99999 99999999
459= -1.2999999999999998 + -1.7763568394002503e-16
460ddI[1] == strtod
461
462
463Input: 1.4
464strtopdd consumes 3 bytes and returns 17
465dd[0] = 1.4 = #3ff66666 66666666
466dd[1] = 8.88178419700125e-17 = #3c999999 99999998
467g_ddfmt(0) gives 34 bytes: "1.39999999999999999999999999999998"
468
469strtoIdd returns 33, consuming 3 bytes.
470ddI[0] = #3ff66666 66666666 + 3c999999 99999998
471= 1.3999999999999999 + 8.8817841970012504e-17
472ddI[1] = #3ff66666 66666666 + 3c999999 9999999a
473= 1.3999999999999999 + 8.8817841970012528e-17
474ddI[0] == strtod
475
476
477Input: -1.4
478strtopdd consumes 4 bytes and returns 25
479dd[0] = -1.4 = #bff66666 66666666
480dd[1] = -8.88178419700125e-17 = #bc999999 99999998
481g_ddfmt(0) gives 35 bytes: "-1.39999999999999999999999999999998"
482
483strtoIdd returns 41, consuming 4 bytes.
484ddI[0] = #bff66666 66666666 + bc999999 9999999a
485= -1.3999999999999999 + -8.8817841970012528e-17
486ddI[1] = #bff66666 66666666 + bc999999 99999998
487= -1.3999999999999999 + -8.8817841970012504e-17
488ddI[1] == strtod
489
490
491Input: 1.5
492strtopdd consumes 3 bytes and returns 1
493dd[0] = 1.5 = #3ff80000 0
494dd[1] = 0 = #0 0
495g_ddfmt(0) gives 3 bytes: "1.5"
496
497strtoIdd returns 1, consuming 3 bytes.
498ddI[0] == ddI[1] == strtopdd
499
500
501Input: -1.5
502strtopdd consumes 4 bytes and returns 9
503dd[0] = -1.5 = #bff80000 0
504dd[1] = -0 = #80000000 0
505g_ddfmt(0) gives 3 bytes: "1.5"
506
507strtoIdd returns 9, consuming 4 bytes.
508ddI[0] == ddI[1] == strtopdd
509
510
511Input: 1.6
512strtopdd consumes 3 bytes and returns 17
513dd[0] = 1.5999999999999999 = #3ff99999 99999999
514dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
515g_ddfmt(0) gives 3 bytes: "1.6"
516
517strtoIdd returns 17, consuming 3 bytes.
518ddI[0] = #3ff99999 99999999 + 3ca33333 33333333
519= 1.5999999999999999 + 1.3322676295501878e-16
520ddI[1] = #3ff99999 99999999 + 3ca33333 33333334
521= 1.5999999999999999 + 1.332267629550188e-16
522ddI[0] == strtod
523
524
525Input: -1.6
526strtopdd consumes 4 bytes and returns 25
527dd[0] = -1.5999999999999999 = #bff99999 99999999
528dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
529g_ddfmt(0) gives 4 bytes: "-1.6"
530
531strtoIdd returns 25, consuming 4 bytes.
532ddI[0] = #bff99999 99999999 + bca33333 33333334
533= -1.5999999999999999 + -1.332267629550188e-16
534ddI[1] = #bff99999 99999999 + bca33333 33333333
535= -1.5999999999999999 + -1.3322676295501878e-16
536ddI[1] == strtod
537
538
539Input: 1.7
540strtopdd consumes 3 bytes and returns 17
541dd[0] = 1.7 = #3ffb3333 33333333
542dd[1] = 4.440892098500625e-17 = #3c899999 99999998
543g_ddfmt(0) gives 3 bytes: "1.7"
544
545strtoIdd returns 17, consuming 3 bytes.
546ddI[0] = #3ffb3333 33333333 + 3c899999 99999998
547= 1.7 + 4.4408920985006252e-17
548ddI[1] = #3ffb3333 33333333 + 3c899999 9999999c
549= 1.7 + 4.4408920985006276e-17
550ddI[0] == strtod
551
552
553Input: -1.7
554strtopdd consumes 4 bytes and returns 25
555dd[0] = -1.7 = #bffb3333 33333333
556dd[1] = -4.440892098500625e-17 = #bc899999 99999998
557g_ddfmt(0) gives 4 bytes: "-1.7"
558
559strtoIdd returns 25, consuming 4 bytes.
560ddI[0] = #bffb3333 33333333 + bc899999 9999999c
561= -1.7 + -4.4408920985006276e-17
562ddI[1] = #bffb3333 33333333 + bc899999 99999998
563= -1.7 + -4.4408920985006252e-17
564ddI[1] == strtod
565
566
567Input: 1.8
568strtopdd consumes 3 bytes and returns 17
569dd[0] = 1.7999999999999998 = #3ffccccc cccccccc
570dd[1] = 1.7763568394002503e-16 = #3ca99999 99999999
571g_ddfmt(0) gives 34 bytes: "1.79999999999999999999999999999999"
572
573strtoIdd returns 33, consuming 3 bytes.
574ddI[0] = #3ffccccc cccccccc + 3ca99999 99999999
575= 1.7999999999999998 + 1.7763568394002503e-16
576ddI[1] = #3ffccccc cccccccc + 3ca99999 9999999a
577= 1.7999999999999998 + 1.7763568394002506e-16
578ddI[0] == strtod
579
580
581Input: -1.8
582strtopdd consumes 4 bytes and returns 25
583dd[0] = -1.7999999999999998 = #bffccccc cccccccc
584dd[1] = -1.7763568394002503e-16 = #bca99999 99999999
585g_ddfmt(0) gives 35 bytes: "-1.79999999999999999999999999999999"
586
587strtoIdd returns 41, consuming 4 bytes.
588ddI[0] = #bffccccc cccccccc + bca99999 9999999a
589= -1.7999999999999998 + -1.7763568394002506e-16
590ddI[1] = #bffccccc cccccccc + bca99999 99999999
591= -1.7999999999999998 + -1.7763568394002503e-16
592ddI[1] == strtod
593
594
595Input: 1.9
596strtopdd consumes 3 bytes and returns 17
597dd[0] = 1.9 = #3ffe6666 66666666
598dd[1] = 8.88178419700125e-17 = #3c999999 99999998
599g_ddfmt(0) gives 34 bytes: "1.89999999999999999999999999999998"
600
601strtoIdd returns 33, consuming 3 bytes.
602ddI[0] = #3ffe6666 66666666 + 3c999999 99999998
603= 1.8999999999999999 + 8.8817841970012504e-17
604ddI[1] = #3ffe6666 66666666 + 3c999999 9999999a
605= 1.8999999999999999 + 8.8817841970012528e-17
606ddI[0] == strtod
607
608
609Input: -1.9
610strtopdd consumes 4 bytes and returns 25
611dd[0] = -1.9 = #bffe6666 66666666
612dd[1] = -8.88178419700125e-17 = #bc999999 99999998
613g_ddfmt(0) gives 35 bytes: "-1.89999999999999999999999999999998"
614
615strtoIdd returns 41, consuming 4 bytes.
616ddI[0] = #bffe6666 66666666 + bc999999 9999999a
617= -1.8999999999999999 + -8.8817841970012528e-17
618ddI[1] = #bffe6666 66666666 + bc999999 99999998
619= -1.8999999999999999 + -8.8817841970012504e-17
620ddI[1] == strtod
621
622Rounding mode for strtor... changed from 0 (toward zero) to 1 (nearest)
623
624Input: 1.1
625strtopdd consumes 3 bytes and returns 17
626dd[0] = 1.0999999999999999 = #3ff19999 99999999
627dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
628g_ddfmt(0) gives 3 bytes: "1.1"
629
630strtoIdd returns 17, consuming 3 bytes.
631ddI[0] = #3ff19999 99999999 + 3ca33333 33333333
632= 1.0999999999999999 + 1.3322676295501878e-16
633ddI[1] = #3ff19999 99999999 + 3ca33333 33333334
634= 1.0999999999999999 + 1.332267629550188e-16
635ddI[0] == strtod
636
637
638Input: -1.1
639strtopdd consumes 4 bytes and returns 25
640dd[0] = -1.0999999999999999 = #bff19999 99999999
641dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
642g_ddfmt(0) gives 4 bytes: "-1.1"
643
644strtoIdd returns 25, consuming 4 bytes.
645ddI[0] = #bff19999 99999999 + bca33333 33333334
646= -1.0999999999999999 + -1.332267629550188e-16
647ddI[1] = #bff19999 99999999 + bca33333 33333333
648= -1.0999999999999999 + -1.3322676295501878e-16
649ddI[1] == strtod
650
651
652Input: 1.2
653strtopdd consumes 3 bytes and returns 17
654dd[0] = 1.2 = #3ff33333 33333333
655dd[1] = 4.440892098500625e-17 = #3c899999 99999998
656g_ddfmt(0) gives 3 bytes: "1.2"
657
658strtoIdd returns 17, consuming 3 bytes.
659ddI[0] = #3ff33333 33333333 + 3c899999 99999998
660= 1.2 + 4.4408920985006252e-17
661ddI[1] = #3ff33333 33333333 + 3c899999 9999999c
662= 1.2 + 4.4408920985006276e-17
663ddI[0] == strtod
664
665
666Input: -1.2
667strtopdd consumes 4 bytes and returns 25
668dd[0] = -1.2 = #bff33333 33333333
669dd[1] = -4.440892098500625e-17 = #bc899999 99999998
670g_ddfmt(0) gives 4 bytes: "-1.2"
671
672strtoIdd returns 25, consuming 4 bytes.
673ddI[0] = #bff33333 33333333 + bc899999 9999999c
674= -1.2 + -4.4408920985006276e-17
675ddI[1] = #bff33333 33333333 + bc899999 99999998
676= -1.2 + -4.4408920985006252e-17
677ddI[1] == strtod
678
679
680Input: 1.3
681strtopdd consumes 3 bytes and returns 33
682dd[0] = 1.2999999999999998 = #3ff4cccc cccccccc
683dd[1] = 1.7763568394002506e-16 = #3ca99999 9999999a
684g_ddfmt(0) gives 3 bytes: "1.3"
685
686strtoIdd returns 33, consuming 3 bytes.
687ddI[0] = #3ff4cccc cccccccc + 3ca99999 99999999
688= 1.2999999999999998 + 1.7763568394002503e-16
689ddI[1] = #3ff4cccc cccccccc + 3ca99999 9999999a
690= 1.2999999999999998 + 1.7763568394002506e-16
691ddI[1] == strtod
692
693
694Input: -1.3
695strtopdd consumes 4 bytes and returns 41
696dd[0] = -1.2999999999999998 = #bff4cccc cccccccc
697dd[1] = -1.7763568394002506e-16 = #bca99999 9999999a
698g_ddfmt(0) gives 4 bytes: "-1.3"
699
700strtoIdd returns 41, consuming 4 bytes.
701ddI[0] = #bff4cccc cccccccc + bca99999 9999999a
702= -1.2999999999999998 + -1.7763568394002506e-16
703ddI[1] = #bff4cccc cccccccc + bca99999 99999999
704= -1.2999999999999998 + -1.7763568394002503e-16
705ddI[0] == strtod
706
707
708Input: 1.4
709strtopdd consumes 3 bytes and returns 33
710dd[0] = 1.4 = #3ff66666 66666666
711dd[1] = 8.881784197001253e-17 = #3c999999 9999999a
712g_ddfmt(0) gives 3 bytes: "1.4"
713
714strtoIdd returns 33, consuming 3 bytes.
715ddI[0] = #3ff66666 66666666 + 3c999999 99999998
716= 1.3999999999999999 + 8.8817841970012504e-17
717ddI[1] = #3ff66666 66666666 + 3c999999 9999999a
718= 1.3999999999999999 + 8.8817841970012528e-17
719ddI[1] == strtod
720
721
722Input: -1.4
723strtopdd consumes 4 bytes and returns 41
724dd[0] = -1.4 = #bff66666 66666666
725dd[1] = -8.881784197001253e-17 = #bc999999 9999999a
726g_ddfmt(0) gives 4 bytes: "-1.4"
727
728strtoIdd returns 41, consuming 4 bytes.
729ddI[0] = #bff66666 66666666 + bc999999 9999999a
730= -1.3999999999999999 + -8.8817841970012528e-17
731ddI[1] = #bff66666 66666666 + bc999999 99999998
732= -1.3999999999999999 + -8.8817841970012504e-17
733ddI[0] == strtod
734
735
736Input: 1.5
737strtopdd consumes 3 bytes and returns 1
738dd[0] = 1.5 = #3ff80000 0
739dd[1] = 0 = #0 0
740g_ddfmt(0) gives 3 bytes: "1.5"
741
742strtoIdd returns 1, consuming 3 bytes.
743ddI[0] == ddI[1] == strtopdd
744
745
746Input: -1.5
747strtopdd consumes 4 bytes and returns 9
748dd[0] = -1.5 = #bff80000 0
749dd[1] = -0 = #80000000 0
750g_ddfmt(0) gives 3 bytes: "1.5"
751
752strtoIdd returns 9, consuming 4 bytes.
753ddI[0] == ddI[1] == strtopdd
754
755
756Input: 1.6
757strtopdd consumes 3 bytes and returns 17
758dd[0] = 1.5999999999999999 = #3ff99999 99999999
759dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
760g_ddfmt(0) gives 3 bytes: "1.6"
761
762strtoIdd returns 17, consuming 3 bytes.
763ddI[0] = #3ff99999 99999999 + 3ca33333 33333333
764= 1.5999999999999999 + 1.3322676295501878e-16
765ddI[1] = #3ff99999 99999999 + 3ca33333 33333334
766= 1.5999999999999999 + 1.332267629550188e-16
767ddI[0] == strtod
768
769
770Input: -1.6
771strtopdd consumes 4 bytes and returns 25
772dd[0] = -1.5999999999999999 = #bff99999 99999999
773dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
774g_ddfmt(0) gives 4 bytes: "-1.6"
775
776strtoIdd returns 25, consuming 4 bytes.
777ddI[0] = #bff99999 99999999 + bca33333 33333334
778= -1.5999999999999999 + -1.332267629550188e-16
779ddI[1] = #bff99999 99999999 + bca33333 33333333
780= -1.5999999999999999 + -1.3322676295501878e-16
781ddI[1] == strtod
782
783
784Input: 1.7
785strtopdd consumes 3 bytes and returns 17
786dd[0] = 1.7 = #3ffb3333 33333333
787dd[1] = 4.440892098500625e-17 = #3c899999 99999998
788g_ddfmt(0) gives 3 bytes: "1.7"
789
790strtoIdd returns 17, consuming 3 bytes.
791ddI[0] = #3ffb3333 33333333 + 3c899999 99999998
792= 1.7 + 4.4408920985006252e-17
793ddI[1] = #3ffb3333 33333333 + 3c899999 9999999c
794= 1.7 + 4.4408920985006276e-17
795ddI[0] == strtod
796
797
798Input: -1.7
799strtopdd consumes 4 bytes and returns 25
800dd[0] = -1.7 = #bffb3333 33333333
801dd[1] = -4.440892098500625e-17 = #bc899999 99999998
802g_ddfmt(0) gives 4 bytes: "-1.7"
803
804strtoIdd returns 25, consuming 4 bytes.
805ddI[0] = #bffb3333 33333333 + bc899999 9999999c
806= -1.7 + -4.4408920985006276e-17
807ddI[1] = #bffb3333 33333333 + bc899999 99999998
808= -1.7 + -4.4408920985006252e-17
809ddI[1] == strtod
810
811
812Input: 1.8
813strtopdd consumes 3 bytes and returns 33
814dd[0] = 1.7999999999999998 = #3ffccccc cccccccc
815dd[1] = 1.7763568394002506e-16 = #3ca99999 9999999a
816g_ddfmt(0) gives 3 bytes: "1.8"
817
818strtoIdd returns 33, consuming 3 bytes.
819ddI[0] = #3ffccccc cccccccc + 3ca99999 99999999
820= 1.7999999999999998 + 1.7763568394002503e-16
821ddI[1] = #3ffccccc cccccccc + 3ca99999 9999999a
822= 1.7999999999999998 + 1.7763568394002506e-16
823ddI[1] == strtod
824
825
826Input: -1.8
827strtopdd consumes 4 bytes and returns 41
828dd[0] = -1.7999999999999998 = #bffccccc cccccccc
829dd[1] = -1.7763568394002506e-16 = #bca99999 9999999a
830g_ddfmt(0) gives 4 bytes: "-1.8"
831
832strtoIdd returns 41, consuming 4 bytes.
833ddI[0] = #bffccccc cccccccc + bca99999 9999999a
834= -1.7999999999999998 + -1.7763568394002506e-16
835ddI[1] = #bffccccc cccccccc + bca99999 99999999
836= -1.7999999999999998 + -1.7763568394002503e-16
837ddI[0] == strtod
838
839
840Input: 1.9
841strtopdd consumes 3 bytes and returns 33
842dd[0] = 1.9 = #3ffe6666 66666666
843dd[1] = 8.881784197001253e-17 = #3c999999 9999999a
844g_ddfmt(0) gives 3 bytes: "1.9"
845
846strtoIdd returns 33, consuming 3 bytes.
847ddI[0] = #3ffe6666 66666666 + 3c999999 99999998
848= 1.8999999999999999 + 8.8817841970012504e-17
849ddI[1] = #3ffe6666 66666666 + 3c999999 9999999a
850= 1.8999999999999999 + 8.8817841970012528e-17
851ddI[1] == strtod
852
853
854Input: -1.9
855strtopdd consumes 4 bytes and returns 41
856dd[0] = -1.9 = #bffe6666 66666666
857dd[1] = -8.881784197001253e-17 = #bc999999 9999999a
858g_ddfmt(0) gives 4 bytes: "-1.9"
859
860strtoIdd returns 41, consuming 4 bytes.
861ddI[0] = #bffe6666 66666666 + bc999999 9999999a
862= -1.8999999999999999 + -8.8817841970012528e-17
863ddI[1] = #bffe6666 66666666 + bc999999 99999998
864= -1.8999999999999999 + -8.8817841970012504e-17
865ddI[0] == strtod
866
867Rounding mode for strtor... changed from 1 (nearest) to 2 (toward +Infinity)
868
869Input: 1.1
870strtopdd consumes 3 bytes and returns 33
871dd[0] = 1.0999999999999999 = #3ff19999 99999999
872dd[1] = 1.332267629550188e-16 = #3ca33333 33333334
873g_ddfmt(0) gives 34 bytes: "1.10000000000000000000000000000002"
874
875strtoIdd returns 17, consuming 3 bytes.
876ddI[0] = #3ff19999 99999999 + 3ca33333 33333333
877= 1.0999999999999999 + 1.3322676295501878e-16
878ddI[1] = #3ff19999 99999999 + 3ca33333 33333334
879= 1.0999999999999999 + 1.332267629550188e-16
880ddI[1] == strtod
881
882
883Input: -1.1
884strtopdd consumes 4 bytes and returns 25
885dd[0] = -1.0999999999999999 = #bff19999 99999999
886dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
887g_ddfmt(0) gives 4 bytes: "-1.1"
888
889strtoIdd returns 25, consuming 4 bytes.
890ddI[0] = #bff19999 99999999 + bca33333 33333334
891= -1.0999999999999999 + -1.332267629550188e-16
892ddI[1] = #bff19999 99999999 + bca33333 33333333
893= -1.0999999999999999 + -1.3322676295501878e-16
894ddI[1] == strtod
895
896
897Input: 1.2
898strtopdd consumes 3 bytes and returns 33
899dd[0] = 1.2 = #3ff33333 33333333
900dd[1] = 4.4408920985006276e-17 = #3c899999 9999999c
901g_ddfmt(0) gives 34 bytes: "1.20000000000000000000000000000001"
902
903strtoIdd returns 17, consuming 3 bytes.
904ddI[0] = #3ff33333 33333333 + 3c899999 99999998
905= 1.2 + 4.4408920985006252e-17
906ddI[1] = #3ff33333 33333333 + 3c899999 9999999c
907= 1.2 + 4.4408920985006276e-17
908ddI[1] == strtod
909
910
911Input: -1.2
912strtopdd consumes 4 bytes and returns 25
913dd[0] = -1.2 = #bff33333 33333333
914dd[1] = -4.440892098500625e-17 = #bc899999 99999998
915g_ddfmt(0) gives 4 bytes: "-1.2"
916
917strtoIdd returns 25, consuming 4 bytes.
918ddI[0] = #bff33333 33333333 + bc899999 9999999c
919= -1.2 + -4.4408920985006276e-17
920ddI[1] = #bff33333 33333333 + bc899999 99999998
921= -1.2 + -4.4408920985006252e-17
922ddI[1] == strtod
923
924
925Input: 1.3
926strtopdd consumes 3 bytes and returns 33
927dd[0] = 1.2999999999999998 = #3ff4cccc cccccccc
928dd[1] = 1.7763568394002506e-16 = #3ca99999 9999999a
929g_ddfmt(0) gives 3 bytes: "1.3"
930
931strtoIdd returns 33, consuming 3 bytes.
932ddI[0] = #3ff4cccc cccccccc + 3ca99999 99999999
933= 1.2999999999999998 + 1.7763568394002503e-16
934ddI[1] = #3ff4cccc cccccccc + 3ca99999 9999999a
935= 1.2999999999999998 + 1.7763568394002506e-16
936ddI[1] == strtod
937
938
939Input: -1.3
940strtopdd consumes 4 bytes and returns 25
941dd[0] = -1.2999999999999998 = #bff4cccc cccccccc
942dd[1] = -1.7763568394002503e-16 = #bca99999 99999999
943g_ddfmt(0) gives 35 bytes: "-1.29999999999999999999999999999999"
944
945strtoIdd returns 41, consuming 4 bytes.
946ddI[0] = #bff4cccc cccccccc + bca99999 9999999a
947= -1.2999999999999998 + -1.7763568394002506e-16
948ddI[1] = #bff4cccc cccccccc + bca99999 99999999
949= -1.2999999999999998 + -1.7763568394002503e-16
950ddI[1] == strtod
951
952
953Input: 1.4
954strtopdd consumes 3 bytes and returns 33
955dd[0] = 1.4 = #3ff66666 66666666
956dd[1] = 8.881784197001253e-17 = #3c999999 9999999a
957g_ddfmt(0) gives 3 bytes: "1.4"
958
959strtoIdd returns 33, consuming 3 bytes.
960ddI[0] = #3ff66666 66666666 + 3c999999 99999998
961= 1.3999999999999999 + 8.8817841970012504e-17
962ddI[1] = #3ff66666 66666666 + 3c999999 9999999a
963= 1.3999999999999999 + 8.8817841970012528e-17
964ddI[1] == strtod
965
966
967Input: -1.4
968strtopdd consumes 4 bytes and returns 25
969dd[0] = -1.4 = #bff66666 66666666
970dd[1] = -8.88178419700125e-17 = #bc999999 99999998
971g_ddfmt(0) gives 35 bytes: "-1.39999999999999999999999999999998"
972
973strtoIdd returns 41, consuming 4 bytes.
974ddI[0] = #bff66666 66666666 + bc999999 9999999a
975= -1.3999999999999999 + -8.8817841970012528e-17
976ddI[1] = #bff66666 66666666 + bc999999 99999998
977= -1.3999999999999999 + -8.8817841970012504e-17
978ddI[1] == strtod
979
980
981Input: 1.5
982strtopdd consumes 3 bytes and returns 1
983dd[0] = 1.5 = #3ff80000 0
984dd[1] = 0 = #0 0
985g_ddfmt(0) gives 3 bytes: "1.5"
986
987strtoIdd returns 1, consuming 3 bytes.
988ddI[0] == ddI[1] == strtopdd
989
990
991Input: -1.5
992strtopdd consumes 4 bytes and returns 9
993dd[0] = -1.5 = #bff80000 0
994dd[1] = -0 = #80000000 0
995g_ddfmt(0) gives 3 bytes: "1.5"
996
997strtoIdd returns 9, consuming 4 bytes.
998ddI[0] == ddI[1] == strtopdd
999
1000
1001Input: 1.6
1002strtopdd consumes 3 bytes and returns 33
1003dd[0] = 1.5999999999999999 = #3ff99999 99999999
1004dd[1] = 1.332267629550188e-16 = #3ca33333 33333334
1005g_ddfmt(0) gives 34 bytes: "1.60000000000000000000000000000002"
1006
1007strtoIdd returns 17, consuming 3 bytes.
1008ddI[0] = #3ff99999 99999999 + 3ca33333 33333333
1009= 1.5999999999999999 + 1.3322676295501878e-16
1010ddI[1] = #3ff99999 99999999 + 3ca33333 33333334
1011= 1.5999999999999999 + 1.332267629550188e-16
1012ddI[1] == strtod
1013
1014
1015Input: -1.6
1016strtopdd consumes 4 bytes and returns 25
1017dd[0] = -1.5999999999999999 = #bff99999 99999999
1018dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
1019g_ddfmt(0) gives 4 bytes: "-1.6"
1020
1021strtoIdd returns 25, consuming 4 bytes.
1022ddI[0] = #bff99999 99999999 + bca33333 33333334
1023= -1.5999999999999999 + -1.332267629550188e-16
1024ddI[1] = #bff99999 99999999 + bca33333 33333333
1025= -1.5999999999999999 + -1.3322676295501878e-16
1026ddI[1] == strtod
1027
1028
1029Input: 1.7
1030strtopdd consumes 3 bytes and returns 33
1031dd[0] = 1.7 = #3ffb3333 33333333
1032dd[1] = 4.4408920985006276e-17 = #3c899999 9999999c
1033g_ddfmt(0) gives 34 bytes: "1.70000000000000000000000000000001"
1034
1035strtoIdd returns 17, consuming 3 bytes.
1036ddI[0] = #3ffb3333 33333333 + 3c899999 99999998
1037= 1.7 + 4.4408920985006252e-17
1038ddI[1] = #3ffb3333 33333333 + 3c899999 9999999c
1039= 1.7 + 4.4408920985006276e-17
1040ddI[1] == strtod
1041
1042
1043Input: -1.7
1044strtopdd consumes 4 bytes and returns 25
1045dd[0] = -1.7 = #bffb3333 33333333
1046dd[1] = -4.440892098500625e-17 = #bc899999 99999998
1047g_ddfmt(0) gives 4 bytes: "-1.7"
1048
1049strtoIdd returns 25, consuming 4 bytes.
1050ddI[0] = #bffb3333 33333333 + bc899999 9999999c
1051= -1.7 + -4.4408920985006276e-17
1052ddI[1] = #bffb3333 33333333 + bc899999 99999998
1053= -1.7 + -4.4408920985006252e-17
1054ddI[1] == strtod
1055
1056
1057Input: 1.8
1058strtopdd consumes 3 bytes and returns 33
1059dd[0] = 1.7999999999999998 = #3ffccccc cccccccc
1060dd[1] = 1.7763568394002506e-16 = #3ca99999 9999999a
1061g_ddfmt(0) gives 3 bytes: "1.8"
1062
1063strtoIdd returns 33, consuming 3 bytes.
1064ddI[0] = #3ffccccc cccccccc + 3ca99999 99999999
1065= 1.7999999999999998 + 1.7763568394002503e-16
1066ddI[1] = #3ffccccc cccccccc + 3ca99999 9999999a
1067= 1.7999999999999998 + 1.7763568394002506e-16
1068ddI[1] == strtod
1069
1070
1071Input: -1.8
1072strtopdd consumes 4 bytes and returns 25
1073dd[0] = -1.7999999999999998 = #bffccccc cccccccc
1074dd[1] = -1.7763568394002503e-16 = #bca99999 99999999
1075g_ddfmt(0) gives 35 bytes: "-1.79999999999999999999999999999999"
1076
1077strtoIdd returns 41, consuming 4 bytes.
1078ddI[0] = #bffccccc cccccccc + bca99999 9999999a
1079= -1.7999999999999998 + -1.7763568394002506e-16
1080ddI[1] = #bffccccc cccccccc + bca99999 99999999
1081= -1.7999999999999998 + -1.7763568394002503e-16
1082ddI[1] == strtod
1083
1084
1085Input: 1.9
1086strtopdd consumes 3 bytes and returns 33
1087dd[0] = 1.9 = #3ffe6666 66666666
1088dd[1] = 8.881784197001253e-17 = #3c999999 9999999a
1089g_ddfmt(0) gives 3 bytes: "1.9"
1090
1091strtoIdd returns 33, consuming 3 bytes.
1092ddI[0] = #3ffe6666 66666666 + 3c999999 99999998
1093= 1.8999999999999999 + 8.8817841970012504e-17
1094ddI[1] = #3ffe6666 66666666 + 3c999999 9999999a
1095= 1.8999999999999999 + 8.8817841970012528e-17
1096ddI[1] == strtod
1097
1098
1099Input: -1.9
1100strtopdd consumes 4 bytes and returns 25
1101dd[0] = -1.9 = #bffe6666 66666666
1102dd[1] = -8.88178419700125e-17 = #bc999999 99999998
1103g_ddfmt(0) gives 35 bytes: "-1.89999999999999999999999999999998"
1104
1105strtoIdd returns 41, consuming 4 bytes.
1106ddI[0] = #bffe6666 66666666 + bc999999 9999999a
1107= -1.8999999999999999 + -8.8817841970012528e-17
1108ddI[1] = #bffe6666 66666666 + bc999999 99999998
1109= -1.8999999999999999 + -8.8817841970012504e-17
1110ddI[1] == strtod
1111
1112Rounding mode for strtor... changed from 2 (toward +Infinity) to 3 (toward -Infinity)
1113
1114Input: 1.1
1115strtopdd consumes 3 bytes and returns 17
1116dd[0] = 1.0999999999999999 = #3ff19999 99999999
1117dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
1118g_ddfmt(0) gives 3 bytes: "1.1"
1119
1120strtoIdd returns 17, consuming 3 bytes.
1121ddI[0] = #3ff19999 99999999 + 3ca33333 33333333
1122= 1.0999999999999999 + 1.3322676295501878e-16
1123ddI[1] = #3ff19999 99999999 + 3ca33333 33333334
1124= 1.0999999999999999 + 1.332267629550188e-16
1125ddI[0] == strtod
1126
1127
1128Input: -1.1
1129strtopdd consumes 4 bytes and returns 41
1130dd[0] = -1.0999999999999999 = #bff19999 99999999
1131dd[1] = -1.332267629550188e-16 = #bca33333 33333334
1132g_ddfmt(0) gives 35 bytes: "-1.10000000000000000000000000000002"
1133
1134strtoIdd returns 25, consuming 4 bytes.
1135ddI[0] = #bff19999 99999999 + bca33333 33333334
1136= -1.0999999999999999 + -1.332267629550188e-16
1137ddI[1] = #bff19999 99999999 + bca33333 33333333
1138= -1.0999999999999999 + -1.3322676295501878e-16
1139ddI[0] == strtod
1140
1141
1142Input: 1.2
1143strtopdd consumes 3 bytes and returns 17
1144dd[0] = 1.2 = #3ff33333 33333333
1145dd[1] = 4.440892098500625e-17 = #3c899999 99999998
1146g_ddfmt(0) gives 3 bytes: "1.2"
1147
1148strtoIdd returns 17, consuming 3 bytes.
1149ddI[0] = #3ff33333 33333333 + 3c899999 99999998
1150= 1.2 + 4.4408920985006252e-17
1151ddI[1] = #3ff33333 33333333 + 3c899999 9999999c
1152= 1.2 + 4.4408920985006276e-17
1153ddI[0] == strtod
1154
1155
1156Input: -1.2
1157strtopdd consumes 4 bytes and returns 41
1158dd[0] = -1.2 = #bff33333 33333333
1159dd[1] = -4.4408920985006276e-17 = #bc899999 9999999c
1160g_ddfmt(0) gives 35 bytes: "-1.20000000000000000000000000000001"
1161
1162strtoIdd returns 25, consuming 4 bytes.
1163ddI[0] = #bff33333 33333333 + bc899999 9999999c
1164= -1.2 + -4.4408920985006276e-17
1165ddI[1] = #bff33333 33333333 + bc899999 99999998
1166= -1.2 + -4.4408920985006252e-17
1167ddI[0] == strtod
1168
1169
1170Input: 1.3
1171strtopdd consumes 3 bytes and returns 17
1172dd[0] = 1.2999999999999998 = #3ff4cccc cccccccc
1173dd[1] = 1.7763568394002503e-16 = #3ca99999 99999999
1174g_ddfmt(0) gives 34 bytes: "1.29999999999999999999999999999999"
1175
1176strtoIdd returns 33, consuming 3 bytes.
1177ddI[0] = #3ff4cccc cccccccc + 3ca99999 99999999
1178= 1.2999999999999998 + 1.7763568394002503e-16
1179ddI[1] = #3ff4cccc cccccccc + 3ca99999 9999999a
1180= 1.2999999999999998 + 1.7763568394002506e-16
1181ddI[0] == strtod
1182
1183
1184Input: -1.3
1185strtopdd consumes 4 bytes and returns 41
1186dd[0] = -1.2999999999999998 = #bff4cccc cccccccc
1187dd[1] = -1.7763568394002506e-16 = #bca99999 9999999a
1188g_ddfmt(0) gives 4 bytes: "-1.3"
1189
1190strtoIdd returns 41, consuming 4 bytes.
1191ddI[0] = #bff4cccc cccccccc + bca99999 9999999a
1192= -1.2999999999999998 + -1.7763568394002506e-16
1193ddI[1] = #bff4cccc cccccccc + bca99999 99999999
1194= -1.2999999999999998 + -1.7763568394002503e-16
1195ddI[0] == strtod
1196
1197
1198Input: 1.4
1199strtopdd consumes 3 bytes and returns 17
1200dd[0] = 1.4 = #3ff66666 66666666
1201dd[1] = 8.88178419700125e-17 = #3c999999 99999998
1202g_ddfmt(0) gives 34 bytes: "1.39999999999999999999999999999998"
1203
1204strtoIdd returns 33, consuming 3 bytes.
1205ddI[0] = #3ff66666 66666666 + 3c999999 99999998
1206= 1.3999999999999999 + 8.8817841970012504e-17
1207ddI[1] = #3ff66666 66666666 + 3c999999 9999999a
1208= 1.3999999999999999 + 8.8817841970012528e-17
1209ddI[0] == strtod
1210
1211
1212Input: -1.4
1213strtopdd consumes 4 bytes and returns 41
1214dd[0] = -1.4 = #bff66666 66666666
1215dd[1] = -8.881784197001253e-17 = #bc999999 9999999a
1216g_ddfmt(0) gives 4 bytes: "-1.4"
1217
1218strtoIdd returns 41, consuming 4 bytes.
1219ddI[0] = #bff66666 66666666 + bc999999 9999999a
1220= -1.3999999999999999 + -8.8817841970012528e-17
1221ddI[1] = #bff66666 66666666 + bc999999 99999998
1222= -1.3999999999999999 + -8.8817841970012504e-17
1223ddI[0] == strtod
1224
1225
1226Input: 1.5
1227strtopdd consumes 3 bytes and returns 1
1228dd[0] = 1.5 = #3ff80000 0
1229dd[1] = 0 = #0 0
1230g_ddfmt(0) gives 3 bytes: "1.5"
1231
1232strtoIdd returns 1, consuming 3 bytes.
1233ddI[0] == ddI[1] == strtopdd
1234
1235
1236Input: -1.5
1237strtopdd consumes 4 bytes and returns 9
1238dd[0] = -1.5 = #bff80000 0
1239dd[1] = -0 = #80000000 0
1240g_ddfmt(0) gives 3 bytes: "1.5"
1241
1242strtoIdd returns 9, consuming 4 bytes.
1243ddI[0] == ddI[1] == strtopdd
1244
1245
1246Input: 1.6
1247strtopdd consumes 3 bytes and returns 17
1248dd[0] = 1.5999999999999999 = #3ff99999 99999999
1249dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
1250g_ddfmt(0) gives 3 bytes: "1.6"
1251
1252strtoIdd returns 17, consuming 3 bytes.
1253ddI[0] = #3ff99999 99999999 + 3ca33333 33333333
1254= 1.5999999999999999 + 1.3322676295501878e-16
1255ddI[1] = #3ff99999 99999999 + 3ca33333 33333334
1256= 1.5999999999999999 + 1.332267629550188e-16
1257ddI[0] == strtod
1258
1259
1260Input: -1.6
1261strtopdd consumes 4 bytes and returns 41
1262dd[0] = -1.5999999999999999 = #bff99999 99999999
1263dd[1] = -1.332267629550188e-16 = #bca33333 33333334
1264g_ddfmt(0) gives 35 bytes: "-1.60000000000000000000000000000002"
1265
1266strtoIdd returns 25, consuming 4 bytes.
1267ddI[0] = #bff99999 99999999 + bca33333 33333334
1268= -1.5999999999999999 + -1.332267629550188e-16
1269ddI[1] = #bff99999 99999999 + bca33333 33333333
1270= -1.5999999999999999 + -1.3322676295501878e-16
1271ddI[0] == strtod
1272
1273
1274Input: 1.7
1275strtopdd consumes 3 bytes and returns 17
1276dd[0] = 1.7 = #3ffb3333 33333333
1277dd[1] = 4.440892098500625e-17 = #3c899999 99999998
1278g_ddfmt(0) gives 3 bytes: "1.7"
1279
1280strtoIdd returns 17, consuming 3 bytes.
1281ddI[0] = #3ffb3333 33333333 + 3c899999 99999998
1282= 1.7 + 4.4408920985006252e-17
1283ddI[1] = #3ffb3333 33333333 + 3c899999 9999999c
1284= 1.7 + 4.4408920985006276e-17
1285ddI[0] == strtod
1286
1287
1288Input: -1.7
1289strtopdd consumes 4 bytes and returns 41
1290dd[0] = -1.7 = #bffb3333 33333333
1291dd[1] = -4.4408920985006276e-17 = #bc899999 9999999c
1292g_ddfmt(0) gives 35 bytes: "-1.70000000000000000000000000000001"
1293
1294strtoIdd returns 25, consuming 4 bytes.
1295ddI[0] = #bffb3333 33333333 + bc899999 9999999c
1296= -1.7 + -4.4408920985006276e-17
1297ddI[1] = #bffb3333 33333333 + bc899999 99999998
1298= -1.7 + -4.4408920985006252e-17
1299ddI[0] == strtod
1300
1301
1302Input: 1.8
1303strtopdd consumes 3 bytes and returns 17
1304dd[0] = 1.7999999999999998 = #3ffccccc cccccccc
1305dd[1] = 1.7763568394002503e-16 = #3ca99999 99999999
1306g_ddfmt(0) gives 34 bytes: "1.79999999999999999999999999999999"
1307
1308strtoIdd returns 33, consuming 3 bytes.
1309ddI[0] = #3ffccccc cccccccc + 3ca99999 99999999
1310= 1.7999999999999998 + 1.7763568394002503e-16
1311ddI[1] = #3ffccccc cccccccc + 3ca99999 9999999a
1312= 1.7999999999999998 + 1.7763568394002506e-16
1313ddI[0] == strtod
1314
1315
1316Input: -1.8
1317strtopdd consumes 4 bytes and returns 41
1318dd[0] = -1.7999999999999998 = #bffccccc cccccccc
1319dd[1] = -1.7763568394002506e-16 = #bca99999 9999999a
1320g_ddfmt(0) gives 4 bytes: "-1.8"
1321
1322strtoIdd returns 41, consuming 4 bytes.
1323ddI[0] = #bffccccc cccccccc + bca99999 9999999a
1324= -1.7999999999999998 + -1.7763568394002506e-16
1325ddI[1] = #bffccccc cccccccc + bca99999 99999999
1326= -1.7999999999999998 + -1.7763568394002503e-16
1327ddI[0] == strtod
1328
1329
1330Input: 1.9
1331strtopdd consumes 3 bytes and returns 17
1332dd[0] = 1.9 = #3ffe6666 66666666
1333dd[1] = 8.88178419700125e-17 = #3c999999 99999998
1334g_ddfmt(0) gives 34 bytes: "1.89999999999999999999999999999998"
1335
1336strtoIdd returns 33, consuming 3 bytes.
1337ddI[0] = #3ffe6666 66666666 + 3c999999 99999998
1338= 1.8999999999999999 + 8.8817841970012504e-17
1339ddI[1] = #3ffe6666 66666666 + 3c999999 9999999a
1340= 1.8999999999999999 + 8.8817841970012528e-17
1341ddI[0] == strtod
1342
1343
1344Input: -1.9
1345strtopdd consumes 4 bytes and returns 41
1346dd[0] = -1.9 = #bffe6666 66666666
1347dd[1] = -8.881784197001253e-17 = #bc999999 9999999a
1348g_ddfmt(0) gives 4 bytes: "-1.9"
1349
1350strtoIdd returns 41, consuming 4 bytes.
1351ddI[0] = #bffe6666 66666666 + bc999999 9999999a
1352= -1.8999999999999999 + -8.8817841970012528e-17
1353ddI[1] = #bffe6666 66666666 + bc999999 99999998
1354= -1.8999999999999999 + -8.8817841970012504e-17
1355ddI[0] == strtod
1356
1357