Input: 1.23 Output: d = 1.23 = 0x3ff3ae14 7ae147ae, se = g_fmt gives "1.23" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 1, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002 = 0x3ff3ae14 7ae147af: g_fmt gives "1.2300000000000002" dtoa returns sign = 0, decpt = 1, 17 digits: 12300000000000002 nextafter(d,-Infinity) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad: g_fmt gives "1.2299999999999998" dtoa returns sign = 0, decpt = 1, 17 digits: 12299999999999998 Input: 1.23e+20 Output: d = 1.23e+20 = 0x441aabdf 2145b430, se = g_fmt gives "1.23e+20" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 21, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002e+20 = 0x441aabdf 2145b431: g_fmt gives "123000000000000020000" dtoa returns sign = 0, decpt = 21, 17 digits: 12300000000000002 nextafter(d,-Infinity) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f: g_fmt gives "122999999999999980000" dtoa returns sign = 0, decpt = 21, 17 digits: 12299999999999998 Input: 1.23e-20 Output: d = 1.2300000000000001e-20 = 0x3bcd0ae4 cf767531, se = g_fmt gives "1.23e-20" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -19, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532: g_fmt gives "1.2300000000000002e-20" dtoa returns sign = 0, decpt = -19, 17 digits: 12300000000000002 nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530: g_fmt gives "1.2299999999999999e-20" dtoa returns sign = 0, decpt = -19, 17 digits: 12299999999999999 Input: 1.23456789 Output: d = 1.2345678899999999 = 0x3ff3c0ca 4283de1b, se = g_fmt gives "1.23456789" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 1, 9 digits: 123456789 nextafter(d,+Infinity) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c: g_fmt gives "1.2345678900000001" dtoa returns sign = 0, decpt = 1, 17 digits: 12345678900000001 nextafter(d,-Infinity) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a: g_fmt gives "1.2345678899999997" dtoa returns sign = 0, decpt = 1, 17 digits: 12345678899999997 Input: 1.23456589e+20 Output: d = 1.23456589e+20 = 0x441ac537 a660b997, se = g_fmt gives "1.23456589e+20" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 21, 9 digits: 123456589 nextafter(d,+Infinity) = 1.2345658900000001e+20 = 0x441ac537 a660b998: g_fmt gives "123456589000000010000" dtoa returns sign = 0, decpt = 21, 17 digits: 12345658900000001 nextafter(d,-Infinity) = 1.2345658899999998e+20 = 0x441ac537 a660b996: g_fmt gives "123456588999999980000" dtoa returns sign = 0, decpt = 21, 17 digits: 12345658899999998 Input: 1.23e+30 Output: d = 1.23e+30 = 0x462f0cb0 4e8fb790, se = g_fmt gives "1.23e+30" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 31, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000001e+30 = 0x462f0cb0 4e8fb791: g_fmt gives "1.2300000000000001e+30" dtoa returns sign = 0, decpt = 31, 17 digits: 12300000000000001 nextafter(d,-Infinity) = 1.2299999999999998e+30 = 0x462f0cb0 4e8fb78f: g_fmt gives "1.2299999999999998e+30" dtoa returns sign = 0, decpt = 31, 17 digits: 12299999999999998 Input: 1.23e-30 Output: d = 1.2300000000000001e-30 = 0x39b8f286 6f5010ab, se = g_fmt gives "1.23e-30" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -29, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002e-30 = 0x39b8f286 6f5010ac: g_fmt gives "1.2300000000000002e-30" dtoa returns sign = 0, decpt = -29, 17 digits: 12300000000000002 nextafter(d,-Infinity) = 1.2299999999999999e-30 = 0x39b8f286 6f5010aa: g_fmt gives "1.2299999999999999e-30" dtoa returns sign = 0, decpt = -29, 17 digits: 12299999999999999 Input: 1.23456789e-20 Output: d = 1.2345678899999999e-20 = 0x3bcd2681 471e7ada, se = g_fmt gives "1.23456789e-20" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -19, 9 digits: 123456789 nextafter(d,+Infinity) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb: g_fmt gives "1.2345678900000001e-20" dtoa returns sign = 0, decpt = -19, 17 digits: 12345678900000001 nextafter(d,-Infinity) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9: g_fmt gives "1.2345678899999998e-20" dtoa returns sign = 0, decpt = -19, 17 digits: 12345678899999998 Input: 1.23456789e-30 Output: d = 1.23456789e-30 = 0x39b90a3e 33bbd995, se = g_fmt gives "1.23456789e-30" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -29, 9 digits: 123456789 nextafter(d,+Infinity) = 1.2345678900000002e-30 = 0x39b90a3e 33bbd996: g_fmt gives "1.2345678900000002e-30" dtoa returns sign = 0, decpt = -29, 17 digits: 12345678900000002 nextafter(d,-Infinity) = 1.2345678899999998e-30 = 0x39b90a3e 33bbd994: g_fmt gives "1.2345678899999998e-30" dtoa returns sign = 0, decpt = -29, 17 digits: 12345678899999998 Input: 1.234567890123456789 Output: d = 1.2345678901234567 = 0x3ff3c0ca 428c59fb, se = g_fmt gives "1.2345678901234567" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 1, 17 digits: 12345678901234567 nextafter(d,+Infinity) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc: g_fmt gives "1.234567890123457" dtoa returns sign = 0, decpt = 1, 16 digits: 1234567890123457 nextafter(d,-Infinity) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa: g_fmt gives "1.2345678901234565" dtoa returns sign = 0, decpt = 1, 17 digits: 12345678901234565 Input: 1.23456789012345678901234567890123456789 Output: d = 1.2345678901234567 = 0x3ff3c0ca 428c59fb, se = g_fmt gives "1.2345678901234567" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 1, 17 digits: 12345678901234567 nextafter(d,+Infinity) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc: g_fmt gives "1.234567890123457" dtoa returns sign = 0, decpt = 1, 16 digits: 1234567890123457 nextafter(d,-Infinity) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa: g_fmt gives "1.2345678901234565" dtoa returns sign = 0, decpt = 1, 17 digits: 12345678901234565 Input: 1.23e306 Output: d = 1.23e+306 = 0x7f7c0676 cd1c61f5, se = g_fmt gives "1.23e+306" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 307, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002e+306 = 0x7f7c0676 cd1c61f6: g_fmt gives "1.2300000000000002e+306" dtoa returns sign = 0, decpt = 307, 17 digits: 12300000000000002 nextafter(d,-Infinity) = 1.2299999999999999e+306 = 0x7f7c0676 cd1c61f4: g_fmt gives "1.2299999999999999e+306" dtoa returns sign = 0, decpt = 307, 17 digits: 12299999999999999 Input: 1.23e-306 Output: d = 1.23e-306 = 0x6ba3b8 5da396e8, se = g_fmt gives "1.23e-306" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -305, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002e-306 = 0x6ba3b8 5da396e9: g_fmt gives "1.2300000000000002e-306" dtoa returns sign = 0, decpt = -305, 17 digits: 12300000000000002 nextafter(d,-Infinity) = 1.2299999999999999e-306 = 0x6ba3b8 5da396e7: g_fmt gives "1.2299999999999999e-306" dtoa returns sign = 0, decpt = -305, 17 digits: 12299999999999999 Input: 1.23e-320 Output: d = 1.2302234581447039e-320 = 0x0 9ba, se = g_fmt gives "1.23e-320" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -319, 3 digits: 123 nextafter(d,+Infinity) = 1.2307175237905451e-320 = 0x0 9bb: g_fmt gives "1.2307e-320" dtoa returns sign = 0, decpt = -319, 5 digits: 12307 nextafter(d,-Infinity) = 1.2297293924988626e-320 = 0x0 9b9: g_fmt gives "1.2297e-320" dtoa returns sign = 0, decpt = -319, 5 digits: 12297 Input: 1.23e-20 Output: d = 1.2300000000000001e-20 = 0x3bcd0ae4 cf767531, se = g_fmt gives "1.23e-20" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -19, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532: g_fmt gives "1.2300000000000002e-20" dtoa returns sign = 0, decpt = -19, 17 digits: 12300000000000002 nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530: g_fmt gives "1.2299999999999999e-20" dtoa returns sign = 0, decpt = -19, 17 digits: 12299999999999999 Input: 1.23456789e307 Output: d = 1.23456789e+307 = 0x7fb194b1 4bdaecdc, se = g_fmt gives "1.23456789e+307" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 308, 9 digits: 123456789 nextafter(d,+Infinity) = 1.2345678900000003e+307 = 0x7fb194b1 4bdaecdd: g_fmt gives "1.2345678900000003e+307" dtoa returns sign = 0, decpt = 308, 17 digits: 12345678900000003 nextafter(d,-Infinity) = 1.2345678899999998e+307 = 0x7fb194b1 4bdaecdb: g_fmt gives "1.2345678899999998e+307" dtoa returns sign = 0, decpt = 308, 17 digits: 12345678899999998 Input: 1.23456589e-307 Output: d = 1.2345658899999999e-307 = 0x363196 bb9845fa, se = g_fmt gives "1.23456589e-307" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -306, 9 digits: 123456589 nextafter(d,+Infinity) = 1.2345658900000001e-307 = 0x363196 bb9845fb: g_fmt gives "1.2345658900000001e-307" dtoa returns sign = 0, decpt = -306, 17 digits: 12345658900000001 nextafter(d,-Infinity) = 1.2345658899999997e-307 = 0x363196 bb9845f9: g_fmt gives "1.2345658899999997e-307" dtoa returns sign = 0, decpt = -306, 17 digits: 12345658899999997 Input: 1.234567890123456789 Output: d = 1.2345678901234567 = 0x3ff3c0ca 428c59fb, se = g_fmt gives "1.2345678901234567" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 1, 17 digits: 12345678901234567 nextafter(d,+Infinity) = 1.2345678901234569 = 0x3ff3c0ca 428c59fc: g_fmt gives "1.234567890123457" dtoa returns sign = 0, decpt = 1, 16 digits: 1234567890123457 nextafter(d,-Infinity) = 1.2345678901234565 = 0x3ff3c0ca 428c59fa: g_fmt gives "1.2345678901234565" dtoa returns sign = 0, decpt = 1, 17 digits: 12345678901234565 Input: 1.234567890123456789e301 Output: d = 1.2345678901234568e+301 = 0x7e726f51 75f56413, se = g_fmt gives "1.2345678901234568e+301" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 302, 17 digits: 12345678901234568 nextafter(d,+Infinity) = 1.234567890123457e+301 = 0x7e726f51 75f56414: g_fmt gives "1.234567890123457e+301" dtoa returns sign = 0, decpt = 302, 16 digits: 1234567890123457 nextafter(d,-Infinity) = 1.2345678901234565e+301 = 0x7e726f51 75f56412: g_fmt gives "1.2345678901234565e+301" dtoa returns sign = 0, decpt = 302, 17 digits: 12345678901234565 Input: 1.234567890123456789e-301 Output: d = 1.2345678901234567e-301 = 0x1752a64 e34ba0d3, se = g_fmt gives "1.2345678901234567e-301" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -300, 17 digits: 12345678901234567 nextafter(d,+Infinity) = 1.2345678901234569e-301 = 0x1752a64 e34ba0d4: g_fmt gives "1.234567890123457e-301" dtoa returns sign = 0, decpt = -300, 16 digits: 1234567890123457 nextafter(d,-Infinity) = 1.2345678901234565e-301 = 0x1752a64 e34ba0d2: g_fmt gives "1.2345678901234565e-301" dtoa returns sign = 0, decpt = -300, 17 digits: 12345678901234565 Input: 1.234567890123456789e-321 Output: d = 1.2351641146031164e-321 = 0x0 fa, se = g_fmt gives "1.235e-321" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -320, 4 digits: 1235 nextafter(d,+Infinity) = 1.2401047710615288e-321 = 0x0 fb: g_fmt gives "1.24e-321" dtoa returns sign = 0, decpt = -320, 3 digits: 124 nextafter(d,-Infinity) = 1.2302234581447039e-321 = 0x0 f9: g_fmt gives "1.23e-321" dtoa returns sign = 0, decpt = -320, 3 digits: 123 Input: 1e23 Output: d = 9.9999999999999992e+22 = 0x44b52d02 c7e14af6, se = g_fmt gives "1e+23" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 24, 1 digits: 1 nextafter(d,+Infinity) = 1.0000000000000001e+23 = 0x44b52d02 c7e14af7: g_fmt gives "1.0000000000000001e+23" dtoa returns sign = 0, decpt = 24, 17 digits: 10000000000000001 nextafter(d,-Infinity) = 9.9999999999999975e+22 = 0x44b52d02 c7e14af5: g_fmt gives "9.999999999999997e+22" dtoa returns sign = 0, decpt = 23, 16 digits: 9999999999999997 Input: 1e310 Output: d = Infinity = 0x7ff00000 0, se = g_fmt gives "Infinity" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = 9999, 8 digits: Infinity Input: 9.0259718793241475e-277 Output: d = 9.0259718793241479e-277 = 0x6a00000 0, se = g_fmt gives "9.025971879324148e-277" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -276, 16 digits: 9025971879324148 nextafter(d,+Infinity) = 9.0259718793241499e-277 = 0x6a00000 1: g_fmt gives "9.02597187932415e-277" dtoa returns sign = 0, decpt = -276, 15 digits: 902597187932415 Input: 9.025971879324147880346310405869e-277 Output: d = 9.0259718793241479e-277 = 0x6a00000 0, se = g_fmt gives "9.025971879324148e-277" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -276, 16 digits: 9025971879324148 nextafter(d,+Infinity) = 9.0259718793241499e-277 = 0x6a00000 1: g_fmt gives "9.02597187932415e-277" dtoa returns sign = 0, decpt = -276, 15 digits: 902597187932415 Input: 9.025971879324147880346310405868e-277 Output: d = 9.0259718793241479e-277 = 0x6a00000 0, se = g_fmt gives "9.025971879324148e-277" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -276, 16 digits: 9025971879324148 nextafter(d,+Infinity) = 9.0259718793241499e-277 = 0x6a00000 1: g_fmt gives "9.02597187932415e-277" dtoa returns sign = 0, decpt = -276, 15 digits: 902597187932415 Input: 2.2250738585072014e-308 Output: d = 2.2250738585072014e-308 = 0x100000 0, se = g_fmt gives "2.2250738585072014e-308" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -307, 17 digits: 22250738585072014 nextafter(d,+Infinity) = 2.2250738585072019e-308 = 0x100000 1: g_fmt gives "2.225073858507202e-308" dtoa returns sign = 0, decpt = -307, 16 digits: 2225073858507202 Input: 2.2250738585072013e-308 Output: d = 2.2250738585072014e-308 = 0x100000 0, se = g_fmt gives "2.2250738585072014e-308" dtoa(mode = 0, ndigits = 17): dtoa returns sign = 0, decpt = -307, 17 digits: 22250738585072014 nextafter(d,+Infinity) = 2.2250738585072019e-308 = 0x100000 1: g_fmt gives "2.225073858507202e-308" dtoa returns sign = 0, decpt = -307, 16 digits: 2225073858507202 Input: 1.23:2 6 Output: d = 1.23 = 0x3ff3ae14 7ae147ae, se = :2 6 g_fmt gives "1.23" dtoa(mode = 2, ndigits = 6): dtoa returns sign = 0, decpt = 1, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002 = 0x3ff3ae14 7ae147af: g_fmt gives "1.2300000000000002" dtoa returns sign = 0, decpt = 1, 3 digits: 123 nextafter(d,-Infinity) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad: g_fmt gives "1.2299999999999998" dtoa returns sign = 0, decpt = 1, 3 digits: 123 Input: 1.23:4 6 Output: d = 1.23 = 0x3ff3ae14 7ae147ae, se = :4 6 g_fmt gives "1.23" dtoa(mode = 4, ndigits = 6): dtoa returns sign = 0, decpt = 1, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002 = 0x3ff3ae14 7ae147af: g_fmt gives "1.2300000000000002" dtoa returns sign = 0, decpt = 1, 3 digits: 123 nextafter(d,-Infinity) = 1.2299999999999998 = 0x3ff3ae14 7ae147ad: g_fmt gives "1.2299999999999998" dtoa returns sign = 0, decpt = 1, 3 digits: 123 Input: 1.23e+20:2 6 Output: d = 1.23e+20 = 0x441aabdf 2145b430, se = :2 6 g_fmt gives "1.23e+20" dtoa(mode = 2, ndigits = 6): dtoa returns sign = 0, decpt = 21, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002e+20 = 0x441aabdf 2145b431: g_fmt gives "123000000000000020000" dtoa returns sign = 0, decpt = 21, 3 digits: 123 nextafter(d,-Infinity) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f: g_fmt gives "122999999999999980000" dtoa returns sign = 0, decpt = 21, 3 digits: 123 Input: 1.23e+20:4 6 Output: d = 1.23e+20 = 0x441aabdf 2145b430, se = :4 6 g_fmt gives "1.23e+20" dtoa(mode = 4, ndigits = 6): dtoa returns sign = 0, decpt = 21, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002e+20 = 0x441aabdf 2145b431: g_fmt gives "123000000000000020000" dtoa returns sign = 0, decpt = 21, 3 digits: 123 nextafter(d,-Infinity) = 1.2299999999999998e+20 = 0x441aabdf 2145b42f: g_fmt gives "122999999999999980000" dtoa returns sign = 0, decpt = 21, 3 digits: 123 Input: 1.23e-20:2 6 Output: d = 1.2300000000000001e-20 = 0x3bcd0ae4 cf767531, se = :2 6 g_fmt gives "1.23e-20" dtoa(mode = 2, ndigits = 6): dtoa returns sign = 0, decpt = -19, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532: g_fmt gives "1.2300000000000002e-20" dtoa returns sign = 0, decpt = -19, 3 digits: 123 nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530: g_fmt gives "1.2299999999999999e-20" dtoa returns sign = 0, decpt = -19, 3 digits: 123 Input: 1.23e-20:4 6 Output: d = 1.2300000000000001e-20 = 0x3bcd0ae4 cf767531, se = :4 6 g_fmt gives "1.23e-20" dtoa(mode = 4, ndigits = 6): dtoa returns sign = 0, decpt = -19, 3 digits: 123 nextafter(d,+Infinity) = 1.2300000000000002e-20 = 0x3bcd0ae4 cf767532: g_fmt gives "1.2300000000000002e-20" dtoa returns sign = 0, decpt = -19, 3 digits: 123 nextafter(d,-Infinity) = 1.2299999999999999e-20 = 0x3bcd0ae4 cf767530: g_fmt gives "1.2299999999999999e-20" dtoa returns sign = 0, decpt = -19, 3 digits: 123 Input: 1.23456789:2 6 Output: d = 1.2345678899999999 = 0x3ff3c0ca 4283de1b, se = :2 6 g_fmt gives "1.23456789" dtoa(mode = 2, ndigits = 6): dtoa returns sign = 0, decpt = 1, 6 digits: 123457 nextafter(d,+Infinity) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c: g_fmt gives "1.2345678900000001" dtoa returns sign = 0, decpt = 1, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a: g_fmt gives "1.2345678899999997" dtoa returns sign = 0, decpt = 1, 6 digits: 123457 Input: 1.23456789:4 6 Output: d = 1.2345678899999999 = 0x3ff3c0ca 4283de1b, se = :4 6 g_fmt gives "1.23456789" dtoa(mode = 4, ndigits = 6): dtoa returns sign = 0, decpt = 1, 6 digits: 123457 nextafter(d,+Infinity) = 1.2345678900000001 = 0x3ff3c0ca 4283de1c: g_fmt gives "1.2345678900000001" dtoa returns sign = 0, decpt = 1, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345678899999997 = 0x3ff3c0ca 4283de1a: g_fmt gives "1.2345678899999997" dtoa returns sign = 0, decpt = 1, 6 digits: 123457 Input: 1.23456589e+20:2 6 Output: d = 1.23456589e+20 = 0x441ac537 a660b997, se = :2 6 g_fmt gives "1.23456589e+20" dtoa(mode = 2, ndigits = 6): dtoa returns sign = 0, decpt = 21, 6 digits: 123457 nextafter(d,+Infinity) = 1.2345658900000001e+20 = 0x441ac537 a660b998: g_fmt gives "123456589000000010000" dtoa returns sign = 0, decpt = 21, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345658899999998e+20 = 0x441ac537 a660b996: g_fmt gives "123456588999999980000" dtoa returns sign = 0, decpt = 21, 6 digits: 123457 Input: 1.23456589e+20:4 6 Output: d = 1.23456589e+20 = 0x441ac537 a660b997, se = :4 6 g_fmt gives "1.23456589e+20" dtoa(mode = 4, ndigits = 6): dtoa returns sign = 0, decpt = 21, 6 digits: 123457 nextafter(d,+Infinity) = 1.2345658900000001e+20 = 0x441ac537 a660b998: g_fmt gives "123456589000000010000" dtoa returns sign = 0, decpt = 21, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345658899999998e+20 = 0x441ac537 a660b996: g_fmt gives "123456588999999980000" dtoa returns sign = 0, decpt = 21, 6 digits: 123457 Input: 1.23456789e-20:2 6 Output: d = 1.2345678899999999e-20 = 0x3bcd2681 471e7ada, se = :2 6 g_fmt gives "1.23456789e-20" dtoa(mode = 2, ndigits = 6): dtoa returns sign = 0, decpt = -19, 6 digits: 123457 nextafter(d,+Infinity) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb: g_fmt gives "1.2345678900000001e-20" dtoa returns sign = 0, decpt = -19, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9: g_fmt gives "1.2345678899999998e-20" dtoa returns sign = 0, decpt = -19, 6 digits: 123457 Input: 1.23456789e-20:4 6 Output: d = 1.2345678899999999e-20 = 0x3bcd2681 471e7ada, se = :4 6 g_fmt gives "1.23456789e-20" dtoa(mode = 4, ndigits = 6): dtoa returns sign = 0, decpt = -19, 6 digits: 123457 nextafter(d,+Infinity) = 1.2345678900000001e-20 = 0x3bcd2681 471e7adb: g_fmt gives "1.2345678900000001e-20" dtoa returns sign = 0, decpt = -19, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345678899999998e-20 = 0x3bcd2681 471e7ad9: g_fmt gives "1.2345678899999998e-20" dtoa returns sign = 0, decpt = -19, 6 digits: 123457 Input: 1234565:2 6 Output: d = 1234565 = 0x4132d685 0, se = :2 6 g_fmt gives "1234565" dtoa(mode = 2, ndigits = 6): dtoa returns sign = 0, decpt = 7, 6 digits: 123456 nextafter(d,+Infinity) = 1234565.0000000002 = 0x4132d685 1: g_fmt gives "1234565.0000000002" dtoa returns sign = 0, decpt = 7, 6 digits: 123457 Input: 1234565:4 6 Output: d = 1234565 = 0x4132d685 0, se = :4 6 g_fmt gives "1234565" dtoa(mode = 4, ndigits = 6): dtoa returns sign = 0, decpt = 7, 6 digits: 123456 nextafter(d,+Infinity) = 1234565.0000000002 = 0x4132d685 1: g_fmt gives "1234565.0000000002" dtoa returns sign = 0, decpt = 7, 6 digits: 123457 Input: 1.234565:2 6 Output: d = 1.2345649999999999 = 0x3ff3c0c7 3abc9470, se = :2 6 g_fmt gives "1.234565" dtoa(mode = 2, ndigits = 6): dtoa returns sign = 0, decpt = 1, 6 digits: 123456 nextafter(d,+Infinity) = 1.2345650000000001 = 0x3ff3c0c7 3abc9471: g_fmt gives "1.2345650000000001" dtoa returns sign = 0, decpt = 1, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345649999999997 = 0x3ff3c0c7 3abc946f: g_fmt gives "1.2345649999999997" dtoa returns sign = 0, decpt = 1, 6 digits: 123456 Input: 1.234565:4 6 Output: d = 1.2345649999999999 = 0x3ff3c0c7 3abc9470, se = :4 6 g_fmt gives "1.234565" dtoa(mode = 4, ndigits = 6): dtoa returns sign = 0, decpt = 1, 6 digits: 123456 nextafter(d,+Infinity) = 1.2345650000000001 = 0x3ff3c0c7 3abc9471: g_fmt gives "1.2345650000000001" dtoa returns sign = 0, decpt = 1, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345649999999997 = 0x3ff3c0c7 3abc946f: g_fmt gives "1.2345649999999997" dtoa returns sign = 0, decpt = 1, 6 digits: 123456 Input: 1.234565e+20:2 6 Output: d = 1.234565e+20 = 0x441ac536 6299040d, se = :2 6 g_fmt gives "1.234565e+20" dtoa(mode = 2, ndigits = 6): dtoa returns sign = 0, decpt = 21, 6 digits: 123456 nextafter(d,+Infinity) = 1.2345650000000002e+20 = 0x441ac536 6299040e: g_fmt gives "123456500000000020000" dtoa returns sign = 0, decpt = 21, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345649999999998e+20 = 0x441ac536 6299040c: g_fmt gives "123456499999999980000" dtoa returns sign = 0, decpt = 21, 6 digits: 123456 Input: 1.234565e+20:4 6 Output: d = 1.234565e+20 = 0x441ac536 6299040d, se = :4 6 g_fmt gives "1.234565e+20" dtoa(mode = 4, ndigits = 6): dtoa returns sign = 0, decpt = 21, 6 digits: 123456 nextafter(d,+Infinity) = 1.2345650000000002e+20 = 0x441ac536 6299040e: g_fmt gives "123456500000000020000" dtoa returns sign = 0, decpt = 21, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345649999999998e+20 = 0x441ac536 6299040c: g_fmt gives "123456499999999980000" dtoa returns sign = 0, decpt = 21, 6 digits: 123456 Input: 1.234565e-20:2 6 Output: d = 1.234565e-20 = 0x3bcd267c ce45a93f, se = :2 6 g_fmt gives "1.234565e-20" dtoa(mode = 2, ndigits = 6): dtoa returns sign = 0, decpt = -19, 6 digits: 123456 nextafter(d,+Infinity) = 1.2345650000000001e-20 = 0x3bcd267c ce45a940: g_fmt gives "1.2345650000000001e-20" dtoa returns sign = 0, decpt = -19, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345649999999998e-20 = 0x3bcd267c ce45a93e: g_fmt gives "1.2345649999999998e-20" dtoa returns sign = 0, decpt = -19, 6 digits: 123456 Input: 1.234565e-20:4 6 Output: d = 1.234565e-20 = 0x3bcd267c ce45a93f, se = :4 6 g_fmt gives "1.234565e-20" dtoa(mode = 4, ndigits = 6): dtoa returns sign = 0, decpt = -19, 6 digits: 123456 nextafter(d,+Infinity) = 1.2345650000000001e-20 = 0x3bcd267c ce45a940: g_fmt gives "1.2345650000000001e-20" dtoa returns sign = 0, decpt = -19, 6 digits: 123457 nextafter(d,-Infinity) = 1.2345649999999998e-20 = 0x3bcd267c ce45a93e: g_fmt gives "1.2345649999999998e-20" dtoa returns sign = 0, decpt = -19, 6 digits: 123456