freebsd-nq/contrib/gdtoa/test/dd.out

1357 lines
40 KiB
Plaintext
Raw Normal View History

Input: 1.23
strtopdd consumes 4 bytes and returns 17
dd[0] = 1.23 = #3ff3ae14 7ae147ae
dd[1] = 1.7763568394002496e-17 = #3c747ae1 47ae1478
g_ddfmt(0) gives 4 bytes: "1.23"
strtoIdd returns 17, consuming 4 bytes.
ddI[0] = #3ff3ae14 7ae147ae + 3c747ae1 47ae1478
= 1.23 + 1.7763568394002496e-17
ddI[1] = #3ff3ae14 7ae147ae + 3c747ae1 47ae1480
= 1.23 + 1.776356839400252e-17
ddI[0] == strtod
Input: 1.23e+20
strtopdd consumes 8 bytes and returns 1
dd[0] = 1.23e+20 = #441aabdf 2145b430
dd[1] = 0 = #0 0
g_ddfmt(0) gives 8 bytes: "1.23e+20"
strtoIdd returns 1, consuming 8 bytes.
ddI[0] == ddI[1] == strtopdd
Input: 1.23e-20
strtopdd consumes 8 bytes and returns 33
dd[0] = 1.2299999999999999e-20 = #3bcd0ae4 cf767530
dd[1] = 9.304023318521521e-37 = #3873c997 955b2691
g_ddfmt(0) gives 8 bytes: "1.23e-20"
strtoIdd returns 33, consuming 8 bytes.
ddI[0] = #3bcd0ae4 cf767530 + 3873c997 955b2690
= 1.2299999999999999e-20 + 9.3040233185215194e-37
ddI[1] = #3bcd0ae4 cf767530 + 3873c997 955b2691
= 1.2299999999999999e-20 + 9.3040233185215211e-37
ddI[1] == strtod
Input: 1.23456789
strtopdd consumes 10 bytes and returns 17
dd[0] = 1.23456789 = #3ff3c0ca 4283de1b
dd[1] = 1.0990618193318369e-16 = #3c9fada5 144c1252
g_ddfmt(0) gives 10 bytes: "1.23456789"
strtoIdd returns 17, consuming 10 bytes.
ddI[0] = #3ff3c0ca 4283de1b + 3c9fada5 144c1252
= 1.2345678899999999 + 1.0990618193318369e-16
ddI[1] = #3ff3c0ca 4283de1b + 3c9fada5 144c1254
= 1.2345678899999999 + 1.0990618193318371e-16
ddI[0] == strtod
Input: 1.23456589e+20
strtopdd consumes 14 bytes and returns 1
dd[0] = 1.23456589e+20 = #441ac537 a660b997
dd[1] = 4096 = #40b00000 0
g_ddfmt(0) gives 14 bytes: "1.23456589e+20"
strtoIdd returns 1, consuming 14 bytes.
ddI[0] == ddI[1] == strtopdd
Input: 1.23e+30
strtopdd consumes 8 bytes and returns 1
dd[0] = 1.23e+30 = #462f0cb0 4e8fb790
dd[1] = 40281156091904 = #42c25158 0
g_ddfmt(0) gives 8 bytes: "1.23e+30"
strtoIdd returns 1, consuming 8 bytes.
ddI[0] == ddI[1] == strtopdd
Input: 1.23e-30
strtopdd consumes 8 bytes and returns 17
dd[0] = 1.2299999999999999e-30 = #39b8f286 6f5010aa
dd[1] = 1.076909723013918e-46 = #3663ac7f 3dafd174
g_ddfmt(0) gives 8 bytes: "1.23e-30"
strtoIdd returns 17, consuming 8 bytes.
ddI[0] = #39b8f286 6f5010aa + 3663ac7f 3dafd174
= 1.2299999999999999e-30 + 1.076909723013918e-46
ddI[1] = #39b8f286 6f5010aa + 3663ac7f 3dafd175
= 1.2299999999999999e-30 + 1.0769097230139181e-46
ddI[0] == strtod
Input: 1.23456789e-20
strtopdd consumes 14 bytes and returns 17
dd[0] = 1.23456789e-20 = #3bcd2681 471e7ada
dd[1] = 6.247111971663133e-37 = #386a9280 a761b07e
g_ddfmt(0) gives 14 bytes: "1.23456789e-20"
strtoIdd returns 17, consuming 14 bytes.
ddI[0] = #3bcd2681 471e7ada + 386a9280 a761b07e
= 1.2345678899999999e-20 + 6.2471119716631328e-37
ddI[1] = #3bcd2681 471e7ada + 386a9280 a761b080
= 1.2345678899999999e-20 + 6.2471119716631345e-37
ddI[0] == strtod
Input: 1.23456789e-30
strtopdd consumes 14 bytes and returns 33
dd[0] = 1.23456789e-30 = #39b90a3e 33bbd995
dd[1] = 2.1567930523648577e-47 = #363f8585 55a6b1a0
g_ddfmt(0) gives 14 bytes: "1.23456789e-30"
strtoIdd returns 33, consuming 14 bytes.
ddI[0] = #39b90a3e 33bbd995 + 363f8585 55a6b198
= 1.23456789e-30 + 2.1567930523648558e-47
ddI[1] = #39b90a3e 33bbd995 + 363f8585 55a6b1a0
= 1.23456789e-30 + 2.1567930523648577e-47
ddI[1] == strtod
Input: 1.234567890123456789
strtopdd consumes 20 bytes and returns 33
dd[0] = 1.2345678901234567 = #3ff3c0ca 428c59fb
dd[1] = 9.856786452588859e-17 = #3c9c6906 51a3745e
g_ddfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIdd returns 33, consuming 20 bytes.
ddI[0] = #3ff3c0ca 428c59fb + 3c9c6906 51a3745c
= 1.2345678901234567 + 9.8567864525888563e-17
ddI[1] = #3ff3c0ca 428c59fb + 3c9c6906 51a3745e
= 1.2345678901234567 + 9.8567864525888588e-17
ddI[1] == strtod
Input: 1.23456789012345678901234567890123456789
strtopdd consumes 40 bytes and returns 33
dd[0] = 1.2345678901234567 = #3ff3c0ca 428c59fb
dd[1] = 9.858021020478982e-17 = #3c9c69ef 85adadb6
g_ddfmt(0) gives 34 bytes: "1.23456789012345678901234567890124"
strtoIdd returns 33, consuming 40 bytes.
ddI[0] = #3ff3c0ca 428c59fb + 3c9c69ef 85adadb4
= 1.2345678901234567 + 9.8580210204789798e-17
ddI[1] = #3ff3c0ca 428c59fb + 3c9c69ef 85adadb6
= 1.2345678901234567 + 9.8580210204789823e-17
ddI[1] == strtod
Input: 1.23e306
strtopdd consumes 8 bytes and returns 33
dd[0] = 1.2299999999999999e+306 = #7f7c0676 cd1c61f4
dd[1] = 1.3319001448659015e+290 = #7c2b558b e3d3f477
g_ddfmt(0) gives 9 bytes: "1.23e+306"
strtoIdd returns 33, consuming 8 bytes.
ddI[0] = #7f7c0676 cd1c61f4 + 7c2b558b e3d3f476
= 1.2299999999999999e+306 + 1.3319001448659013e+290
ddI[1] = #7f7c0676 cd1c61f4 + 7c2b558b e3d3f477
= 1.2299999999999999e+306 + 1.3319001448659015e+290
ddI[1] == strtod
Input: 1.23e-306
strtopdd consumes 9 bytes and returns 98
dd[0] = 1.2299999999999999e-306 = #6ba3b8 5da396e7
dd[1] = 1.43e-322 = #0 1d
g_ddfmt(0) gives 9 bytes: "1.23e-306"
strtoIdd returns 98, consuming 9 bytes.
ddI[0] = #6ba3b8 5da396e7 + 0 1c
= 1.2299999999999999e-306 + 1.3833838083554903e-322
ddI[1] = #6ba3b8 5da396e7 + 0 1d
= 1.2299999999999999e-306 + 1.432790372939615e-322
ddI[1] == strtod
Input: 1.23e-320
strtopdd consumes 9 bytes and returns 98
dd[0] = 1.23e-320 = #0 9ba
dd[1] = 0 = #0 0
g_ddfmt(0) gives 9 bytes: "1.23e-320"
strtoIdd returns 98, consuming 9 bytes.
ddI[0] = #0 9b9 + 0 0
= 1.2297293924988626e-320 + 0
ddI[1] = #0 9ba + 0 0
= 1.2302234581447039e-320 + 0
ddI[1] == strtod
Input: 1.23e-20
strtopdd consumes 8 bytes and returns 33
dd[0] = 1.2299999999999999e-20 = #3bcd0ae4 cf767530
dd[1] = 9.304023318521521e-37 = #3873c997 955b2691
g_ddfmt(0) gives 8 bytes: "1.23e-20"
strtoIdd returns 33, consuming 8 bytes.
ddI[0] = #3bcd0ae4 cf767530 + 3873c997 955b2690
= 1.2299999999999999e-20 + 9.3040233185215194e-37
ddI[1] = #3bcd0ae4 cf767530 + 3873c997 955b2691
= 1.2299999999999999e-20 + 9.3040233185215211e-37
ddI[1] == strtod
Input: 1.23456789e307
strtopdd consumes 14 bytes and returns 33
dd[0] = 1.2345678899999998e+307 = #7fb194b1 4bdaecdb
dd[1] = 2.0137933598720243e+291 = #7c69d48d 192048ca
g_ddfmt(0) gives 15 bytes: "1.23456789e+307"
strtoIdd returns 33, consuming 14 bytes.
ddI[0] = #7fb194b1 4bdaecdb + 7c69d48d 192048c9
= 1.2345678899999998e+307 + 2.013793359872024e+291
ddI[1] = #7fb194b1 4bdaecdb + 7c69d48d 192048ca
= 1.2345678899999998e+307 + 2.0137933598720243e+291
ddI[1] == strtod
Input: 1.23456589e-307
strtopdd consumes 15 bytes and returns 98
dd[0] = 1.23456589e-307 = #363196 bb9845fa
dd[1] = 1e-323 = #0 2
g_ddfmt(0) gives 15 bytes: "1.23456589e-307"
strtoIdd returns 98, consuming 15 bytes.
ddI[0] = #363196 bb9845fa + 0 1
= 1.2345658899999999e-307 + 4.9406564584124654e-324
ddI[1] = #363196 bb9845fa + 0 2
= 1.2345658899999999e-307 + 9.8813129168249309e-324
ddI[1] == strtod
Input: 1.234567890123456789
strtopdd consumes 20 bytes and returns 33
dd[0] = 1.2345678901234567 = #3ff3c0ca 428c59fb
dd[1] = 9.856786452588859e-17 = #3c9c6906 51a3745e
g_ddfmt(0) gives 20 bytes: "1.234567890123456789"
strtoIdd returns 33, consuming 20 bytes.
ddI[0] = #3ff3c0ca 428c59fb + 3c9c6906 51a3745c
= 1.2345678901234567 + 9.8567864525888563e-17
ddI[1] = #3ff3c0ca 428c59fb + 3c9c6906 51a3745e
= 1.2345678901234567 + 9.8567864525888588e-17
ddI[1] == strtod
Input: 1.234567890123456789e301
strtopdd consumes 24 bytes and returns 33
dd[0] = 1.2345678901234568e+301 = #7e726f51 75f56413
dd[1] = 1.3892003943918827e+283 = #7ab7ea80 76399100
g_ddfmt(0) gives 25 bytes: "1.234567890123456789e+301"
strtoIdd returns 33, consuming 24 bytes.
ddI[0] = #7e726f51 75f56413 + 7ab7ea80 76399080
= 1.2345678901234568e+301 + 1.3892003943918563e+283
ddI[1] = #7e726f51 75f56413 + 7ab7ea80 76399100
= 1.2345678901234568e+301 + 1.3892003943918827e+283
ddI[1] == strtod
Input: 1.234567890123456789e-301
strtopdd consumes 25 bytes and returns 82
dd[0] = 1.2345678901234567e-301 = #1752a64 e34ba0d3
dd[1] = 7.374365e-318 = #0 16c66c
g_ddfmt(0) gives 25 bytes: "1.234567890123456789e-301"
strtoIdd returns 82, consuming 25 bytes.
ddI[0] = #1752a64 e34ba0d3 + 0 16c66c
= 1.2345678901234567e-301 + 7.374364541948945e-318
ddI[1] = #1752a64 e34ba0d3 + 0 16c66d
= 1.2345678901234567e-301 + 7.3743694826054034e-318
ddI[0] == strtod
Input: 1.234567890123456789e-321
strtopdd consumes 25 bytes and returns 98
dd[0] = 1.235e-321 = #0 fa
dd[1] = 0 = #0 0
g_ddfmt(0) gives 10 bytes: "1.235e-321"
strtoIdd returns 98, consuming 25 bytes.
ddI[0] = #0 f9 + 0 0
= 1.2302234581447039e-321 + 0
ddI[1] = #0 fa + 0 0
= 1.2351641146031164e-321 + 0
ddI[1] == strtod
Input: 1e23
strtopdd consumes 4 bytes and returns 1
dd[0] = 1e+23 = #44b52d02 c7e14af6
dd[1] = 8388608 = #41600000 0
g_ddfmt(0) gives 5 bytes: "1e+23"
strtoIdd returns 1, consuming 4 bytes.
ddI[0] == ddI[1] == strtopdd
Input: 1e310
strtopdd consumes 5 bytes and returns 163
dd[0] = Infinity = #7ff00000 0
dd[1] = Infinity = #7ff00000 0
g_ddfmt(0) gives 8 bytes: "Infinity"
strtoIdd returns 163, consuming 5 bytes.
ddI[0] = #7fefffff ffffffff + 7c9fffff ffffffff
= 1.7976931348623157e+308 + 1.9958403095347196e+292
ddI[1] = #7ff00000 0 + 7ff00000 0
= Infinity + Infinity
ddI[1] == strtod
Input: 9.0259718793241475e-277
strtopdd consumes 23 bytes and returns 33
dd[0] = 9.025971879324147e-277 = #69fffff ffffffff
dd[1] = 6.217378695986177e-293 = #343daae f3582320
g_ddfmt(0) gives 23 bytes: "9.0259718793241475e-277"
strtoIdd returns 33, consuming 23 bytes.
ddI[0] = #69fffff ffffffff + 343daae f358231f
= 9.0259718793241469e-277 + 6.2173786959861757e-293
ddI[1] = #69fffff ffffffff + 343daae f3582320
= 9.0259718793241469e-277 + 6.2173786959861768e-293
ddI[1] == strtod
Input: 9.025971879324147880346310405869e-277
strtopdd consumes 37 bytes and returns 17
dd[0] = 9.025971879324148e-277 = #6a00000 0
dd[1] = 2.2250738585072014e-308 = #100000 0
g_ddfmt(0) gives 37 bytes: "9.025971879324147880346310405869e-277"
strtoIdd returns 17, consuming 37 bytes.
ddI[0] = #6a00000 0 + 100000 0
= 9.0259718793241479e-277 + 2.2250738585072014e-308
ddI[1] = #6a00000 0 + 200000 0
= 9.0259718793241479e-277 + 4.4501477170144028e-308
ddI[0] == strtod
Input: 9.025971879324147880346310405868e-277
strtopdd consumes 37 bytes and returns 17
dd[0] = 9.025971879324147e-277 = #69fffff ffffffff
dd[1] = 1.0020841800044856e-292 = #34fffff fffffff9
g_ddfmt(0) gives 37 bytes: "9.025971879324147880346310405868e-277"
strtoIdd returns 17, consuming 37 bytes.
ddI[0] = #69fffff ffffffff + 34fffff fffffff9
= 9.0259718793241469e-277 + 1.0020841800044856e-292
ddI[1] = #69fffff ffffffff + 34fffff fffffffa
= 9.0259718793241469e-277 + 1.0020841800044857e-292
ddI[0] == strtod
Input: 2.2250738585072014e-308
strtopdd consumes 23 bytes and returns 82
dd[0] = 2.2250738585072014e-308 = #100000 0
dd[1] = 0 = #0 0
g_ddfmt(0) gives 23 bytes: "2.2250738585072014e-308"
strtoIdd returns 82, consuming 23 bytes.
ddI[0] = #100000 0 + 0 0
= 2.2250738585072014e-308 + 0
ddI[1] = #100000 1 + 0 0
= 2.2250738585072019e-308 + 0
ddI[0] == strtod
Input: 2.2250738585072013e-308
strtopdd consumes 23 bytes and returns 98
dd[0] = 2.2250738585072014e-308 = #100000 0
dd[1] = 0 = #0 0
g_ddfmt(0) gives 23 bytes: "2.2250738585072014e-308"
strtoIdd returns 98, consuming 23 bytes.
ddI[0] = #fffff ffffffff + 0 0
= 2.2250738585072009e-308 + 0
ddI[1] = #100000 0 + 0 0
= 2.2250738585072014e-308 + 0
ddI[1] == strtod
Rounding mode for strtor... changed from 1 (nearest) to 0 (toward zero)
Input: 1.1
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.0999999999999999 = #3ff19999 99999999
dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
g_ddfmt(0) gives 3 bytes: "1.1"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff19999 99999999 + 3ca33333 33333333
= 1.0999999999999999 + 1.3322676295501878e-16
ddI[1] = #3ff19999 99999999 + 3ca33333 33333334
= 1.0999999999999999 + 1.332267629550188e-16
ddI[0] == strtod
Input: -1.1
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.0999999999999999 = #bff19999 99999999
dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
g_ddfmt(0) gives 4 bytes: "-1.1"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff19999 99999999 + bca33333 33333334
= -1.0999999999999999 + -1.332267629550188e-16
ddI[1] = #bff19999 99999999 + bca33333 33333333
= -1.0999999999999999 + -1.3322676295501878e-16
ddI[1] == strtod
Input: 1.2
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.2 = #3ff33333 33333333
dd[1] = 4.440892098500625e-17 = #3c899999 99999998
g_ddfmt(0) gives 3 bytes: "1.2"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff33333 33333333 + 3c899999 99999998
= 1.2 + 4.4408920985006252e-17
ddI[1] = #3ff33333 33333333 + 3c899999 9999999c
= 1.2 + 4.4408920985006276e-17
ddI[0] == strtod
Input: -1.2
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.2 = #bff33333 33333333
dd[1] = -4.440892098500625e-17 = #bc899999 99999998
g_ddfmt(0) gives 4 bytes: "-1.2"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff33333 33333333 + bc899999 9999999c
= -1.2 + -4.4408920985006276e-17
ddI[1] = #bff33333 33333333 + bc899999 99999998
= -1.2 + -4.4408920985006252e-17
ddI[1] == strtod
Input: 1.3
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.2999999999999998 = #3ff4cccc cccccccc
dd[1] = 1.7763568394002503e-16 = #3ca99999 99999999
g_ddfmt(0) gives 34 bytes: "1.29999999999999999999999999999999"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ff4cccc cccccccc + 3ca99999 99999999
= 1.2999999999999998 + 1.7763568394002503e-16
ddI[1] = #3ff4cccc cccccccc + 3ca99999 9999999a
= 1.2999999999999998 + 1.7763568394002506e-16
ddI[0] == strtod
Input: -1.3
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.2999999999999998 = #bff4cccc cccccccc
dd[1] = -1.7763568394002503e-16 = #bca99999 99999999
g_ddfmt(0) gives 35 bytes: "-1.29999999999999999999999999999999"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bff4cccc cccccccc + bca99999 9999999a
= -1.2999999999999998 + -1.7763568394002506e-16
ddI[1] = #bff4cccc cccccccc + bca99999 99999999
= -1.2999999999999998 + -1.7763568394002503e-16
ddI[1] == strtod
Input: 1.4
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.4 = #3ff66666 66666666
dd[1] = 8.88178419700125e-17 = #3c999999 99999998
g_ddfmt(0) gives 34 bytes: "1.39999999999999999999999999999998"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ff66666 66666666 + 3c999999 99999998
= 1.3999999999999999 + 8.8817841970012504e-17
ddI[1] = #3ff66666 66666666 + 3c999999 9999999a
= 1.3999999999999999 + 8.8817841970012528e-17
ddI[0] == strtod
Input: -1.4
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.4 = #bff66666 66666666
dd[1] = -8.88178419700125e-17 = #bc999999 99999998
g_ddfmt(0) gives 35 bytes: "-1.39999999999999999999999999999998"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bff66666 66666666 + bc999999 9999999a
= -1.3999999999999999 + -8.8817841970012528e-17
ddI[1] = #bff66666 66666666 + bc999999 99999998
= -1.3999999999999999 + -8.8817841970012504e-17
ddI[1] == strtod
Input: 1.5
strtopdd consumes 3 bytes and returns 1
dd[0] = 1.5 = #3ff80000 0
dd[1] = 0 = #0 0
g_ddfmt(0) gives 3 bytes: "1.5"
strtoIdd returns 1, consuming 3 bytes.
ddI[0] == ddI[1] == strtopdd
Input: -1.5
strtopdd consumes 4 bytes and returns 9
dd[0] = -1.5 = #bff80000 0
dd[1] = -0 = #80000000 0
g_ddfmt(0) gives 3 bytes: "1.5"
strtoIdd returns 9, consuming 4 bytes.
ddI[0] == ddI[1] == strtopdd
Input: 1.6
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.5999999999999999 = #3ff99999 99999999
dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
g_ddfmt(0) gives 3 bytes: "1.6"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff99999 99999999 + 3ca33333 33333333
= 1.5999999999999999 + 1.3322676295501878e-16
ddI[1] = #3ff99999 99999999 + 3ca33333 33333334
= 1.5999999999999999 + 1.332267629550188e-16
ddI[0] == strtod
Input: -1.6
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.5999999999999999 = #bff99999 99999999
dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
g_ddfmt(0) gives 4 bytes: "-1.6"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff99999 99999999 + bca33333 33333334
= -1.5999999999999999 + -1.332267629550188e-16
ddI[1] = #bff99999 99999999 + bca33333 33333333
= -1.5999999999999999 + -1.3322676295501878e-16
ddI[1] == strtod
Input: 1.7
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.7 = #3ffb3333 33333333
dd[1] = 4.440892098500625e-17 = #3c899999 99999998
g_ddfmt(0) gives 3 bytes: "1.7"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ffb3333 33333333 + 3c899999 99999998
= 1.7 + 4.4408920985006252e-17
ddI[1] = #3ffb3333 33333333 + 3c899999 9999999c
= 1.7 + 4.4408920985006276e-17
ddI[0] == strtod
Input: -1.7
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.7 = #bffb3333 33333333
dd[1] = -4.440892098500625e-17 = #bc899999 99999998
g_ddfmt(0) gives 4 bytes: "-1.7"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bffb3333 33333333 + bc899999 9999999c
= -1.7 + -4.4408920985006276e-17
ddI[1] = #bffb3333 33333333 + bc899999 99999998
= -1.7 + -4.4408920985006252e-17
ddI[1] == strtod
Input: 1.8
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.7999999999999998 = #3ffccccc cccccccc
dd[1] = 1.7763568394002503e-16 = #3ca99999 99999999
g_ddfmt(0) gives 34 bytes: "1.79999999999999999999999999999999"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ffccccc cccccccc + 3ca99999 99999999
= 1.7999999999999998 + 1.7763568394002503e-16
ddI[1] = #3ffccccc cccccccc + 3ca99999 9999999a
= 1.7999999999999998 + 1.7763568394002506e-16
ddI[0] == strtod
Input: -1.8
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.7999999999999998 = #bffccccc cccccccc
dd[1] = -1.7763568394002503e-16 = #bca99999 99999999
g_ddfmt(0) gives 35 bytes: "-1.79999999999999999999999999999999"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bffccccc cccccccc + bca99999 9999999a
= -1.7999999999999998 + -1.7763568394002506e-16
ddI[1] = #bffccccc cccccccc + bca99999 99999999
= -1.7999999999999998 + -1.7763568394002503e-16
ddI[1] == strtod
Input: 1.9
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.9 = #3ffe6666 66666666
dd[1] = 8.88178419700125e-17 = #3c999999 99999998
g_ddfmt(0) gives 34 bytes: "1.89999999999999999999999999999998"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ffe6666 66666666 + 3c999999 99999998
= 1.8999999999999999 + 8.8817841970012504e-17
ddI[1] = #3ffe6666 66666666 + 3c999999 9999999a
= 1.8999999999999999 + 8.8817841970012528e-17
ddI[0] == strtod
Input: -1.9
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.9 = #bffe6666 66666666
dd[1] = -8.88178419700125e-17 = #bc999999 99999998
g_ddfmt(0) gives 35 bytes: "-1.89999999999999999999999999999998"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bffe6666 66666666 + bc999999 9999999a
= -1.8999999999999999 + -8.8817841970012528e-17
ddI[1] = #bffe6666 66666666 + bc999999 99999998
= -1.8999999999999999 + -8.8817841970012504e-17
ddI[1] == strtod
Rounding mode for strtor... changed from 0 (toward zero) to 1 (nearest)
Input: 1.1
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.0999999999999999 = #3ff19999 99999999
dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
g_ddfmt(0) gives 3 bytes: "1.1"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff19999 99999999 + 3ca33333 33333333
= 1.0999999999999999 + 1.3322676295501878e-16
ddI[1] = #3ff19999 99999999 + 3ca33333 33333334
= 1.0999999999999999 + 1.332267629550188e-16
ddI[0] == strtod
Input: -1.1
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.0999999999999999 = #bff19999 99999999
dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
g_ddfmt(0) gives 4 bytes: "-1.1"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff19999 99999999 + bca33333 33333334
= -1.0999999999999999 + -1.332267629550188e-16
ddI[1] = #bff19999 99999999 + bca33333 33333333
= -1.0999999999999999 + -1.3322676295501878e-16
ddI[1] == strtod
Input: 1.2
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.2 = #3ff33333 33333333
dd[1] = 4.440892098500625e-17 = #3c899999 99999998
g_ddfmt(0) gives 3 bytes: "1.2"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff33333 33333333 + 3c899999 99999998
= 1.2 + 4.4408920985006252e-17
ddI[1] = #3ff33333 33333333 + 3c899999 9999999c
= 1.2 + 4.4408920985006276e-17
ddI[0] == strtod
Input: -1.2
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.2 = #bff33333 33333333
dd[1] = -4.440892098500625e-17 = #bc899999 99999998
g_ddfmt(0) gives 4 bytes: "-1.2"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff33333 33333333 + bc899999 9999999c
= -1.2 + -4.4408920985006276e-17
ddI[1] = #bff33333 33333333 + bc899999 99999998
= -1.2 + -4.4408920985006252e-17
ddI[1] == strtod
Input: 1.3
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.2999999999999998 = #3ff4cccc cccccccc
dd[1] = 1.7763568394002506e-16 = #3ca99999 9999999a
g_ddfmt(0) gives 3 bytes: "1.3"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ff4cccc cccccccc + 3ca99999 99999999
= 1.2999999999999998 + 1.7763568394002503e-16
ddI[1] = #3ff4cccc cccccccc + 3ca99999 9999999a
= 1.2999999999999998 + 1.7763568394002506e-16
ddI[1] == strtod
Input: -1.3
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.2999999999999998 = #bff4cccc cccccccc
dd[1] = -1.7763568394002506e-16 = #bca99999 9999999a
g_ddfmt(0) gives 4 bytes: "-1.3"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bff4cccc cccccccc + bca99999 9999999a
= -1.2999999999999998 + -1.7763568394002506e-16
ddI[1] = #bff4cccc cccccccc + bca99999 99999999
= -1.2999999999999998 + -1.7763568394002503e-16
ddI[0] == strtod
Input: 1.4
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.4 = #3ff66666 66666666
dd[1] = 8.881784197001253e-17 = #3c999999 9999999a
g_ddfmt(0) gives 3 bytes: "1.4"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ff66666 66666666 + 3c999999 99999998
= 1.3999999999999999 + 8.8817841970012504e-17
ddI[1] = #3ff66666 66666666 + 3c999999 9999999a
= 1.3999999999999999 + 8.8817841970012528e-17
ddI[1] == strtod
Input: -1.4
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.4 = #bff66666 66666666
dd[1] = -8.881784197001253e-17 = #bc999999 9999999a
g_ddfmt(0) gives 4 bytes: "-1.4"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bff66666 66666666 + bc999999 9999999a
= -1.3999999999999999 + -8.8817841970012528e-17
ddI[1] = #bff66666 66666666 + bc999999 99999998
= -1.3999999999999999 + -8.8817841970012504e-17
ddI[0] == strtod
Input: 1.5
strtopdd consumes 3 bytes and returns 1
dd[0] = 1.5 = #3ff80000 0
dd[1] = 0 = #0 0
g_ddfmt(0) gives 3 bytes: "1.5"
strtoIdd returns 1, consuming 3 bytes.
ddI[0] == ddI[1] == strtopdd
Input: -1.5
strtopdd consumes 4 bytes and returns 9
dd[0] = -1.5 = #bff80000 0
dd[1] = -0 = #80000000 0
g_ddfmt(0) gives 3 bytes: "1.5"
strtoIdd returns 9, consuming 4 bytes.
ddI[0] == ddI[1] == strtopdd
Input: 1.6
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.5999999999999999 = #3ff99999 99999999
dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
g_ddfmt(0) gives 3 bytes: "1.6"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff99999 99999999 + 3ca33333 33333333
= 1.5999999999999999 + 1.3322676295501878e-16
ddI[1] = #3ff99999 99999999 + 3ca33333 33333334
= 1.5999999999999999 + 1.332267629550188e-16
ddI[0] == strtod
Input: -1.6
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.5999999999999999 = #bff99999 99999999
dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
g_ddfmt(0) gives 4 bytes: "-1.6"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff99999 99999999 + bca33333 33333334
= -1.5999999999999999 + -1.332267629550188e-16
ddI[1] = #bff99999 99999999 + bca33333 33333333
= -1.5999999999999999 + -1.3322676295501878e-16
ddI[1] == strtod
Input: 1.7
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.7 = #3ffb3333 33333333
dd[1] = 4.440892098500625e-17 = #3c899999 99999998
g_ddfmt(0) gives 3 bytes: "1.7"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ffb3333 33333333 + 3c899999 99999998
= 1.7 + 4.4408920985006252e-17
ddI[1] = #3ffb3333 33333333 + 3c899999 9999999c
= 1.7 + 4.4408920985006276e-17
ddI[0] == strtod
Input: -1.7
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.7 = #bffb3333 33333333
dd[1] = -4.440892098500625e-17 = #bc899999 99999998
g_ddfmt(0) gives 4 bytes: "-1.7"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bffb3333 33333333 + bc899999 9999999c
= -1.7 + -4.4408920985006276e-17
ddI[1] = #bffb3333 33333333 + bc899999 99999998
= -1.7 + -4.4408920985006252e-17
ddI[1] == strtod
Input: 1.8
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.7999999999999998 = #3ffccccc cccccccc
dd[1] = 1.7763568394002506e-16 = #3ca99999 9999999a
g_ddfmt(0) gives 3 bytes: "1.8"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ffccccc cccccccc + 3ca99999 99999999
= 1.7999999999999998 + 1.7763568394002503e-16
ddI[1] = #3ffccccc cccccccc + 3ca99999 9999999a
= 1.7999999999999998 + 1.7763568394002506e-16
ddI[1] == strtod
Input: -1.8
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.7999999999999998 = #bffccccc cccccccc
dd[1] = -1.7763568394002506e-16 = #bca99999 9999999a
g_ddfmt(0) gives 4 bytes: "-1.8"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bffccccc cccccccc + bca99999 9999999a
= -1.7999999999999998 + -1.7763568394002506e-16
ddI[1] = #bffccccc cccccccc + bca99999 99999999
= -1.7999999999999998 + -1.7763568394002503e-16
ddI[0] == strtod
Input: 1.9
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.9 = #3ffe6666 66666666
dd[1] = 8.881784197001253e-17 = #3c999999 9999999a
g_ddfmt(0) gives 3 bytes: "1.9"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ffe6666 66666666 + 3c999999 99999998
= 1.8999999999999999 + 8.8817841970012504e-17
ddI[1] = #3ffe6666 66666666 + 3c999999 9999999a
= 1.8999999999999999 + 8.8817841970012528e-17
ddI[1] == strtod
Input: -1.9
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.9 = #bffe6666 66666666
dd[1] = -8.881784197001253e-17 = #bc999999 9999999a
g_ddfmt(0) gives 4 bytes: "-1.9"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bffe6666 66666666 + bc999999 9999999a
= -1.8999999999999999 + -8.8817841970012528e-17
ddI[1] = #bffe6666 66666666 + bc999999 99999998
= -1.8999999999999999 + -8.8817841970012504e-17
ddI[0] == strtod
Rounding mode for strtor... changed from 1 (nearest) to 2 (toward +Infinity)
Input: 1.1
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.0999999999999999 = #3ff19999 99999999
dd[1] = 1.332267629550188e-16 = #3ca33333 33333334
g_ddfmt(0) gives 34 bytes: "1.10000000000000000000000000000002"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff19999 99999999 + 3ca33333 33333333
= 1.0999999999999999 + 1.3322676295501878e-16
ddI[1] = #3ff19999 99999999 + 3ca33333 33333334
= 1.0999999999999999 + 1.332267629550188e-16
ddI[1] == strtod
Input: -1.1
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.0999999999999999 = #bff19999 99999999
dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
g_ddfmt(0) gives 4 bytes: "-1.1"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff19999 99999999 + bca33333 33333334
= -1.0999999999999999 + -1.332267629550188e-16
ddI[1] = #bff19999 99999999 + bca33333 33333333
= -1.0999999999999999 + -1.3322676295501878e-16
ddI[1] == strtod
Input: 1.2
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.2 = #3ff33333 33333333
dd[1] = 4.4408920985006276e-17 = #3c899999 9999999c
g_ddfmt(0) gives 34 bytes: "1.20000000000000000000000000000001"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff33333 33333333 + 3c899999 99999998
= 1.2 + 4.4408920985006252e-17
ddI[1] = #3ff33333 33333333 + 3c899999 9999999c
= 1.2 + 4.4408920985006276e-17
ddI[1] == strtod
Input: -1.2
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.2 = #bff33333 33333333
dd[1] = -4.440892098500625e-17 = #bc899999 99999998
g_ddfmt(0) gives 4 bytes: "-1.2"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff33333 33333333 + bc899999 9999999c
= -1.2 + -4.4408920985006276e-17
ddI[1] = #bff33333 33333333 + bc899999 99999998
= -1.2 + -4.4408920985006252e-17
ddI[1] == strtod
Input: 1.3
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.2999999999999998 = #3ff4cccc cccccccc
dd[1] = 1.7763568394002506e-16 = #3ca99999 9999999a
g_ddfmt(0) gives 3 bytes: "1.3"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ff4cccc cccccccc + 3ca99999 99999999
= 1.2999999999999998 + 1.7763568394002503e-16
ddI[1] = #3ff4cccc cccccccc + 3ca99999 9999999a
= 1.2999999999999998 + 1.7763568394002506e-16
ddI[1] == strtod
Input: -1.3
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.2999999999999998 = #bff4cccc cccccccc
dd[1] = -1.7763568394002503e-16 = #bca99999 99999999
g_ddfmt(0) gives 35 bytes: "-1.29999999999999999999999999999999"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bff4cccc cccccccc + bca99999 9999999a
= -1.2999999999999998 + -1.7763568394002506e-16
ddI[1] = #bff4cccc cccccccc + bca99999 99999999
= -1.2999999999999998 + -1.7763568394002503e-16
ddI[1] == strtod
Input: 1.4
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.4 = #3ff66666 66666666
dd[1] = 8.881784197001253e-17 = #3c999999 9999999a
g_ddfmt(0) gives 3 bytes: "1.4"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ff66666 66666666 + 3c999999 99999998
= 1.3999999999999999 + 8.8817841970012504e-17
ddI[1] = #3ff66666 66666666 + 3c999999 9999999a
= 1.3999999999999999 + 8.8817841970012528e-17
ddI[1] == strtod
Input: -1.4
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.4 = #bff66666 66666666
dd[1] = -8.88178419700125e-17 = #bc999999 99999998
g_ddfmt(0) gives 35 bytes: "-1.39999999999999999999999999999998"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bff66666 66666666 + bc999999 9999999a
= -1.3999999999999999 + -8.8817841970012528e-17
ddI[1] = #bff66666 66666666 + bc999999 99999998
= -1.3999999999999999 + -8.8817841970012504e-17
ddI[1] == strtod
Input: 1.5
strtopdd consumes 3 bytes and returns 1
dd[0] = 1.5 = #3ff80000 0
dd[1] = 0 = #0 0
g_ddfmt(0) gives 3 bytes: "1.5"
strtoIdd returns 1, consuming 3 bytes.
ddI[0] == ddI[1] == strtopdd
Input: -1.5
strtopdd consumes 4 bytes and returns 9
dd[0] = -1.5 = #bff80000 0
dd[1] = -0 = #80000000 0
g_ddfmt(0) gives 3 bytes: "1.5"
strtoIdd returns 9, consuming 4 bytes.
ddI[0] == ddI[1] == strtopdd
Input: 1.6
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.5999999999999999 = #3ff99999 99999999
dd[1] = 1.332267629550188e-16 = #3ca33333 33333334
g_ddfmt(0) gives 34 bytes: "1.60000000000000000000000000000002"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff99999 99999999 + 3ca33333 33333333
= 1.5999999999999999 + 1.3322676295501878e-16
ddI[1] = #3ff99999 99999999 + 3ca33333 33333334
= 1.5999999999999999 + 1.332267629550188e-16
ddI[1] == strtod
Input: -1.6
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.5999999999999999 = #bff99999 99999999
dd[1] = -1.3322676295501878e-16 = #bca33333 33333333
g_ddfmt(0) gives 4 bytes: "-1.6"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff99999 99999999 + bca33333 33333334
= -1.5999999999999999 + -1.332267629550188e-16
ddI[1] = #bff99999 99999999 + bca33333 33333333
= -1.5999999999999999 + -1.3322676295501878e-16
ddI[1] == strtod
Input: 1.7
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.7 = #3ffb3333 33333333
dd[1] = 4.4408920985006276e-17 = #3c899999 9999999c
g_ddfmt(0) gives 34 bytes: "1.70000000000000000000000000000001"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ffb3333 33333333 + 3c899999 99999998
= 1.7 + 4.4408920985006252e-17
ddI[1] = #3ffb3333 33333333 + 3c899999 9999999c
= 1.7 + 4.4408920985006276e-17
ddI[1] == strtod
Input: -1.7
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.7 = #bffb3333 33333333
dd[1] = -4.440892098500625e-17 = #bc899999 99999998
g_ddfmt(0) gives 4 bytes: "-1.7"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bffb3333 33333333 + bc899999 9999999c
= -1.7 + -4.4408920985006276e-17
ddI[1] = #bffb3333 33333333 + bc899999 99999998
= -1.7 + -4.4408920985006252e-17
ddI[1] == strtod
Input: 1.8
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.7999999999999998 = #3ffccccc cccccccc
dd[1] = 1.7763568394002506e-16 = #3ca99999 9999999a
g_ddfmt(0) gives 3 bytes: "1.8"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ffccccc cccccccc + 3ca99999 99999999
= 1.7999999999999998 + 1.7763568394002503e-16
ddI[1] = #3ffccccc cccccccc + 3ca99999 9999999a
= 1.7999999999999998 + 1.7763568394002506e-16
ddI[1] == strtod
Input: -1.8
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.7999999999999998 = #bffccccc cccccccc
dd[1] = -1.7763568394002503e-16 = #bca99999 99999999
g_ddfmt(0) gives 35 bytes: "-1.79999999999999999999999999999999"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bffccccc cccccccc + bca99999 9999999a
= -1.7999999999999998 + -1.7763568394002506e-16
ddI[1] = #bffccccc cccccccc + bca99999 99999999
= -1.7999999999999998 + -1.7763568394002503e-16
ddI[1] == strtod
Input: 1.9
strtopdd consumes 3 bytes and returns 33
dd[0] = 1.9 = #3ffe6666 66666666
dd[1] = 8.881784197001253e-17 = #3c999999 9999999a
g_ddfmt(0) gives 3 bytes: "1.9"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ffe6666 66666666 + 3c999999 99999998
= 1.8999999999999999 + 8.8817841970012504e-17
ddI[1] = #3ffe6666 66666666 + 3c999999 9999999a
= 1.8999999999999999 + 8.8817841970012528e-17
ddI[1] == strtod
Input: -1.9
strtopdd consumes 4 bytes and returns 25
dd[0] = -1.9 = #bffe6666 66666666
dd[1] = -8.88178419700125e-17 = #bc999999 99999998
g_ddfmt(0) gives 35 bytes: "-1.89999999999999999999999999999998"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bffe6666 66666666 + bc999999 9999999a
= -1.8999999999999999 + -8.8817841970012528e-17
ddI[1] = #bffe6666 66666666 + bc999999 99999998
= -1.8999999999999999 + -8.8817841970012504e-17
ddI[1] == strtod
Rounding mode for strtor... changed from 2 (toward +Infinity) to 3 (toward -Infinity)
Input: 1.1
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.0999999999999999 = #3ff19999 99999999
dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
g_ddfmt(0) gives 3 bytes: "1.1"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff19999 99999999 + 3ca33333 33333333
= 1.0999999999999999 + 1.3322676295501878e-16
ddI[1] = #3ff19999 99999999 + 3ca33333 33333334
= 1.0999999999999999 + 1.332267629550188e-16
ddI[0] == strtod
Input: -1.1
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.0999999999999999 = #bff19999 99999999
dd[1] = -1.332267629550188e-16 = #bca33333 33333334
g_ddfmt(0) gives 35 bytes: "-1.10000000000000000000000000000002"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff19999 99999999 + bca33333 33333334
= -1.0999999999999999 + -1.332267629550188e-16
ddI[1] = #bff19999 99999999 + bca33333 33333333
= -1.0999999999999999 + -1.3322676295501878e-16
ddI[0] == strtod
Input: 1.2
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.2 = #3ff33333 33333333
dd[1] = 4.440892098500625e-17 = #3c899999 99999998
g_ddfmt(0) gives 3 bytes: "1.2"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff33333 33333333 + 3c899999 99999998
= 1.2 + 4.4408920985006252e-17
ddI[1] = #3ff33333 33333333 + 3c899999 9999999c
= 1.2 + 4.4408920985006276e-17
ddI[0] == strtod
Input: -1.2
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.2 = #bff33333 33333333
dd[1] = -4.4408920985006276e-17 = #bc899999 9999999c
g_ddfmt(0) gives 35 bytes: "-1.20000000000000000000000000000001"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff33333 33333333 + bc899999 9999999c
= -1.2 + -4.4408920985006276e-17
ddI[1] = #bff33333 33333333 + bc899999 99999998
= -1.2 + -4.4408920985006252e-17
ddI[0] == strtod
Input: 1.3
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.2999999999999998 = #3ff4cccc cccccccc
dd[1] = 1.7763568394002503e-16 = #3ca99999 99999999
g_ddfmt(0) gives 34 bytes: "1.29999999999999999999999999999999"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ff4cccc cccccccc + 3ca99999 99999999
= 1.2999999999999998 + 1.7763568394002503e-16
ddI[1] = #3ff4cccc cccccccc + 3ca99999 9999999a
= 1.2999999999999998 + 1.7763568394002506e-16
ddI[0] == strtod
Input: -1.3
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.2999999999999998 = #bff4cccc cccccccc
dd[1] = -1.7763568394002506e-16 = #bca99999 9999999a
g_ddfmt(0) gives 4 bytes: "-1.3"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bff4cccc cccccccc + bca99999 9999999a
= -1.2999999999999998 + -1.7763568394002506e-16
ddI[1] = #bff4cccc cccccccc + bca99999 99999999
= -1.2999999999999998 + -1.7763568394002503e-16
ddI[0] == strtod
Input: 1.4
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.4 = #3ff66666 66666666
dd[1] = 8.88178419700125e-17 = #3c999999 99999998
g_ddfmt(0) gives 34 bytes: "1.39999999999999999999999999999998"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ff66666 66666666 + 3c999999 99999998
= 1.3999999999999999 + 8.8817841970012504e-17
ddI[1] = #3ff66666 66666666 + 3c999999 9999999a
= 1.3999999999999999 + 8.8817841970012528e-17
ddI[0] == strtod
Input: -1.4
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.4 = #bff66666 66666666
dd[1] = -8.881784197001253e-17 = #bc999999 9999999a
g_ddfmt(0) gives 4 bytes: "-1.4"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bff66666 66666666 + bc999999 9999999a
= -1.3999999999999999 + -8.8817841970012528e-17
ddI[1] = #bff66666 66666666 + bc999999 99999998
= -1.3999999999999999 + -8.8817841970012504e-17
ddI[0] == strtod
Input: 1.5
strtopdd consumes 3 bytes and returns 1
dd[0] = 1.5 = #3ff80000 0
dd[1] = 0 = #0 0
g_ddfmt(0) gives 3 bytes: "1.5"
strtoIdd returns 1, consuming 3 bytes.
ddI[0] == ddI[1] == strtopdd
Input: -1.5
strtopdd consumes 4 bytes and returns 9
dd[0] = -1.5 = #bff80000 0
dd[1] = -0 = #80000000 0
g_ddfmt(0) gives 3 bytes: "1.5"
strtoIdd returns 9, consuming 4 bytes.
ddI[0] == ddI[1] == strtopdd
Input: 1.6
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.5999999999999999 = #3ff99999 99999999
dd[1] = 1.3322676295501878e-16 = #3ca33333 33333333
g_ddfmt(0) gives 3 bytes: "1.6"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ff99999 99999999 + 3ca33333 33333333
= 1.5999999999999999 + 1.3322676295501878e-16
ddI[1] = #3ff99999 99999999 + 3ca33333 33333334
= 1.5999999999999999 + 1.332267629550188e-16
ddI[0] == strtod
Input: -1.6
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.5999999999999999 = #bff99999 99999999
dd[1] = -1.332267629550188e-16 = #bca33333 33333334
g_ddfmt(0) gives 35 bytes: "-1.60000000000000000000000000000002"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bff99999 99999999 + bca33333 33333334
= -1.5999999999999999 + -1.332267629550188e-16
ddI[1] = #bff99999 99999999 + bca33333 33333333
= -1.5999999999999999 + -1.3322676295501878e-16
ddI[0] == strtod
Input: 1.7
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.7 = #3ffb3333 33333333
dd[1] = 4.440892098500625e-17 = #3c899999 99999998
g_ddfmt(0) gives 3 bytes: "1.7"
strtoIdd returns 17, consuming 3 bytes.
ddI[0] = #3ffb3333 33333333 + 3c899999 99999998
= 1.7 + 4.4408920985006252e-17
ddI[1] = #3ffb3333 33333333 + 3c899999 9999999c
= 1.7 + 4.4408920985006276e-17
ddI[0] == strtod
Input: -1.7
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.7 = #bffb3333 33333333
dd[1] = -4.4408920985006276e-17 = #bc899999 9999999c
g_ddfmt(0) gives 35 bytes: "-1.70000000000000000000000000000001"
strtoIdd returns 25, consuming 4 bytes.
ddI[0] = #bffb3333 33333333 + bc899999 9999999c
= -1.7 + -4.4408920985006276e-17
ddI[1] = #bffb3333 33333333 + bc899999 99999998
= -1.7 + -4.4408920985006252e-17
ddI[0] == strtod
Input: 1.8
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.7999999999999998 = #3ffccccc cccccccc
dd[1] = 1.7763568394002503e-16 = #3ca99999 99999999
g_ddfmt(0) gives 34 bytes: "1.79999999999999999999999999999999"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ffccccc cccccccc + 3ca99999 99999999
= 1.7999999999999998 + 1.7763568394002503e-16
ddI[1] = #3ffccccc cccccccc + 3ca99999 9999999a
= 1.7999999999999998 + 1.7763568394002506e-16
ddI[0] == strtod
Input: -1.8
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.7999999999999998 = #bffccccc cccccccc
dd[1] = -1.7763568394002506e-16 = #bca99999 9999999a
g_ddfmt(0) gives 4 bytes: "-1.8"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bffccccc cccccccc + bca99999 9999999a
= -1.7999999999999998 + -1.7763568394002506e-16
ddI[1] = #bffccccc cccccccc + bca99999 99999999
= -1.7999999999999998 + -1.7763568394002503e-16
ddI[0] == strtod
Input: 1.9
strtopdd consumes 3 bytes and returns 17
dd[0] = 1.9 = #3ffe6666 66666666
dd[1] = 8.88178419700125e-17 = #3c999999 99999998
g_ddfmt(0) gives 34 bytes: "1.89999999999999999999999999999998"
strtoIdd returns 33, consuming 3 bytes.
ddI[0] = #3ffe6666 66666666 + 3c999999 99999998
= 1.8999999999999999 + 8.8817841970012504e-17
ddI[1] = #3ffe6666 66666666 + 3c999999 9999999a
= 1.8999999999999999 + 8.8817841970012528e-17
ddI[0] == strtod
Input: -1.9
strtopdd consumes 4 bytes and returns 41
dd[0] = -1.9 = #bffe6666 66666666
dd[1] = -8.881784197001253e-17 = #bc999999 9999999a
g_ddfmt(0) gives 4 bytes: "-1.9"
strtoIdd returns 41, consuming 4 bytes.
ddI[0] = #bffe6666 66666666 + bc999999 9999999a
= -1.8999999999999999 + -8.8817841970012528e-17
ddI[1] = #bffe6666 66666666 + bc999999 99999998
= -1.8999999999999999 + -8.8817841970012504e-17
ddI[0] == strtod