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