github.com/cockroachdb/apd/v3@v3.2.0/testdata/divide.decTest (about) 1 ------------------------------------------------------------------------ 2 -- divide.decTest -- decimal division -- 3 -- Copyright (c) Mike Cowlishaw, 1981, 2010. All rights reserved. -- 4 -- Parts copyright (c) IBM Corporation, 1981, 2008. -- 5 ------------------------------------------------------------------------ 6 -- Please see the document "General Decimal Arithmetic Testcases" -- 7 -- at http://speleotrove.com/decimal for the description of -- 8 -- these testcases. -- 9 -- -- 10 -- These testcases are experimental ('beta' versions), and they -- 11 -- may contain errors. They are offered on an as-is basis. In -- 12 -- particular, achieving the same results as the tests here is not -- 13 -- a guarantee that an implementation complies with any Standard -- 14 -- or specification. The tests are not exhaustive. -- 15 -- -- 16 -- Please send comments, suggestions, and corrections to the author: -- 17 -- Mike Cowlishaw, mfc@speleotrove.com -- 18 ------------------------------------------------------------------------ 19 version: 2.62 20 21 extended: 1 22 precision: 9 23 rounding: half_up 24 maxExponent: 384 25 minexponent: -383 26 27 -- sanity checks 28 divx001 divide 1 1 -> 1 29 divx002 divide 2 1 -> 2 30 divx003 divide 1 2 -> 0.5 31 divx004 divide 2 2 -> 1 32 divx005 divide 0 1 -> 0 33 divx006 divide 0 2 -> 0 34 divx007 divide 1 3 -> 0.333333333 Inexact Rounded 35 divx008 divide 2 3 -> 0.666666667 Inexact Rounded 36 divx009 divide 3 3 -> 1 37 38 divx010 divide 2.4 1 -> 2.4 39 divx011 divide 2.4 -1 -> -2.4 40 divx012 divide -2.4 1 -> -2.4 41 divx013 divide -2.4 -1 -> 2.4 42 divx014 divide 2.40 1 -> 2.40 43 divx015 divide 2.400 1 -> 2.400 44 divx016 divide 2.4 2 -> 1.2 45 divx017 divide 2.400 2 -> 1.200 46 divx018 divide 2. 2 -> 1 47 divx019 divide 20 20 -> 1 48 49 divx020 divide 187 187 -> 1 50 divx021 divide 5 2 -> 2.5 51 divx022 divide 50 20 -> 2.5 52 divx023 divide 500 200 -> 2.5 53 divx024 divide 50.0 20.0 -> 2.5 54 divx025 divide 5.00 2.00 -> 2.5 55 divx026 divide 5 2.0 -> 2.5 56 divx027 divide 5 2.000 -> 2.5 57 divx028 divide 5 0.20 -> 25 58 divx029 divide 5 0.200 -> 25 59 divx030 divide 10 1 -> 10 60 divx031 divide 100 1 -> 100 61 divx032 divide 1000 1 -> 1000 62 divx033 divide 1000 100 -> 10 63 64 divx035 divide 1 2 -> 0.5 65 divx036 divide 1 4 -> 0.25 66 divx037 divide 1 8 -> 0.125 67 divx038 divide 1 16 -> 0.0625 68 divx039 divide 1 32 -> 0.03125 69 divx040 divide 1 64 -> 0.015625 70 divx041 divide 1 -2 -> -0.5 71 divx042 divide 1 -4 -> -0.25 72 divx043 divide 1 -8 -> -0.125 73 divx044 divide 1 -16 -> -0.0625 74 divx045 divide 1 -32 -> -0.03125 75 divx046 divide 1 -64 -> -0.015625 76 divx047 divide -1 2 -> -0.5 77 divx048 divide -1 4 -> -0.25 78 divx049 divide -1 8 -> -0.125 79 divx050 divide -1 16 -> -0.0625 80 divx051 divide -1 32 -> -0.03125 81 divx052 divide -1 64 -> -0.015625 82 divx053 divide -1 -2 -> 0.5 83 divx054 divide -1 -4 -> 0.25 84 divx055 divide -1 -8 -> 0.125 85 divx056 divide -1 -16 -> 0.0625 86 divx057 divide -1 -32 -> 0.03125 87 divx058 divide -1 -64 -> 0.015625 88 89 divx070 divide 999999999 1 -> 999999999 90 divx071 divide 999999999.4 1 -> 999999999 Inexact Rounded 91 divx072 divide 999999999.5 1 -> 1.00000000E+9 Inexact Rounded 92 divx073 divide 999999999.9 1 -> 1.00000000E+9 Inexact Rounded 93 divx074 divide 999999999.999 1 -> 1.00000000E+9 Inexact Rounded 94 precision: 6 95 divx080 divide 999999999 1 -> 1.00000E+9 Inexact Rounded 96 divx081 divide 99999999 1 -> 1.00000E+8 Inexact Rounded 97 divx082 divide 9999999 1 -> 1.00000E+7 Inexact Rounded 98 divx083 divide 999999 1 -> 999999 99 divx084 divide 99999 1 -> 99999 100 divx085 divide 9999 1 -> 9999 101 divx086 divide 999 1 -> 999 102 divx087 divide 99 1 -> 99 103 divx088 divide 9 1 -> 9 104 105 precision: 9 106 divx090 divide 0. 1 -> 0 107 divx091 divide .0 1 -> 0.0 108 divx092 divide 0.00 1 -> 0.00 109 divx093 divide 0.00E+9 1 -> 0E+7 110 divx094 divide 0.0000E-50 1 -> 0E-54 111 112 divx095 divide 1 1E-8 -> 1E+8 113 divx096 divide 1 1E-9 -> 1E+9 114 divx097 divide 1 1E-10 -> 1E+10 115 divx098 divide 1 1E-11 -> 1E+11 116 divx099 divide 1 1E-12 -> 1E+12 117 118 divx100 divide 1 1 -> 1 119 divx101 divide 1 2 -> 0.5 120 divx102 divide 1 3 -> 0.333333333 Inexact Rounded 121 divx103 divide 1 4 -> 0.25 122 divx104 divide 1 5 -> 0.2 123 divx105 divide 1 6 -> 0.166666667 Inexact Rounded 124 divx106 divide 1 7 -> 0.142857143 Inexact Rounded 125 divx107 divide 1 8 -> 0.125 126 divx108 divide 1 9 -> 0.111111111 Inexact Rounded 127 divx109 divide 1 10 -> 0.1 128 divx110 divide 1 1 -> 1 129 divx111 divide 2 1 -> 2 130 divx112 divide 3 1 -> 3 131 divx113 divide 4 1 -> 4 132 divx114 divide 5 1 -> 5 133 divx115 divide 6 1 -> 6 134 divx116 divide 7 1 -> 7 135 divx117 divide 8 1 -> 8 136 divx118 divide 9 1 -> 9 137 divx119 divide 10 1 -> 10 138 139 divx120 divide 3E+1 0.001 -> 3E+4 140 divx121 divide 2.200 2 -> 1.100 141 142 divx130 divide 12345 4.999 -> 2469.49390 Inexact Rounded 143 divx131 divide 12345 4.99 -> 2473.94790 Inexact Rounded 144 divx132 divide 12345 4.9 -> 2519.38776 Inexact Rounded 145 divx133 divide 12345 5 -> 2469 146 divx134 divide 12345 5.1 -> 2420.58824 Inexact Rounded 147 divx135 divide 12345 5.01 -> 2464.07186 Inexact Rounded 148 divx136 divide 12345 5.001 -> 2468.50630 Inexact Rounded 149 150 precision: 9 151 maxexponent: 999999999 152 minexponent: -999999999 153 154 -- test possibly imprecise results 155 divx220 divide 391 597 -> 0.654941374 Inexact Rounded 156 divx221 divide 391 -597 -> -0.654941374 Inexact Rounded 157 divx222 divide -391 597 -> -0.654941374 Inexact Rounded 158 divx223 divide -391 -597 -> 0.654941374 Inexact Rounded 159 160 -- test some cases that are close to exponent overflow 161 maxexponent: 999999999 162 minexponent: -999999999 163 divx270 divide 1 1e999999999 -> 1E-999999999 164 divx271 divide 1 0.9e999999999 -> 1.11111111E-999999999 Inexact Rounded 165 divx272 divide 1 0.99e999999999 -> 1.01010101E-999999999 Inexact Rounded 166 divx273 divide 1 0.999999999e999999999 -> 1.00000000E-999999999 Inexact Rounded 167 divx274 divide 9e999999999 1 -> 9E+999999999 168 divx275 divide 9.9e999999999 1 -> 9.9E+999999999 169 divx276 divide 9.99e999999999 1 -> 9.99E+999999999 170 divx277 divide 9.99999999e999999999 1 -> 9.99999999E+999999999 171 172 divx280 divide 0.1 9e-999999999 -> 1.11111111E+999999997 Inexact Rounded 173 divx281 divide 0.1 99e-999999999 -> 1.01010101E+999999996 Inexact Rounded 174 divx282 divide 0.1 999e-999999999 -> 1.00100100E+999999995 Inexact Rounded 175 176 divx283 divide 0.1 9e-999999998 -> 1.11111111E+999999996 Inexact Rounded 177 divx284 divide 0.1 99e-999999998 -> 1.01010101E+999999995 Inexact Rounded 178 divx285 divide 0.1 999e-999999998 -> 1.00100100E+999999994 Inexact Rounded 179 divx286 divide 0.1 999e-999999997 -> 1.00100100E+999999993 Inexact Rounded 180 divx287 divide 0.1 9999e-999999997 -> 1.00010001E+999999992 Inexact Rounded 181 divx288 divide 0.1 99999e-999999997 -> 1.00001000E+999999991 Inexact Rounded 182 183 -- Divide into 0 tests 184 185 divx301 divide 0 7 -> 0 186 divx302 divide 0 7E-5 -> 0E+5 187 divx303 divide 0 7E-1 -> 0E+1 188 divx304 divide 0 7E+1 -> 0.0 189 divx305 divide 0 7E+5 -> 0.00000 190 divx306 divide 0 7E+6 -> 0.000000 191 divx307 divide 0 7E+7 -> 0E-7 192 divx308 divide 0 70E-5 -> 0E+5 193 divx309 divide 0 70E-1 -> 0E+1 194 divx310 divide 0 70E+0 -> 0 195 divx311 divide 0 70E+1 -> 0.0 196 divx312 divide 0 70E+5 -> 0.00000 197 divx313 divide 0 70E+6 -> 0.000000 198 divx314 divide 0 70E+7 -> 0E-7 199 divx315 divide 0 700E-5 -> 0E+5 200 divx316 divide 0 700E-1 -> 0E+1 201 divx317 divide 0 700E+0 -> 0 202 divx318 divide 0 700E+1 -> 0.0 203 divx319 divide 0 700E+5 -> 0.00000 204 divx320 divide 0 700E+6 -> 0.000000 205 divx321 divide 0 700E+7 -> 0E-7 206 divx322 divide 0 700E+77 -> 0E-77 207 208 divx331 divide 0E-3 7E-5 -> 0E+2 209 divx332 divide 0E-3 7E-1 -> 0.00 210 divx333 divide 0E-3 7E+1 -> 0.0000 211 divx334 divide 0E-3 7E+5 -> 0E-8 212 divx335 divide 0E-1 7E-5 -> 0E+4 213 divx336 divide 0E-1 7E-1 -> 0 214 divx337 divide 0E-1 7E+1 -> 0.00 215 divx338 divide 0E-1 7E+5 -> 0.000000 216 divx339 divide 0E+1 7E-5 -> 0E+6 217 divx340 divide 0E+1 7E-1 -> 0E+2 218 divx341 divide 0E+1 7E+1 -> 0 219 divx342 divide 0E+1 7E+5 -> 0.0000 220 divx343 divide 0E+3 7E-5 -> 0E+8 221 divx344 divide 0E+3 7E-1 -> 0E+4 222 divx345 divide 0E+3 7E+1 -> 0E+2 223 divx346 divide 0E+3 7E+5 -> 0.00 224 225 maxexponent: 92 226 minexponent: -92 227 precision: 7 228 divx351 divide 0E-92 7E-1 -> 0E-91 229 divx352 divide 0E-92 7E+1 -> 0E-93 230 divx353 divide 0E-92 7E+5 -> 0E-97 231 divx354 divide 0E-92 7E+6 -> 0E-98 232 divx355 divide 0E-92 7E+7 -> 0E-98 Clamped 233 divx356 divide 0E-92 777E-1 -> 0E-91 234 divx357 divide 0E-92 777E+1 -> 0E-93 235 divx358 divide 0E-92 777E+3 -> 0E-95 236 divx359 divide 0E-92 777E+4 -> 0E-96 237 divx360 divide 0E-92 777E+5 -> 0E-97 238 divx361 divide 0E-92 777E+6 -> 0E-98 239 divx362 divide 0E-92 777E+7 -> 0E-98 Clamped 240 divx363 divide 0E-92 7E+92 -> 0E-98 Clamped 241 242 divx371 divide 0E-92 700E-1 -> 0E-91 243 divx372 divide 0E-92 700E+1 -> 0E-93 244 divx373 divide 0E-92 700E+3 -> 0E-95 245 divx374 divide 0E-92 700E+4 -> 0E-96 246 divx375 divide 0E-92 700E+5 -> 0E-97 247 divx376 divide 0E-92 700E+6 -> 0E-98 248 divx377 divide 0E-92 700E+7 -> 0E-98 Clamped 249 250 divx381 divide 0E+92 7E+1 -> 0E+91 251 divx382 divide 0E+92 7E+0 -> 0E+92 252 divx383 divide 0E+92 7E-1 -> 0E+92 Clamped 253 divx384 divide 0E+90 777E+1 -> 0E+89 254 divx385 divide 0E+90 777E-1 -> 0E+91 255 divx386 divide 0E+90 777E-2 -> 0E+92 256 divx387 divide 0E+90 777E-3 -> 0E+92 Clamped 257 divx388 divide 0E+90 777E-4 -> 0E+92 Clamped 258 259 divx391 divide 0E+90 700E+1 -> 0E+89 260 divx392 divide 0E+90 700E-1 -> 0E+91 261 divx393 divide 0E+90 700E-2 -> 0E+92 262 divx394 divide 0E+90 700E-3 -> 0E+92 Clamped 263 divx395 divide 0E+90 700E-4 -> 0E+92 Clamped 264 265 -- input rounding checks 266 maxexponent: 999 267 minexponent: -999 268 precision: 9 269 divx401 divide 12345678000 1 -> 1.23456780E+10 Rounded 270 divx402 divide 1 12345678000 -> 8.10000066E-11 Inexact Rounded 271 divx403 divide 1234567800 1 -> 1.23456780E+9 Rounded 272 divx404 divide 1 1234567800 -> 8.10000066E-10 Inexact Rounded 273 divx405 divide 1234567890 1 -> 1.23456789E+9 Rounded 274 divx406 divide 1 1234567890 -> 8.10000007E-10 Inexact Rounded 275 divx407 divide 1234567891 1 -> 1.23456789E+9 Inexact Rounded 276 divx408 divide 1 1234567891 -> 8.10000007E-10 Inexact Rounded 277 divx409 divide 12345678901 1 -> 1.23456789E+10 Inexact Rounded 278 divx410 divide 1 12345678901 -> 8.10000007E-11 Inexact Rounded 279 divx411 divide 1234567896 1 -> 1.23456790E+9 Inexact Rounded 280 divx412 divide 1 1234567896 -> 8.10000003E-10 Inexact Rounded 281 divx413 divide 1 1234567897 -> 8.10000003E-10 Inexact Rounded 282 divx414 divide 1 1234567898 -> 8.10000002E-10 Inexact Rounded 283 divx415 divide 1 1234567899 -> 8.10000001E-10 Inexact Rounded 284 divx416 divide 1 1234567900 -> 8.10000001E-10 Inexact Rounded 285 divx417 divide 1 1234567901 -> 8.10000000E-10 Inexact Rounded 286 divx418 divide 1 1234567902 -> 8.09999999E-10 Inexact Rounded 287 -- some longies 288 divx421 divide 1234567896.000000000000 1 -> 1.23456790E+9 Inexact Rounded 289 divx422 divide 1 1234567896.000000000000 -> 8.10000003E-10 Inexact Rounded 290 divx423 divide 1234567896.000000000001 1 -> 1.23456790E+9 Inexact Rounded 291 divx424 divide 1 1234567896.000000000001 -> 8.10000003E-10 Inexact Rounded 292 divx425 divide 1234567896.000000000000000000000000000000000000000009 1 -> 1.23456790E+9 Inexact Rounded 293 divx426 divide 1 1234567896.000000000000000000000000000000000000000009 -> 8.10000003E-10 Inexact Rounded 294 divx427 divide 1234567897.900010000000000000000000000000000000000009 1 -> 1.23456790E+9 Inexact Rounded 295 divx428 divide 1 1234567897.900010000000000000000000000000000000000009 -> 8.10000002E-10 Inexact Rounded 296 297 precision: 15 298 -- still checking... 299 divx441 divide 12345678000 1 -> 12345678000 300 divx442 divide 1 12345678000 -> 8.10000066420005E-11 Inexact Rounded 301 divx443 divide 1234567800 1 -> 1234567800 302 divx444 divide 1 1234567800 -> 8.10000066420005E-10 Inexact Rounded 303 divx445 divide 1234567890 1 -> 1234567890 304 divx446 divide 1 1234567890 -> 8.10000007371000E-10 Inexact Rounded 305 divx447 divide 1234567891 1 -> 1234567891 306 divx448 divide 1 1234567891 -> 8.10000006714900E-10 Inexact Rounded 307 divx449 divide 12345678901 1 -> 12345678901 308 divx450 divide 1 12345678901 -> 8.10000007305390E-11 Inexact Rounded 309 divx451 divide 1234567896 1 -> 1234567896 310 divx452 divide 1 1234567896 -> 8.10000003434400E-10 Inexact Rounded 311 312 -- high-lows 313 divx453 divide 1e+1 1 -> 1E+1 314 divx454 divide 1e+1 1.0 -> 1E+1 315 divx455 divide 1e+1 1.00 -> 1E+1 316 divx456 divide 1e+2 2 -> 5E+1 317 divx457 divide 1e+2 2.0 -> 5E+1 318 divx458 divide 1e+2 2.00 -> 5E+1 319 320 -- some from IEEE discussions 321 divx460 divide 3e0 2e0 -> 1.5 322 divx461 divide 30e-1 2e0 -> 1.5 323 divx462 divide 300e-2 2e0 -> 1.50 324 divx464 divide 3000e-3 2e0 -> 1.500 325 divx465 divide 3e0 20e-1 -> 1.5 326 divx466 divide 30e-1 20e-1 -> 1.5 327 divx467 divide 300e-2 20e-1 -> 1.5 328 divx468 divide 3000e-3 20e-1 -> 1.50 329 divx469 divide 3e0 200e-2 -> 1.5 330 divx470 divide 30e-1 200e-2 -> 1.5 331 divx471 divide 300e-2 200e-2 -> 1.5 332 divx472 divide 3000e-3 200e-2 -> 1.5 333 divx473 divide 3e0 2000e-3 -> 1.5 334 divx474 divide 30e-1 2000e-3 -> 1.5 335 divx475 divide 300e-2 2000e-3 -> 1.5 336 divx476 divide 3000e-3 2000e-3 -> 1.5 337 338 -- some reciprocals 339 divx480 divide 1 1.0E+33 -> 1E-33 340 divx481 divide 1 10E+33 -> 1E-34 341 divx482 divide 1 1.0E-33 -> 1E+33 342 divx483 divide 1 10E-33 -> 1E+32 343 344 -- RMS discussion table 345 maxexponent: 96 346 minexponent: -95 347 precision: 7 348 349 divx484 divide 0e5 1e3 -> 0E+2 350 divx485 divide 0e5 2e3 -> 0E+2 351 divx486 divide 0e5 10e2 -> 0E+3 352 divx487 divide 0e5 20e2 -> 0E+3 353 divx488 divide 0e5 100e1 -> 0E+4 354 divx489 divide 0e5 200e1 -> 0E+4 355 356 divx491 divide 1e5 1e3 -> 1E+2 357 divx492 divide 1e5 2e3 -> 5E+1 358 divx493 divide 1e5 10e2 -> 1E+2 359 divx494 divide 1e5 20e2 -> 5E+1 360 divx495 divide 1e5 100e1 -> 1E+2 361 divx496 divide 1e5 200e1 -> 5E+1 362 363 -- tryzeros cases 364 precision: 7 365 rounding: half_up 366 maxExponent: 92 367 minexponent: -92 368 divx497 divide 0E+86 1000E-13 -> 0E+92 Clamped 369 divx498 divide 0E-98 1000E+13 -> 0E-98 Clamped 370 371 precision: 9 372 rounding: half_up 373 maxExponent: 999 374 minexponent: -999 375 376 -- focus on trailing zeros issues 377 precision: 9 378 divx500 divide 1 9.9 -> 0.101010101 Inexact Rounded 379 precision: 8 380 divx501 divide 1 9.9 -> 0.10101010 Inexact Rounded 381 precision: 7 382 divx502 divide 1 9.9 -> 0.1010101 Inexact Rounded 383 precision: 6 384 divx503 divide 1 9.9 -> 0.101010 Inexact Rounded 385 precision: 9 386 387 divx511 divide 1 2 -> 0.5 388 divx512 divide 1.0 2 -> 0.5 389 divx513 divide 1.00 2 -> 0.50 390 divx514 divide 1.000 2 -> 0.500 391 divx515 divide 1.0000 2 -> 0.5000 392 divx516 divide 1.00000 2 -> 0.50000 393 divx517 divide 1.000000 2 -> 0.500000 394 divx518 divide 1.0000000 2 -> 0.5000000 395 divx519 divide 1.00 2.00 -> 0.5 396 397 divx521 divide 2 1 -> 2 398 divx522 divide 2 1.0 -> 2 399 divx523 divide 2 1.00 -> 2 400 divx524 divide 2 1.000 -> 2 401 divx525 divide 2 1.0000 -> 2 402 divx526 divide 2 1.00000 -> 2 403 divx527 divide 2 1.000000 -> 2 404 divx528 divide 2 1.0000000 -> 2 405 divx529 divide 2.00 1.00 -> 2 406 407 divx530 divide 2.40 2 -> 1.20 408 divx531 divide 2.40 4 -> 0.60 409 divx532 divide 2.40 10 -> 0.24 410 divx533 divide 2.40 2.0 -> 1.2 411 divx534 divide 2.40 4.0 -> 0.6 412 divx535 divide 2.40 10.0 -> 0.24 413 divx536 divide 2.40 2.00 -> 1.2 414 divx537 divide 2.40 4.00 -> 0.6 415 divx538 divide 2.40 10.00 -> 0.24 416 divx539 divide 0.9 0.1 -> 9 417 divx540 divide 0.9 0.01 -> 9E+1 418 divx541 divide 0.9 0.001 -> 9E+2 419 divx542 divide 5 2 -> 2.5 420 divx543 divide 5 2.0 -> 2.5 421 divx544 divide 5 2.00 -> 2.5 422 divx545 divide 5 20 -> 0.25 423 divx546 divide 5 20.0 -> 0.25 424 divx547 divide 2.400 2 -> 1.200 425 divx548 divide 2.400 2.0 -> 1.20 426 divx549 divide 2.400 2.400 -> 1 427 428 divx550 divide 240 1 -> 240 429 divx551 divide 240 10 -> 24 430 divx552 divide 240 100 -> 2.4 431 divx553 divide 240 1000 -> 0.24 432 divx554 divide 2400 1 -> 2400 433 divx555 divide 2400 10 -> 240 434 divx556 divide 2400 100 -> 24 435 divx557 divide 2400 1000 -> 2.4 436 437 -- +ve exponent 438 precision: 5 439 divx570 divide 2.4E+6 2 -> 1.2E+6 440 divx571 divide 2.40E+6 2 -> 1.20E+6 441 divx572 divide 2.400E+6 2 -> 1.200E+6 442 divx573 divide 2.4000E+6 2 -> 1.2000E+6 443 divx574 divide 24E+5 2 -> 1.2E+6 444 divx575 divide 240E+4 2 -> 1.20E+6 445 divx576 divide 2400E+3 2 -> 1.200E+6 446 divx577 divide 24000E+2 2 -> 1.2000E+6 447 precision: 6 448 divx580 divide 2.4E+6 2 -> 1.2E+6 449 divx581 divide 2.40E+6 2 -> 1.20E+6 450 divx582 divide 2.400E+6 2 -> 1.200E+6 451 divx583 divide 2.4000E+6 2 -> 1.2000E+6 452 divx584 divide 24E+5 2 -> 1.2E+6 453 divx585 divide 240E+4 2 -> 1.20E+6 454 divx586 divide 2400E+3 2 -> 1.200E+6 455 divx587 divide 24000E+2 2 -> 1.2000E+6 456 precision: 7 457 divx590 divide 2.4E+6 2 -> 1.2E+6 458 divx591 divide 2.40E+6 2 -> 1.20E+6 459 divx592 divide 2.400E+6 2 -> 1.200E+6 460 divx593 divide 2.4000E+6 2 -> 1.2000E+6 461 divx594 divide 24E+5 2 -> 1.2E+6 462 divx595 divide 240E+4 2 -> 1.20E+6 463 divx596 divide 2400E+3 2 -> 1.200E+6 464 divx597 divide 24000E+2 2 -> 1.2000E+6 465 precision: 9 466 divx600 divide 2.4E+9 2 -> 1.2E+9 467 divx601 divide 2.40E+9 2 -> 1.20E+9 468 divx602 divide 2.400E+9 2 -> 1.200E+9 469 divx603 divide 2.4000E+9 2 -> 1.2000E+9 470 divx604 divide 24E+8 2 -> 1.2E+9 471 divx605 divide 240E+7 2 -> 1.20E+9 472 divx606 divide 2400E+6 2 -> 1.200E+9 473 divx607 divide 24000E+5 2 -> 1.2000E+9 474 475 -- long operand triangle 476 precision: 33 477 divx610 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097703792 Inexact Rounded 478 precision: 32 479 divx611 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770379 Inexact Rounded 480 precision: 31 481 divx612 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977038 Inexact Rounded 482 precision: 30 483 divx613 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097704 Inexact Rounded 484 precision: 29 485 divx614 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770 Inexact Rounded 486 precision: 28 487 divx615 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977 Inexact Rounded 488 precision: 27 489 divx616 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131098 Inexact Rounded 490 precision: 26 491 divx617 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813110 Inexact Rounded 492 precision: 25 493 divx618 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81311 Inexact Rounded 494 precision: 24 495 divx619 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131 Inexact Rounded 496 precision: 23 497 divx620 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813 Inexact Rounded 498 precision: 22 499 divx621 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81 Inexact Rounded 500 precision: 21 501 divx622 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8 Inexact Rounded 502 precision: 20 503 divx623 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817798 Inexact Rounded 504 precision: 19 505 divx624 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379681780E+19 Inexact Rounded 506 precision: 18 507 divx625 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968178E+19 Inexact Rounded 508 precision: 17 509 divx626 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883796818E+19 Inexact Rounded 510 precision: 16 511 divx627 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379682E+19 Inexact Rounded 512 precision: 15 513 divx628 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968E+19 Inexact Rounded 514 precision: 14 515 divx629 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883797E+19 Inexact Rounded 516 precision: 13 517 divx630 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888380E+19 Inexact Rounded 518 precision: 12 519 divx631 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088838E+19 Inexact Rounded 520 precision: 11 521 divx632 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408884E+19 Inexact Rounded 522 precision: 10 523 divx633 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888E+19 Inexact Rounded 524 precision: 9 525 divx634 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114089E+19 Inexact Rounded 526 precision: 8 527 divx635 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011409E+19 Inexact Rounded 528 precision: 7 529 divx636 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101141E+19 Inexact Rounded 530 precision: 6 531 divx637 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114E+19 Inexact Rounded 532 precision: 5 533 divx638 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011E+19 Inexact Rounded 534 precision: 4 535 divx639 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101E+19 Inexact Rounded 536 precision: 3 537 divx640 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10E+19 Inexact Rounded 538 precision: 2 539 divx641 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1E+19 Inexact Rounded 540 precision: 1 541 divx642 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4E+19 Inexact Rounded 542 543 -- more zeros, etc. 544 precision: 16 545 rounding: half_up 546 maxExponent: 384 547 minExponent: -383 548 549 divx731 divide 5.00 1E-3 -> 5.00E+3 550 divx732 divide 00.00 0.000 -> NaN Division_undefined 551 divx733 divide 00.00 0E-3 -> NaN Division_undefined 552 divx734 divide 0 -0 -> NaN Division_undefined 553 divx735 divide -0 0 -> NaN Division_undefined 554 divx736 divide -0 -0 -> NaN Division_undefined 555 556 divx741 divide 0 -1 -> -0 557 divx742 divide -0 -1 -> 0 558 divx743 divide 0 1 -> 0 559 divx744 divide -0 1 -> -0 560 divx745 divide -1 0 -> -Infinity Division_by_zero 561 divx746 divide -1 -0 -> Infinity Division_by_zero 562 divx747 divide 1 0 -> Infinity Division_by_zero 563 divx748 divide 1 -0 -> -Infinity Division_by_zero 564 565 divx751 divide 0.0 -1 -> -0.0 566 divx752 divide -0.0 -1 -> 0.0 567 divx753 divide 0.0 1 -> 0.0 568 divx754 divide -0.0 1 -> -0.0 569 divx755 divide -1.0 0 -> -Infinity Division_by_zero 570 divx756 divide -1.0 -0 -> Infinity Division_by_zero 571 divx757 divide 1.0 0 -> Infinity Division_by_zero 572 divx758 divide 1.0 -0 -> -Infinity Division_by_zero 573 574 divx761 divide 0 -1.0 -> -0E+1 575 divx762 divide -0 -1.0 -> 0E+1 576 divx763 divide 0 1.0 -> 0E+1 577 divx764 divide -0 1.0 -> -0E+1 578 divx765 divide -1 0.0 -> -Infinity Division_by_zero 579 divx766 divide -1 -0.0 -> Infinity Division_by_zero 580 divx767 divide 1 0.0 -> Infinity Division_by_zero 581 divx768 divide 1 -0.0 -> -Infinity Division_by_zero 582 583 divx771 divide 0.0 -1.0 -> -0 584 divx772 divide -0.0 -1.0 -> 0 585 divx773 divide 0.0 1.0 -> 0 586 divx774 divide -0.0 1.0 -> -0 587 divx775 divide -1.0 0.0 -> -Infinity Division_by_zero 588 divx776 divide -1.0 -0.0 -> Infinity Division_by_zero 589 divx777 divide 1.0 0.0 -> Infinity Division_by_zero 590 divx778 divide 1.0 -0.0 -> -Infinity Division_by_zero 591 592 -- Specials 593 divx780 divide Inf -Inf -> NaN Invalid_operation 594 divx781 divide Inf -1000 -> -Infinity 595 divx782 divide Inf -1 -> -Infinity 596 divx783 divide Inf -0 -> -Infinity 597 divx784 divide Inf 0 -> Infinity 598 divx785 divide Inf 1 -> Infinity 599 divx786 divide Inf 1000 -> Infinity 600 divx787 divide Inf Inf -> NaN Invalid_operation 601 divx788 divide -1000 Inf -> -0E-398 Clamped 602 divx789 divide -Inf Inf -> NaN Invalid_operation 603 divx790 divide -1 Inf -> -0E-398 Clamped 604 divx791 divide -0 Inf -> -0E-398 Clamped 605 divx792 divide 0 Inf -> 0E-398 Clamped 606 divx793 divide 1 Inf -> 0E-398 Clamped 607 divx794 divide 1000 Inf -> 0E-398 Clamped 608 divx795 divide Inf Inf -> NaN Invalid_operation 609 610 divx800 divide -Inf -Inf -> NaN Invalid_operation 611 divx801 divide -Inf -1000 -> Infinity 612 divx802 divide -Inf -1 -> Infinity 613 divx803 divide -Inf -0 -> Infinity 614 divx804 divide -Inf 0 -> -Infinity 615 divx805 divide -Inf 1 -> -Infinity 616 divx806 divide -Inf 1000 -> -Infinity 617 divx807 divide -Inf Inf -> NaN Invalid_operation 618 divx808 divide -1000 Inf -> -0E-398 Clamped 619 divx809 divide -Inf -Inf -> NaN Invalid_operation 620 divx810 divide -1 -Inf -> 0E-398 Clamped 621 divx811 divide -0 -Inf -> 0E-398 Clamped 622 divx812 divide 0 -Inf -> -0E-398 Clamped 623 divx813 divide 1 -Inf -> -0E-398 Clamped 624 divx814 divide 1000 -Inf -> -0E-398 Clamped 625 divx815 divide Inf -Inf -> NaN Invalid_operation 626 627 divx821 divide NaN -Inf -> NaN 628 divx822 divide NaN -1000 -> NaN 629 divx823 divide NaN -1 -> NaN 630 divx824 divide NaN -0 -> NaN 631 divx825 divide NaN 0 -> NaN 632 divx826 divide NaN 1 -> NaN 633 divx827 divide NaN 1000 -> NaN 634 divx828 divide NaN Inf -> NaN 635 divx829 divide NaN NaN -> NaN 636 divx830 divide -Inf NaN -> NaN 637 divx831 divide -1000 NaN -> NaN 638 divx832 divide -1 NaN -> NaN 639 divx833 divide -0 NaN -> NaN 640 divx834 divide 0 NaN -> NaN 641 divx835 divide 1 NaN -> NaN 642 divx836 divide 1000 NaN -> NaN 643 divx837 divide Inf NaN -> NaN 644 645 divx841 divide sNaN -Inf -> NaN Invalid_operation 646 divx842 divide sNaN -1000 -> NaN Invalid_operation 647 divx843 divide sNaN -1 -> NaN Invalid_operation 648 divx844 divide sNaN -0 -> NaN Invalid_operation 649 divx845 divide sNaN 0 -> NaN Invalid_operation 650 divx846 divide sNaN 1 -> NaN Invalid_operation 651 divx847 divide sNaN 1000 -> NaN Invalid_operation 652 divx848 divide sNaN NaN -> NaN Invalid_operation 653 divx849 divide sNaN sNaN -> NaN Invalid_operation 654 divx850 divide NaN sNaN -> NaN Invalid_operation 655 divx851 divide -Inf sNaN -> NaN Invalid_operation 656 divx852 divide -1000 sNaN -> NaN Invalid_operation 657 divx853 divide -1 sNaN -> NaN Invalid_operation 658 divx854 divide -0 sNaN -> NaN Invalid_operation 659 divx855 divide 0 sNaN -> NaN Invalid_operation 660 divx856 divide 1 sNaN -> NaN Invalid_operation 661 divx857 divide 1000 sNaN -> NaN Invalid_operation 662 divx858 divide Inf sNaN -> NaN Invalid_operation 663 divx859 divide NaN sNaN -> NaN Invalid_operation 664 665 -- propagating NaNs 666 divx861 divide NaN9 -Inf -> NaN9 667 divx862 divide NaN8 1000 -> NaN8 668 divx863 divide NaN7 Inf -> NaN7 669 divx864 divide NaN6 NaN5 -> NaN6 670 divx865 divide -Inf NaN4 -> NaN4 671 divx866 divide -1000 NaN3 -> NaN3 672 divx867 divide Inf NaN2 -> NaN2 673 674 divx871 divide sNaN99 -Inf -> NaN99 Invalid_operation 675 divx872 divide sNaN98 -1 -> NaN98 Invalid_operation 676 divx873 divide sNaN97 NaN -> NaN97 Invalid_operation 677 divx874 divide sNaN96 sNaN94 -> NaN96 Invalid_operation 678 divx875 divide NaN95 sNaN93 -> NaN93 Invalid_operation 679 divx876 divide -Inf sNaN92 -> NaN92 Invalid_operation 680 divx877 divide 0 sNaN91 -> NaN91 Invalid_operation 681 divx878 divide Inf sNaN90 -> NaN90 Invalid_operation 682 divx879 divide NaN sNaN89 -> NaN89 Invalid_operation 683 684 divx881 divide -NaN9 -Inf -> -NaN9 685 divx882 divide -NaN8 1000 -> -NaN8 686 divx883 divide -NaN7 Inf -> -NaN7 687 divx884 divide -NaN6 -NaN5 -> -NaN6 688 divx885 divide -Inf -NaN4 -> -NaN4 689 divx886 divide -1000 -NaN3 -> -NaN3 690 divx887 divide Inf -NaN2 -> -NaN2 691 692 divx891 divide -sNaN99 -Inf -> -NaN99 Invalid_operation 693 divx892 divide -sNaN98 -1 -> -NaN98 Invalid_operation 694 divx893 divide -sNaN97 NaN -> -NaN97 Invalid_operation 695 divx894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation 696 divx895 divide -NaN95 -sNaN93 -> -NaN93 Invalid_operation 697 divx896 divide -Inf -sNaN92 -> -NaN92 Invalid_operation 698 divx897 divide 0 -sNaN91 -> -NaN91 Invalid_operation 699 divx898 divide Inf -sNaN90 -> -NaN90 Invalid_operation 700 divx899 divide -NaN -sNaN89 -> -NaN89 Invalid_operation 701 702 maxexponent: 999999999 703 minexponent: -999999999 704 705 -- Various flavours of divide by 0 706 divx901 divide 0 0 -> NaN Division_undefined 707 divx902 divide 0.0E5 0 -> NaN Division_undefined 708 divx903 divide 0.000 0 -> NaN Division_undefined 709 divx904 divide 0.0001 0 -> Infinity Division_by_zero 710 divx905 divide 0.01 0 -> Infinity Division_by_zero 711 divx906 divide 0.1 0 -> Infinity Division_by_zero 712 divx907 divide 1 0 -> Infinity Division_by_zero 713 divx908 divide 1 0.0 -> Infinity Division_by_zero 714 divx909 divide 10 0.0 -> Infinity Division_by_zero 715 divx910 divide 1E+100 0.0 -> Infinity Division_by_zero 716 divx911 divide 1E+1000 0 -> Infinity Division_by_zero 717 718 divx921 divide -0.0001 0 -> -Infinity Division_by_zero 719 divx922 divide -0.01 0 -> -Infinity Division_by_zero 720 divx923 divide -0.1 0 -> -Infinity Division_by_zero 721 divx924 divide -1 0 -> -Infinity Division_by_zero 722 divx925 divide -1 0.0 -> -Infinity Division_by_zero 723 divx926 divide -10 0.0 -> -Infinity Division_by_zero 724 divx927 divide -1E+100 0.0 -> -Infinity Division_by_zero 725 divx928 divide -1E+1000 0 -> -Infinity Division_by_zero 726 727 divx931 divide 0.0001 -0 -> -Infinity Division_by_zero 728 divx932 divide 0.01 -0 -> -Infinity Division_by_zero 729 divx933 divide 0.1 -0 -> -Infinity Division_by_zero 730 divx934 divide 1 -0 -> -Infinity Division_by_zero 731 divx935 divide 1 -0.0 -> -Infinity Division_by_zero 732 divx936 divide 10 -0.0 -> -Infinity Division_by_zero 733 divx937 divide 1E+100 -0.0 -> -Infinity Division_by_zero 734 divx938 divide 1E+1000 -0 -> -Infinity Division_by_zero 735 736 divx941 divide -0.0001 -0 -> Infinity Division_by_zero 737 divx942 divide -0.01 -0 -> Infinity Division_by_zero 738 divx943 divide -0.1 -0 -> Infinity Division_by_zero 739 divx944 divide -1 -0 -> Infinity Division_by_zero 740 divx945 divide -1 -0.0 -> Infinity Division_by_zero 741 divx946 divide -10 -0.0 -> Infinity Division_by_zero 742 divx947 divide -1E+100 -0.0 -> Infinity Division_by_zero 743 divx948 divide -1E+1000 -0 -> Infinity Division_by_zero 744 745 -- overflow and underflow tests 746 precision: 9 747 maxexponent: 999999999 748 minexponent: -999999999 749 divx951 divide 9E+999999999 +0.23456789012345E-0 -> Infinity Inexact Overflow Rounded 750 divx952 divide +0.100 9E+999999999 -> 1.111111E-1000000001 Inexact Rounded Underflow Subnormal 751 divx953 divide 9E-999999999 +9.100 -> 9.8901099E-1000000000 Inexact Rounded Underflow Subnormal 752 divx954 divide -1.23456789 9E+999999999 -> -1.3717421E-1000000000 Subnormal 753 divx955 divide -1.23456789012345E-0 9E+999999999 -> -1.3717421E-1000000000 Underflow Subnormal Rounded Inexact 754 divx956 divide -1.23456789012345E-0 7E+999999999 -> -1.7636684E-1000000000 Inexact Rounded Underflow Subnormal 755 divx957 divide 9E+999999999 -0.83456789012345E-0 -> -Infinity Inexact Overflow Rounded 756 divx958 divide -0.100 9E+999999999 -> -1.111111E-1000000001 Subnormal Inexact Rounded Underflow 757 divx959 divide 9E-999999999 -9.100 -> -9.8901099E-1000000000 Inexact Rounded Underflow Subnormal 758 759 -- overflow and underflow (additional edge tests in multiply.decTest) 760 -- 'subnormal' results now possible (all hard underflow or overflow in 761 -- base arithemtic) 762 divx960 divide 1e-600000000 1e+400000001 -> 1E-1000000001 Subnormal 763 divx961 divide 1e-600000000 1e+400000002 -> 1E-1000000002 Subnormal 764 divx962 divide 1e-600000000 1e+400000003 -> 1E-1000000003 Subnormal 765 divx963 divide 1e-600000000 1e+400000004 -> 1E-1000000004 Subnormal 766 divx964 divide 1e-600000000 1e+400000005 -> 1E-1000000005 Subnormal 767 divx965 divide 1e-600000000 1e+400000006 -> 1E-1000000006 Subnormal 768 divx966 divide 1e-600000000 1e+400000007 -> 1E-1000000007 Subnormal 769 divx967 divide 1e-600000000 1e+400000008 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 770 divx968 divide 1e-600000000 1e+400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 771 divx969 divide 1e-600000000 1e+400000010 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 772 -- [no equivalent of 'subnormal' for overflow] 773 divx970 divide 1e+600000000 1e-400000001 -> Infinity Overflow Inexact Rounded 774 divx971 divide 1e+600000000 1e-400000002 -> Infinity Overflow Inexact Rounded 775 divx972 divide 1e+600000000 1e-400000003 -> Infinity Overflow Inexact Rounded 776 divx973 divide 1e+600000000 1e-400000004 -> Infinity Overflow Inexact Rounded 777 divx974 divide 1e+600000000 1e-400000005 -> Infinity Overflow Inexact Rounded 778 divx975 divide 1e+600000000 1e-400000006 -> Infinity Overflow Inexact Rounded 779 divx976 divide 1e+600000000 1e-400000007 -> Infinity Overflow Inexact Rounded 780 divx977 divide 1e+600000000 1e-400000008 -> Infinity Overflow Inexact Rounded 781 divx978 divide 1e+600000000 1e-400000009 -> Infinity Overflow Inexact Rounded 782 divx979 divide 1e+600000000 1e-400000010 -> Infinity Overflow Inexact Rounded 783 784 -- Sign after overflow and underflow 785 divx980 divide 1e-600000000 1e+400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 786 divx981 divide 1e-600000000 -1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 787 divx982 divide -1e-600000000 1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 788 divx983 divide -1e-600000000 -1e+400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 789 divx984 divide 1e+600000000 1e-400000009 -> Infinity Overflow Inexact Rounded 790 divx985 divide 1e+600000000 -1e-400000009 -> -Infinity Overflow Inexact Rounded 791 divx986 divide -1e+600000000 1e-400000009 -> -Infinity Overflow Inexact Rounded 792 divx987 divide -1e+600000000 -1e-400000009 -> Infinity Overflow Inexact Rounded 793 794 -- Long operand overflow may be a different path 795 precision: 3 796 divx990 divide 1000 9.999E-999999999 -> Infinity Inexact Overflow Rounded 797 divx991 divide 1000 -9.999E-999999999 -> -Infinity Inexact Overflow Rounded 798 divx992 divide 9.999E+999999999 0.01 -> Infinity Inexact Overflow Rounded 799 divx993 divide -9.999E+999999999 0.01 -> -Infinity Inexact Overflow Rounded 800 801 -- check for double-rounded subnormals 802 precision: 5 803 maxexponent: 79 804 minexponent: -79 805 divx1001 divide 1.52444E-80 1 -> 1.524E-80 Inexact Rounded Subnormal Underflow 806 divx1002 divide 1.52445E-80 1 -> 1.524E-80 Inexact Rounded Subnormal Underflow 807 divx1003 divide 1.52446E-80 1 -> 1.524E-80 Inexact Rounded Subnormal Underflow 808 809 -- a rounding problem in one implementation 810 precision: 34 811 rounding: half_up 812 maxExponent: 6144 813 minExponent: -6143 814 -- Unbounded answer to 40 digits: 815 -- 1.465811965811965811965811965811965811966E+7000 816 divx1010 divide 343E6000 234E-1000 -> Infinity Overflow Inexact Rounded 817 818 precision: 34 819 rounding: half_up 820 maxExponent: 6144 821 minExponent: -6143 822 823 -- Examples from SQL proposal (Krishna Kulkarni) 824 precision: 7 825 divx1021 divide 1E0 1E0 -> 1 826 divx1022 divide 1E0 2E0 -> 0.5 827 divx1023 divide 1E0 3E0 -> 0.3333333 Inexact Rounded 828 divx1024 divide 100E-2 1000E-3 -> 1 829 divx1025 divide 24E-1 2E0 -> 1.2 830 divx1026 divide 2400E-3 2E0 -> 1.200 831 divx1027 divide 5E0 2E0 -> 2.5 832 divx1028 divide 5E0 20E-1 -> 2.5 833 divx1029 divide 5E0 2000E-3 -> 2.5 834 divx1030 divide 5E0 2E-1 -> 25 835 divx1031 divide 5E0 20E-2 -> 25 836 divx1032 divide 480E-2 3E0 -> 1.60 837 divx1033 divide 47E-1 2E0 -> 2.35 838 839 -- ECMAScript bad examples 840 rounding: half_down 841 precision: 7 842 divx1050 divide 5 9 -> 0.5555556 Inexact Rounded 843 rounding: half_even 844 divx1051 divide 5 11 -> 0.4545455 Inexact Rounded 845 846 -- payload decapitate 847 precision: 5 848 divx1055 divide sNaN987654321 1 -> NaN54321 Invalid_operation 849 850 -- Null tests 851 divx9998 divide 10 # -> NaN Invalid_operation 852 divx9999 divide # 10 -> NaN Invalid_operation 853