1 Input: 1.23 2 Output: d = 3 1.23 = 0x3ff3ae14 7ae147ae, se = 4 g_fmt gives "1.23" 5 dtoa(mode = 0, ndigits = 17): 6 dtoa returns sign = 0, decpt = 1, 3 digits: 7 123 8 nextafter(d,+Infinity) = 1.2300000000000002 = 0x3ff3ae14 7ae147af: 9 g_fmt gives "1.2300000000000002" 10 dtoa returns sign = 0, decpt = 1, 17 digits: 11 12300000000000002 12 nextafter(d,-Infinity) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad: 13 g_fmt gives "1.2299999999999998" 14 dtoa returns sign = 0, decpt = 1, 17 digits: 15 12299999999999998 16 Input: 1.23e+20 17 Output: d = 18 1.23e+20 = 0x441aabdf 2145b430, se = 19 g_fmt gives "1.23e+20" 20 dtoa(mode = 0, ndigits = 17): 21 dtoa returns sign = 0, decpt = 21, 3 digits: 22 123 23 nextafter(d,+Infinity) = 1.2300000000000002e+20 = 0x441aabdf 2145b431: 24 g_fmt gives "123000000000000020000" 25 dtoa returns sign = 0, decpt = 21, 17 digits: 26 12300000000000002 27 nextafter(d,-Infinity) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f: 28 g_fmt gives "122999999999999980000" 29 dtoa returns sign = 0, decpt = 21, 17 digits: 30 12299999999999998 31 Input: 1.23e-20 32 Output: d = 33 1.2300000000000001e-20 = 0x3bcd0ae4 cf767531, se = 34 g_fmt gives "1.23e-20" 35 dtoa(mode = 0, ndigits = 17): 36 dtoa returns sign = 0, decpt = -19, 3 digits: 37 123 38 nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532: 39 g_fmt gives "1.2300000000000002e-20" 40 dtoa returns sign = 0, decpt = -19, 17 digits: 41 12300000000000002 42 nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530: 43 g_fmt gives "1.2299999999999999e-20" 44 dtoa returns sign = 0, decpt = -19, 17 digits: 45 12299999999999999 46 Input: 1.23456789 47 Output: d = 48 1.2345678899999999 = 0x3ff3c0ca 4283de1b, se = 49 g_fmt gives "1.23456789" 50 dtoa(mode = 0, ndigits = 17): 51 dtoa returns sign = 0, decpt = 1, 9 digits: 52 123456789 53 nextafter(d,+Infinity) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c: 54 g_fmt gives "1.2345678900000001" 55 dtoa returns sign = 0, decpt = 1, 17 digits: 56 12345678900000001 57 nextafter(d,-Infinity) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a: 58 g_fmt gives "1.2345678899999997" 59 dtoa returns sign = 0, decpt = 1, 17 digits: 60 12345678899999997 61 Input: 1.23456589e+20 62 Output: d = 63 1.23456589e+20 = 0x441ac537 a660b997, se = 64 g_fmt gives "1.23456589e+20" 65 dtoa(mode = 0, ndigits = 17): 66 dtoa returns sign = 0, decpt = 21, 9 digits: 67 123456589 68 nextafter(d,+Infinity) = 1.2345658900000001e+20 = 0x441ac537 a660b998: 69 g_fmt gives "123456589000000010000" 70 dtoa returns sign = 0, decpt = 21, 17 digits: 71 12345658900000001 72 nextafter(d,-Infinity) = 1.2345658899999998e+20 = 0x441ac537 a660b996: 73 g_fmt gives "123456588999999980000" 74 dtoa returns sign = 0, decpt = 21, 17 digits: 75 12345658899999998 76 Input: 1.23e+30 77 Output: d = 78 1.23e+30 = 0x462f0cb0 4e8fb790, se = 79 g_fmt gives "1.23e+30" 80 dtoa(mode = 0, ndigits = 17): 81 dtoa returns sign = 0, decpt = 31, 3 digits: 82 123 83 nextafter(d,+Infinity) = 1.2300000000000001e+30 = 0x462f0cb0 4e8fb791: 84 g_fmt gives "1.2300000000000001e+30" 85 dtoa returns sign = 0, decpt = 31, 17 digits: 86 12300000000000001 87 nextafter(d,-Infinity) = 1.2299999999999998e+30 = 0x462f0cb0 4e8fb78f: 88 g_fmt gives "1.2299999999999998e+30" 89 dtoa returns sign = 0, decpt = 31, 17 digits: 90 12299999999999998 91 Input: 1.23e-30 92 Output: d = 93 1.2300000000000001e-30 = 0x39b8f286 6f5010ab, se = 94 g_fmt gives "1.23e-30" 95 dtoa(mode = 0, ndigits = 17): 96 dtoa returns sign = 0, decpt = -29, 3 digits: 97 123 98 nextafter(d,+Infinity) = 1.2300000000000002e-30 = 0x39b8f286 6f5010ac: 99 g_fmt gives "1.2300000000000002e-30" 100 dtoa returns sign = 0, decpt = -29, 17 digits: 101 12300000000000002 102 nextafter(d,-Infinity) = 1.2299999999999999e-30 = 0x39b8f286 6f5010aa: 103 g_fmt gives "1.2299999999999999e-30" 104 dtoa returns sign = 0, decpt = -29, 17 digits: 105 12299999999999999 106 Input: 1.23456789e-20 107 Output: d = 108 1.2345678899999999e-20 = 0x3bcd2681 471e7ada, se = 109 g_fmt gives "1.23456789e-20" 110 dtoa(mode = 0, ndigits = 17): 111 dtoa returns sign = 0, decpt = -19, 9 digits: 112 123456789 113 nextafter(d,+Infinity) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb: 114 g_fmt gives "1.2345678900000001e-20" 115 dtoa returns sign = 0, decpt = -19, 17 digits: 116 12345678900000001 117 nextafter(d,-Infinity) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9: 118 g_fmt gives "1.2345678899999998e-20" 119 dtoa returns sign = 0, decpt = -19, 17 digits: 120 12345678899999998 121 Input: 1.23456789e-30 122 Output: d = 123 1.23456789e-30 = 0x39b90a3e 33bbd995, se = 124 g_fmt gives "1.23456789e-30" 125 dtoa(mode = 0, ndigits = 17): 126 dtoa returns sign = 0, decpt = -29, 9 digits: 127 123456789 128 nextafter(d,+Infinity) = 1.2345678900000002e-30 = 0x39b90a3e 33bbd996: 129 g_fmt gives "1.2345678900000002e-30" 130 dtoa returns sign = 0, decpt = -29, 17 digits: 131 12345678900000002 132 nextafter(d,-Infinity) = 1.2345678899999998e-30 = 0x39b90a3e 33bbd994: 133 g_fmt gives "1.2345678899999998e-30" 134 dtoa returns sign = 0, decpt = -29, 17 digits: 135 12345678899999998 136 Input: 1.234567890123456789 137 Output: d = 138 1.2345678901234567 = 0x3ff3c0ca 428c59fb, se = 139 g_fmt gives "1.2345678901234567" 140 dtoa(mode = 0, ndigits = 17): 141 dtoa returns sign = 0, decpt = 1, 17 digits: 142 12345678901234567 143 nextafter(d,+Infinity) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc: 144 g_fmt gives "1.234567890123457" 145 dtoa returns sign = 0, decpt = 1, 16 digits: 146 1234567890123457 147 nextafter(d,-Infinity) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa: 148 g_fmt gives "1.2345678901234565" 149 dtoa returns sign = 0, decpt = 1, 17 digits: 150 12345678901234565 151 Input: 1.23456789012345678901234567890123456789 152 Output: d = 153 1.2345678901234567 = 0x3ff3c0ca 428c59fb, se = 154 g_fmt gives "1.2345678901234567" 155 dtoa(mode = 0, ndigits = 17): 156 dtoa returns sign = 0, decpt = 1, 17 digits: 157 12345678901234567 158 nextafter(d,+Infinity) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc: 159 g_fmt gives "1.234567890123457" 160 dtoa returns sign = 0, decpt = 1, 16 digits: 161 1234567890123457 162 nextafter(d,-Infinity) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa: 163 g_fmt gives "1.2345678901234565" 164 dtoa returns sign = 0, decpt = 1, 17 digits: 165 12345678901234565 166 Input: 1.23e306 167 Output: d = 168 1.23e+306 = 0x7f7c0676 cd1c61f5, se = 169 g_fmt gives "1.23e+306" 170 dtoa(mode = 0, ndigits = 17): 171 dtoa returns sign = 0, decpt = 307, 3 digits: 172 123 173 nextafter(d,+Infinity) = 1.2300000000000002e+306 = 0x7f7c0676 cd1c61f6: 174 g_fmt gives "1.2300000000000002e+306" 175 dtoa returns sign = 0, decpt = 307, 17 digits: 176 12300000000000002 177 nextafter(d,-Infinity) = 1.2299999999999999e+306 = 0x7f7c0676 cd1c61f4: 178 g_fmt gives "1.2299999999999999e+306" 179 dtoa returns sign = 0, decpt = 307, 17 digits: 180 12299999999999999 181 Input: 1.23e-306 182 Output: d = 183 1.23e-306 = 0x6ba3b8 5da396e8, se = 184 g_fmt gives "1.23e-306" 185 dtoa(mode = 0, ndigits = 17): 186 dtoa returns sign = 0, decpt = -305, 3 digits: 187 123 188 nextafter(d,+Infinity) = 1.2300000000000002e-306 = 0x6ba3b8 5da396e9: 189 g_fmt gives "1.2300000000000002e-306" 190 dtoa returns sign = 0, decpt = -305, 17 digits: 191 12300000000000002 192 nextafter(d,-Infinity) = 1.2299999999999999e-306 = 0x6ba3b8 5da396e7: 193 g_fmt gives "1.2299999999999999e-306" 194 dtoa returns sign = 0, decpt = -305, 17 digits: 195 12299999999999999 196 Input: 1.23e-320 197 Output: d = 198 1.2302234581447039e-320 = 0x0 9ba, se = 199 g_fmt gives "1.23e-320" 200 dtoa(mode = 0, ndigits = 17): 201 dtoa returns sign = 0, decpt = -319, 3 digits: 202 123 203 nextafter(d,+Infinity) = 1.2307175237905451e-320 = 0x0 9bb: 204 g_fmt gives "1.2307e-320" 205 dtoa returns sign = 0, decpt = -319, 5 digits: 206 12307 207 nextafter(d,-Infinity) = 1.2297293924988626e-320 = 0x0 9b9: 208 g_fmt gives "1.2297e-320" 209 dtoa returns sign = 0, decpt = -319, 5 digits: 210 12297 211 Input: 1.23e-20 212 Output: d = 213 1.2300000000000001e-20 = 0x3bcd0ae4 cf767531, se = 214 g_fmt gives "1.23e-20" 215 dtoa(mode = 0, ndigits = 17): 216 dtoa returns sign = 0, decpt = -19, 3 digits: 217 123 218 nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532: 219 g_fmt gives "1.2300000000000002e-20" 220 dtoa returns sign = 0, decpt = -19, 17 digits: 221 12300000000000002 222 nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530: 223 g_fmt gives "1.2299999999999999e-20" 224 dtoa returns sign = 0, decpt = -19, 17 digits: 225 12299999999999999 226 Input: 1.23456789e307 227 Output: d = 228 1.23456789e+307 = 0x7fb194b1 4bdaecdc, se = 229 g_fmt gives "1.23456789e+307" 230 dtoa(mode = 0, ndigits = 17): 231 dtoa returns sign = 0, decpt = 308, 9 digits: 232 123456789 233 nextafter(d,+Infinity) = 1.2345678900000003e+307 = 0x7fb194b1 4bdaecdd: 234 g_fmt gives "1.2345678900000003e+307" 235 dtoa returns sign = 0, decpt = 308, 17 digits: 236 12345678900000003 237 nextafter(d,-Infinity) = 1.2345678899999998e+307 = 0x7fb194b1 4bdaecdb: 238 g_fmt gives "1.2345678899999998e+307" 239 dtoa returns sign = 0, decpt = 308, 17 digits: 240 12345678899999998 241 Input: 1.23456589e-307 242 Output: d = 243 1.2345658899999999e-307 = 0x363196 bb9845fa, se = 244 g_fmt gives "1.23456589e-307" 245 dtoa(mode = 0, ndigits = 17): 246 dtoa returns sign = 0, decpt = -306, 9 digits: 247 123456589 248 nextafter(d,+Infinity) = 1.2345658900000001e-307 = 0x363196 bb9845fb: 249 g_fmt gives "1.2345658900000001e-307" 250 dtoa returns sign = 0, decpt = -306, 17 digits: 251 12345658900000001 252 nextafter(d,-Infinity) = 1.2345658899999997e-307 = 0x363196 bb9845f9: 253 g_fmt gives "1.2345658899999997e-307" 254 dtoa returns sign = 0, decpt = -306, 17 digits: 255 12345658899999997 256 Input: 1.234567890123456789 257 Output: d = 258 1.2345678901234567 = 0x3ff3c0ca 428c59fb, se = 259 g_fmt gives "1.2345678901234567" 260 dtoa(mode = 0, ndigits = 17): 261 dtoa returns sign = 0, decpt = 1, 17 digits: 262 12345678901234567 263 nextafter(d,+Infinity) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc: 264 g_fmt gives "1.234567890123457" 265 dtoa returns sign = 0, decpt = 1, 16 digits: 266 1234567890123457 267 nextafter(d,-Infinity) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa: 268 g_fmt gives "1.2345678901234565" 269 dtoa returns sign = 0, decpt = 1, 17 digits: 270 12345678901234565 271 Input: 1.234567890123456789e301 272 Output: d = 273 1.2345678901234568e+301 = 0x7e726f51 75f56413, se = 274 g_fmt gives "1.2345678901234568e+301" 275 dtoa(mode = 0, ndigits = 17): 276 dtoa returns sign = 0, decpt = 302, 17 digits: 277 12345678901234568 278 nextafter(d,+Infinity) = 1.234567890123457e+301 = 0x7e726f51 75f56414: 279 g_fmt gives "1.234567890123457e+301" 280 dtoa returns sign = 0, decpt = 302, 16 digits: 281 1234567890123457 282 nextafter(d,-Infinity) = 1.2345678901234565e+301 = 0x7e726f51 75f56412: 283 g_fmt gives "1.2345678901234565e+301" 284 dtoa returns sign = 0, decpt = 302, 17 digits: 285 12345678901234565 286 Input: 1.234567890123456789e-301 287 Output: d = 288 1.2345678901234567e-301 = 0x1752a64 e34ba0d3, se = 289 g_fmt gives "1.2345678901234567e-301" 290 dtoa(mode = 0, ndigits = 17): 291 dtoa returns sign = 0, decpt = -300, 17 digits: 292 12345678901234567 293 nextafter(d,+Infinity) = 1.2345678901234569e-301 = 0x1752a64 e34ba0d4: 294 g_fmt gives "1.234567890123457e-301" 295 dtoa returns sign = 0, decpt = -300, 16 digits: 296 1234567890123457 297 nextafter(d,-Infinity) = 1.2345678901234565e-301 = 0x1752a64 e34ba0d2: 298 g_fmt gives "1.2345678901234565e-301" 299 dtoa returns sign = 0, decpt = -300, 17 digits: 300 12345678901234565 301 Input: 1.234567890123456789e-321 302 Output: d = 303 1.2351641146031164e-321 = 0x0 fa, se = 304 g_fmt gives "1.235e-321" 305 dtoa(mode = 0, ndigits = 17): 306 dtoa returns sign = 0, decpt = -320, 4 digits: 307 1235 308 nextafter(d,+Infinity) = 1.2401047710615288e-321 = 0x0 fb: 309 g_fmt gives "1.24e-321" 310 dtoa returns sign = 0, decpt = -320, 3 digits: 311 124 312 nextafter(d,-Infinity) = 1.2302234581447039e-321 = 0x0 f9: 313 g_fmt gives "1.23e-321" 314 dtoa returns sign = 0, decpt = -320, 3 digits: 315 123 316 Input: 1e23 317 Output: d = 318 9.9999999999999992e+22 = 0x44b52d02 c7e14af6, se = 319 g_fmt gives "1e+23" 320 dtoa(mode = 0, ndigits = 17): 321 dtoa returns sign = 0, decpt = 24, 1 digits: 322 1 323 nextafter(d,+Infinity) = 1.0000000000000001e+23 = 0x44b52d02 c7e14af7: 324 g_fmt gives "1.0000000000000001e+23" 325 dtoa returns sign = 0, decpt = 24, 17 digits: 326 10000000000000001 327 nextafter(d,-Infinity) = 9.9999999999999975e+22 = 0x44b52d02 c7e14af5: 328 g_fmt gives "9.999999999999997e+22" 329 dtoa returns sign = 0, decpt = 23, 16 digits: 330 9999999999999997 331 Input: 1e310 332 Output: d = 333 Infinity = 0x7ff00000 0, se = 334 g_fmt gives "Infinity" 335 dtoa(mode = 0, ndigits = 17): 336 dtoa returns sign = 0, decpt = 9999, 8 digits: 337 Infinity 338 Input: 9.0259718793241475e-277 339 Output: d = 340 9.0259718793241479e-277 = 0x6a00000 0, se = 341 g_fmt gives "9.025971879324148e-277" 342 dtoa(mode = 0, ndigits = 17): 343 dtoa returns sign = 0, decpt = -276, 16 digits: 344 9025971879324148 345 nextafter(d,+Infinity) = 9.0259718793241499e-277 = 0x6a00000 1: 346 g_fmt gives "9.02597187932415e-277" 347 dtoa returns sign = 0, decpt = -276, 15 digits: 348 902597187932415 349 Input: 9.025971879324147880346310405869e-277 350 Output: d = 351 9.0259718793241479e-277 = 0x6a00000 0, se = 352 g_fmt gives "9.025971879324148e-277" 353 dtoa(mode = 0, ndigits = 17): 354 dtoa returns sign = 0, decpt = -276, 16 digits: 355 9025971879324148 356 nextafter(d,+Infinity) = 9.0259718793241499e-277 = 0x6a00000 1: 357 g_fmt gives "9.02597187932415e-277" 358 dtoa returns sign = 0, decpt = -276, 15 digits: 359 902597187932415 360 Input: 9.025971879324147880346310405868e-277 361 Output: d = 362 9.0259718793241479e-277 = 0x6a00000 0, se = 363 g_fmt gives "9.025971879324148e-277" 364 dtoa(mode = 0, ndigits = 17): 365 dtoa returns sign = 0, decpt = -276, 16 digits: 366 9025971879324148 367 nextafter(d,+Infinity) = 9.0259718793241499e-277 = 0x6a00000 1: 368 g_fmt gives "9.02597187932415e-277" 369 dtoa returns sign = 0, decpt = -276, 15 digits: 370 902597187932415 371 Input: 2.2250738585072014e-308 372 Output: d = 373 2.2250738585072014e-308 = 0x100000 0, se = 374 g_fmt gives "2.2250738585072014e-308" 375 dtoa(mode = 0, ndigits = 17): 376 dtoa returns sign = 0, decpt = -307, 17 digits: 377 22250738585072014 378 nextafter(d,+Infinity) = 2.2250738585072019e-308 = 0x100000 1: 379 g_fmt gives "2.225073858507202e-308" 380 dtoa returns sign = 0, decpt = -307, 16 digits: 381 2225073858507202 382 Input: 2.2250738585072013e-308 383 Output: d = 384 2.2250738585072014e-308 = 0x100000 0, se = 385 g_fmt gives "2.2250738585072014e-308" 386 dtoa(mode = 0, ndigits = 17): 387 dtoa returns sign = 0, decpt = -307, 17 digits: 388 22250738585072014 389 nextafter(d,+Infinity) = 2.2250738585072019e-308 = 0x100000 1: 390 g_fmt gives "2.225073858507202e-308" 391 dtoa returns sign = 0, decpt = -307, 16 digits: 392 2225073858507202 393 Input: 1.23:2 6 394 Output: d = 395 1.23 = 0x3ff3ae14 7ae147ae, se = :2 6 396 g_fmt gives "1.23" 397 dtoa(mode = 2, ndigits = 6): 398 dtoa returns sign = 0, decpt = 1, 3 digits: 399 123 400 nextafter(d,+Infinity) = 1.2300000000000002 = 0x3ff3ae14 7ae147af: 401 g_fmt gives "1.2300000000000002" 402 dtoa returns sign = 0, decpt = 1, 3 digits: 403 123 404 nextafter(d,-Infinity) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad: 405 g_fmt gives "1.2299999999999998" 406 dtoa returns sign = 0, decpt = 1, 3 digits: 407 123 408 Input: 1.23:4 6 409 Output: d = 410 1.23 = 0x3ff3ae14 7ae147ae, se = :4 6 411 g_fmt gives "1.23" 412 dtoa(mode = 4, ndigits = 6): 413 dtoa returns sign = 0, decpt = 1, 3 digits: 414 123 415 nextafter(d,+Infinity) = 1.2300000000000002 = 0x3ff3ae14 7ae147af: 416 g_fmt gives "1.2300000000000002" 417 dtoa returns sign = 0, decpt = 1, 3 digits: 418 123 419 nextafter(d,-Infinity) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad: 420 g_fmt gives "1.2299999999999998" 421 dtoa returns sign = 0, decpt = 1, 3 digits: 422 123 423 Input: 1.23e+20:2 6 424 Output: d = 425 1.23e+20 = 0x441aabdf 2145b430, se = :2 6 426 g_fmt gives "1.23e+20" 427 dtoa(mode = 2, ndigits = 6): 428 dtoa returns sign = 0, decpt = 21, 3 digits: 429 123 430 nextafter(d,+Infinity) = 1.2300000000000002e+20 = 0x441aabdf 2145b431: 431 g_fmt gives "123000000000000020000" 432 dtoa returns sign = 0, decpt = 21, 3 digits: 433 123 434 nextafter(d,-Infinity) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f: 435 g_fmt gives "122999999999999980000" 436 dtoa returns sign = 0, decpt = 21, 3 digits: 437 123 438 Input: 1.23e+20:4 6 439 Output: d = 440 1.23e+20 = 0x441aabdf 2145b430, se = :4 6 441 g_fmt gives "1.23e+20" 442 dtoa(mode = 4, ndigits = 6): 443 dtoa returns sign = 0, decpt = 21, 3 digits: 444 123 445 nextafter(d,+Infinity) = 1.2300000000000002e+20 = 0x441aabdf 2145b431: 446 g_fmt gives "123000000000000020000" 447 dtoa returns sign = 0, decpt = 21, 3 digits: 448 123 449 nextafter(d,-Infinity) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f: 450 g_fmt gives "122999999999999980000" 451 dtoa returns sign = 0, decpt = 21, 3 digits: 452 123 453 Input: 1.23e-20:2 6 454 Output: d = 455 1.2300000000000001e-20 = 0x3bcd0ae4 cf767531, se = :2 6 456 g_fmt gives "1.23e-20" 457 dtoa(mode = 2, ndigits = 6): 458 dtoa returns sign = 0, decpt = -19, 3 digits: 459 123 460 nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532: 461 g_fmt gives "1.2300000000000002e-20" 462 dtoa returns sign = 0, decpt = -19, 3 digits: 463 123 464 nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530: 465 g_fmt gives "1.2299999999999999e-20" 466 dtoa returns sign = 0, decpt = -19, 3 digits: 467 123 468 Input: 1.23e-20:4 6 469 Output: d = 470 1.2300000000000001e-20 = 0x3bcd0ae4 cf767531, se = :4 6 471 g_fmt gives "1.23e-20" 472 dtoa(mode = 4, ndigits = 6): 473 dtoa returns sign = 0, decpt = -19, 3 digits: 474 123 475 nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532: 476 g_fmt gives "1.2300000000000002e-20" 477 dtoa returns sign = 0, decpt = -19, 3 digits: 478 123 479 nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530: 480 g_fmt gives "1.2299999999999999e-20" 481 dtoa returns sign = 0, decpt = -19, 3 digits: 482 123 483 Input: 1.23456789:2 6 484 Output: d = 485 1.2345678899999999 = 0x3ff3c0ca 4283de1b, se = :2 6 486 g_fmt gives "1.23456789" 487 dtoa(mode = 2, ndigits = 6): 488 dtoa returns sign = 0, decpt = 1, 6 digits: 489 123457 490 nextafter(d,+Infinity) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c: 491 g_fmt gives "1.2345678900000001" 492 dtoa returns sign = 0, decpt = 1, 6 digits: 493 123457 494 nextafter(d,-Infinity) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a: 495 g_fmt gives "1.2345678899999997" 496 dtoa returns sign = 0, decpt = 1, 6 digits: 497 123457 498 Input: 1.23456789:4 6 499 Output: d = 500 1.2345678899999999 = 0x3ff3c0ca 4283de1b, se = :4 6 501 g_fmt gives "1.23456789" 502 dtoa(mode = 4, ndigits = 6): 503 dtoa returns sign = 0, decpt = 1, 6 digits: 504 123457 505 nextafter(d,+Infinity) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c: 506 g_fmt gives "1.2345678900000001" 507 dtoa returns sign = 0, decpt = 1, 6 digits: 508 123457 509 nextafter(d,-Infinity) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a: 510 g_fmt gives "1.2345678899999997" 511 dtoa returns sign = 0, decpt = 1, 6 digits: 512 123457 513 Input: 1.23456589e+20:2 6 514 Output: d = 515 1.23456589e+20 = 0x441ac537 a660b997, se = :2 6 516 g_fmt gives "1.23456589e+20" 517 dtoa(mode = 2, ndigits = 6): 518 dtoa returns sign = 0, decpt = 21, 6 digits: 519 123457 520 nextafter(d,+Infinity) = 1.2345658900000001e+20 = 0x441ac537 a660b998: 521 g_fmt gives "123456589000000010000" 522 dtoa returns sign = 0, decpt = 21, 6 digits: 523 123457 524 nextafter(d,-Infinity) = 1.2345658899999998e+20 = 0x441ac537 a660b996: 525 g_fmt gives "123456588999999980000" 526 dtoa returns sign = 0, decpt = 21, 6 digits: 527 123457 528 Input: 1.23456589e+20:4 6 529 Output: d = 530 1.23456589e+20 = 0x441ac537 a660b997, se = :4 6 531 g_fmt gives "1.23456589e+20" 532 dtoa(mode = 4, ndigits = 6): 533 dtoa returns sign = 0, decpt = 21, 6 digits: 534 123457 535 nextafter(d,+Infinity) = 1.2345658900000001e+20 = 0x441ac537 a660b998: 536 g_fmt gives "123456589000000010000" 537 dtoa returns sign = 0, decpt = 21, 6 digits: 538 123457 539 nextafter(d,-Infinity) = 1.2345658899999998e+20 = 0x441ac537 a660b996: 540 g_fmt gives "123456588999999980000" 541 dtoa returns sign = 0, decpt = 21, 6 digits: 542 123457 543 Input: 1.23456789e-20:2 6 544 Output: d = 545 1.2345678899999999e-20 = 0x3bcd2681 471e7ada, se = :2 6 546 g_fmt gives "1.23456789e-20" 547 dtoa(mode = 2, ndigits = 6): 548 dtoa returns sign = 0, decpt = -19, 6 digits: 549 123457 550 nextafter(d,+Infinity) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb: 551 g_fmt gives "1.2345678900000001e-20" 552 dtoa returns sign = 0, decpt = -19, 6 digits: 553 123457 554 nextafter(d,-Infinity) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9: 555 g_fmt gives "1.2345678899999998e-20" 556 dtoa returns sign = 0, decpt = -19, 6 digits: 557 123457 558 Input: 1.23456789e-20:4 6 559 Output: d = 560 1.2345678899999999e-20 = 0x3bcd2681 471e7ada, se = :4 6 561 g_fmt gives "1.23456789e-20" 562 dtoa(mode = 4, ndigits = 6): 563 dtoa returns sign = 0, decpt = -19, 6 digits: 564 123457 565 nextafter(d,+Infinity) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb: 566 g_fmt gives "1.2345678900000001e-20" 567 dtoa returns sign = 0, decpt = -19, 6 digits: 568 123457 569 nextafter(d,-Infinity) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9: 570 g_fmt gives "1.2345678899999998e-20" 571 dtoa returns sign = 0, decpt = -19, 6 digits: 572 123457 573 Input: 1234565:2 6 574 Output: d = 575 1234565 = 0x4132d685 0, se = :2 6 576 g_fmt gives "1234565" 577 dtoa(mode = 2, ndigits = 6): 578 dtoa returns sign = 0, decpt = 7, 6 digits: 579 123456 580 nextafter(d,+Infinity) = 1234565.0000000002 = 0x4132d685 1: 581 g_fmt gives "1234565.0000000002" 582 dtoa returns sign = 0, decpt = 7, 6 digits: 583 123457 584 Input: 1234565:4 6 585 Output: d = 586 1234565 = 0x4132d685 0, se = :4 6 587 g_fmt gives "1234565" 588 dtoa(mode = 4, ndigits = 6): 589 dtoa returns sign = 0, decpt = 7, 6 digits: 590 123456 591 nextafter(d,+Infinity) = 1234565.0000000002 = 0x4132d685 1: 592 g_fmt gives "1234565.0000000002" 593 dtoa returns sign = 0, decpt = 7, 6 digits: 594 123457 595 Input: 1.234565:2 6 596 Output: d = 597 1.2345649999999999 = 0x3ff3c0c7 3abc9470, se = :2 6 598 g_fmt gives "1.234565" 599 dtoa(mode = 2, ndigits = 6): 600 dtoa returns sign = 0, decpt = 1, 6 digits: 601 123456 602 nextafter(d,+Infinity) = 1.2345650000000001 = 0x3ff3c0c7 3abc9471: 603 g_fmt gives "1.2345650000000001" 604 dtoa returns sign = 0, decpt = 1, 6 digits: 605 123457 606 nextafter(d,-Infinity) = 1.2345649999999997 = 0x3ff3c0c7 3abc946f: 607 g_fmt gives "1.2345649999999997" 608 dtoa returns sign = 0, decpt = 1, 6 digits: 609 123456 610 Input: 1.234565:4 6 611 Output: d = 612 1.2345649999999999 = 0x3ff3c0c7 3abc9470, se = :4 6 613 g_fmt gives "1.234565" 614 dtoa(mode = 4, ndigits = 6): 615 dtoa returns sign = 0, decpt = 1, 6 digits: 616 123456 617 nextafter(d,+Infinity) = 1.2345650000000001 = 0x3ff3c0c7 3abc9471: 618 g_fmt gives "1.2345650000000001" 619 dtoa returns sign = 0, decpt = 1, 6 digits: 620 123457 621 nextafter(d,-Infinity) = 1.2345649999999997 = 0x3ff3c0c7 3abc946f: 622 g_fmt gives "1.2345649999999997" 623 dtoa returns sign = 0, decpt = 1, 6 digits: 624 123456 625 Input: 1.234565e+20:2 6 626 Output: d = 627 1.234565e+20 = 0x441ac536 6299040d, se = :2 6 628 g_fmt gives "1.234565e+20" 629 dtoa(mode = 2, ndigits = 6): 630 dtoa returns sign = 0, decpt = 21, 6 digits: 631 123456 632 nextafter(d,+Infinity) = 1.2345650000000002e+20 = 0x441ac536 6299040e: 633 g_fmt gives "123456500000000020000" 634 dtoa returns sign = 0, decpt = 21, 6 digits: 635 123457 636 nextafter(d,-Infinity) = 1.2345649999999998e+20 = 0x441ac536 6299040c: 637 g_fmt gives "123456499999999980000" 638 dtoa returns sign = 0, decpt = 21, 6 digits: 639 123456 640 Input: 1.234565e+20:4 6 641 Output: d = 642 1.234565e+20 = 0x441ac536 6299040d, se = :4 6 643 g_fmt gives "1.234565e+20" 644 dtoa(mode = 4, ndigits = 6): 645 dtoa returns sign = 0, decpt = 21, 6 digits: 646 123456 647 nextafter(d,+Infinity) = 1.2345650000000002e+20 = 0x441ac536 6299040e: 648 g_fmt gives "123456500000000020000" 649 dtoa returns sign = 0, decpt = 21, 6 digits: 650 123457 651 nextafter(d,-Infinity) = 1.2345649999999998e+20 = 0x441ac536 6299040c: 652 g_fmt gives "123456499999999980000" 653 dtoa returns sign = 0, decpt = 21, 6 digits: 654 123456 655 Input: 1.234565e-20:2 6 656 Output: d = 657 1.234565e-20 = 0x3bcd267c ce45a93f, se = :2 6 658 g_fmt gives "1.234565e-20" 659 dtoa(mode = 2, ndigits = 6): 660 dtoa returns sign = 0, decpt = -19, 6 digits: 661 123456 662 nextafter(d,+Infinity) = 1.2345650000000001e-20 = 0x3bcd267c ce45a940: 663 g_fmt gives "1.2345650000000001e-20" 664 dtoa returns sign = 0, decpt = -19, 6 digits: 665 123457 666 nextafter(d,-Infinity) = 1.2345649999999998e-20 = 0x3bcd267c ce45a93e: 667 g_fmt gives "1.2345649999999998e-20" 668 dtoa returns sign = 0, decpt = -19, 6 digits: 669 123456 670 Input: 1.234565e-20:4 6 671 Output: d = 672 1.234565e-20 = 0x3bcd267c ce45a93f, se = :4 6 673 g_fmt gives "1.234565e-20" 674 dtoa(mode = 4, ndigits = 6): 675 dtoa returns sign = 0, decpt = -19, 6 digits: 676 123456 677 nextafter(d,+Infinity) = 1.2345650000000001e-20 = 0x3bcd267c ce45a940: 678 g_fmt gives "1.2345650000000001e-20" 679 dtoa returns sign = 0, decpt = -19, 6 digits: 680 123457 681 nextafter(d,-Infinity) = 1.2345649999999998e-20 = 0x3bcd267c ce45a93e: 682 g_fmt gives "1.2345649999999998e-20" 683 dtoa returns sign = 0, decpt = -19, 6 digits: 684 123456 685