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