17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- divide.decTest -- decimal division -- 37db96d56Sopenharmony_ci-- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. -- 47db96d56Sopenharmony_ci------------------------------------------------------------------------ 57db96d56Sopenharmony_ci-- Please see the document "General Decimal Arithmetic Testcases" -- 67db96d56Sopenharmony_ci-- at http://www2.hursley.ibm.com/decimal for the description of -- 77db96d56Sopenharmony_ci-- these testcases. -- 87db96d56Sopenharmony_ci-- -- 97db96d56Sopenharmony_ci-- These testcases are experimental ('beta' versions), and they -- 107db96d56Sopenharmony_ci-- may contain errors. They are offered on an as-is basis. In -- 117db96d56Sopenharmony_ci-- particular, achieving the same results as the tests here is not -- 127db96d56Sopenharmony_ci-- a guarantee that an implementation complies with any Standard -- 137db96d56Sopenharmony_ci-- or specification. The tests are not exhaustive. -- 147db96d56Sopenharmony_ci-- -- 157db96d56Sopenharmony_ci-- Please send comments, suggestions, and corrections to the author: -- 167db96d56Sopenharmony_ci-- Mike Cowlishaw, IBM Fellow -- 177db96d56Sopenharmony_ci-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK -- 187db96d56Sopenharmony_ci-- mfc@uk.ibm.com -- 197db96d56Sopenharmony_ci------------------------------------------------------------------------ 207db96d56Sopenharmony_civersion: 2.59 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ciextended: 1 237db96d56Sopenharmony_ciprecision: 9 247db96d56Sopenharmony_cirounding: half_up 257db96d56Sopenharmony_cimaxExponent: 384 267db96d56Sopenharmony_ciminexponent: -383 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_ci-- sanity checks 297db96d56Sopenharmony_cidivx001 divide 1 1 -> 1 307db96d56Sopenharmony_cidivx002 divide 2 1 -> 2 317db96d56Sopenharmony_cidivx003 divide 1 2 -> 0.5 327db96d56Sopenharmony_cidivx004 divide 2 2 -> 1 337db96d56Sopenharmony_cidivx005 divide 0 1 -> 0 347db96d56Sopenharmony_cidivx006 divide 0 2 -> 0 357db96d56Sopenharmony_cidivx007 divide 1 3 -> 0.333333333 Inexact Rounded 367db96d56Sopenharmony_cidivx008 divide 2 3 -> 0.666666667 Inexact Rounded 377db96d56Sopenharmony_cidivx009 divide 3 3 -> 1 387db96d56Sopenharmony_ci 397db96d56Sopenharmony_cidivx010 divide 2.4 1 -> 2.4 407db96d56Sopenharmony_cidivx011 divide 2.4 -1 -> -2.4 417db96d56Sopenharmony_cidivx012 divide -2.4 1 -> -2.4 427db96d56Sopenharmony_cidivx013 divide -2.4 -1 -> 2.4 437db96d56Sopenharmony_cidivx014 divide 2.40 1 -> 2.40 447db96d56Sopenharmony_cidivx015 divide 2.400 1 -> 2.400 457db96d56Sopenharmony_cidivx016 divide 2.4 2 -> 1.2 467db96d56Sopenharmony_cidivx017 divide 2.400 2 -> 1.200 477db96d56Sopenharmony_cidivx018 divide 2. 2 -> 1 487db96d56Sopenharmony_cidivx019 divide 20 20 -> 1 497db96d56Sopenharmony_ci 507db96d56Sopenharmony_cidivx020 divide 187 187 -> 1 517db96d56Sopenharmony_cidivx021 divide 5 2 -> 2.5 527db96d56Sopenharmony_cidivx022 divide 50 20 -> 2.5 537db96d56Sopenharmony_cidivx023 divide 500 200 -> 2.5 547db96d56Sopenharmony_cidivx024 divide 50.0 20.0 -> 2.5 557db96d56Sopenharmony_cidivx025 divide 5.00 2.00 -> 2.5 567db96d56Sopenharmony_cidivx026 divide 5 2.0 -> 2.5 577db96d56Sopenharmony_cidivx027 divide 5 2.000 -> 2.5 587db96d56Sopenharmony_cidivx028 divide 5 0.20 -> 25 597db96d56Sopenharmony_cidivx029 divide 5 0.200 -> 25 607db96d56Sopenharmony_cidivx030 divide 10 1 -> 10 617db96d56Sopenharmony_cidivx031 divide 100 1 -> 100 627db96d56Sopenharmony_cidivx032 divide 1000 1 -> 1000 637db96d56Sopenharmony_cidivx033 divide 1000 100 -> 10 647db96d56Sopenharmony_ci 657db96d56Sopenharmony_cidivx035 divide 1 2 -> 0.5 667db96d56Sopenharmony_cidivx036 divide 1 4 -> 0.25 677db96d56Sopenharmony_cidivx037 divide 1 8 -> 0.125 687db96d56Sopenharmony_cidivx038 divide 1 16 -> 0.0625 697db96d56Sopenharmony_cidivx039 divide 1 32 -> 0.03125 707db96d56Sopenharmony_cidivx040 divide 1 64 -> 0.015625 717db96d56Sopenharmony_cidivx041 divide 1 -2 -> -0.5 727db96d56Sopenharmony_cidivx042 divide 1 -4 -> -0.25 737db96d56Sopenharmony_cidivx043 divide 1 -8 -> -0.125 747db96d56Sopenharmony_cidivx044 divide 1 -16 -> -0.0625 757db96d56Sopenharmony_cidivx045 divide 1 -32 -> -0.03125 767db96d56Sopenharmony_cidivx046 divide 1 -64 -> -0.015625 777db96d56Sopenharmony_cidivx047 divide -1 2 -> -0.5 787db96d56Sopenharmony_cidivx048 divide -1 4 -> -0.25 797db96d56Sopenharmony_cidivx049 divide -1 8 -> -0.125 807db96d56Sopenharmony_cidivx050 divide -1 16 -> -0.0625 817db96d56Sopenharmony_cidivx051 divide -1 32 -> -0.03125 827db96d56Sopenharmony_cidivx052 divide -1 64 -> -0.015625 837db96d56Sopenharmony_cidivx053 divide -1 -2 -> 0.5 847db96d56Sopenharmony_cidivx054 divide -1 -4 -> 0.25 857db96d56Sopenharmony_cidivx055 divide -1 -8 -> 0.125 867db96d56Sopenharmony_cidivx056 divide -1 -16 -> 0.0625 877db96d56Sopenharmony_cidivx057 divide -1 -32 -> 0.03125 887db96d56Sopenharmony_cidivx058 divide -1 -64 -> 0.015625 897db96d56Sopenharmony_ci 907db96d56Sopenharmony_cidivx070 divide 999999999 1 -> 999999999 917db96d56Sopenharmony_cidivx071 divide 999999999.4 1 -> 999999999 Inexact Rounded 927db96d56Sopenharmony_cidivx072 divide 999999999.5 1 -> 1.00000000E+9 Inexact Rounded 937db96d56Sopenharmony_cidivx073 divide 999999999.9 1 -> 1.00000000E+9 Inexact Rounded 947db96d56Sopenharmony_cidivx074 divide 999999999.999 1 -> 1.00000000E+9 Inexact Rounded 957db96d56Sopenharmony_ciprecision: 6 967db96d56Sopenharmony_cidivx080 divide 999999999 1 -> 1.00000E+9 Inexact Rounded 977db96d56Sopenharmony_cidivx081 divide 99999999 1 -> 1.00000E+8 Inexact Rounded 987db96d56Sopenharmony_cidivx082 divide 9999999 1 -> 1.00000E+7 Inexact Rounded 997db96d56Sopenharmony_cidivx083 divide 999999 1 -> 999999 1007db96d56Sopenharmony_cidivx084 divide 99999 1 -> 99999 1017db96d56Sopenharmony_cidivx085 divide 9999 1 -> 9999 1027db96d56Sopenharmony_cidivx086 divide 999 1 -> 999 1037db96d56Sopenharmony_cidivx087 divide 99 1 -> 99 1047db96d56Sopenharmony_cidivx088 divide 9 1 -> 9 1057db96d56Sopenharmony_ci 1067db96d56Sopenharmony_ciprecision: 9 1077db96d56Sopenharmony_cidivx090 divide 0. 1 -> 0 1087db96d56Sopenharmony_cidivx091 divide .0 1 -> 0.0 1097db96d56Sopenharmony_cidivx092 divide 0.00 1 -> 0.00 1107db96d56Sopenharmony_cidivx093 divide 0.00E+9 1 -> 0E+7 1117db96d56Sopenharmony_cidivx094 divide 0.0000E-50 1 -> 0E-54 1127db96d56Sopenharmony_ci 1137db96d56Sopenharmony_cidivx095 divide 1 1E-8 -> 1E+8 1147db96d56Sopenharmony_cidivx096 divide 1 1E-9 -> 1E+9 1157db96d56Sopenharmony_cidivx097 divide 1 1E-10 -> 1E+10 1167db96d56Sopenharmony_cidivx098 divide 1 1E-11 -> 1E+11 1177db96d56Sopenharmony_cidivx099 divide 1 1E-12 -> 1E+12 1187db96d56Sopenharmony_ci 1197db96d56Sopenharmony_cidivx100 divide 1 1 -> 1 1207db96d56Sopenharmony_cidivx101 divide 1 2 -> 0.5 1217db96d56Sopenharmony_cidivx102 divide 1 3 -> 0.333333333 Inexact Rounded 1227db96d56Sopenharmony_cidivx103 divide 1 4 -> 0.25 1237db96d56Sopenharmony_cidivx104 divide 1 5 -> 0.2 1247db96d56Sopenharmony_cidivx105 divide 1 6 -> 0.166666667 Inexact Rounded 1257db96d56Sopenharmony_cidivx106 divide 1 7 -> 0.142857143 Inexact Rounded 1267db96d56Sopenharmony_cidivx107 divide 1 8 -> 0.125 1277db96d56Sopenharmony_cidivx108 divide 1 9 -> 0.111111111 Inexact Rounded 1287db96d56Sopenharmony_cidivx109 divide 1 10 -> 0.1 1297db96d56Sopenharmony_cidivx110 divide 1 1 -> 1 1307db96d56Sopenharmony_cidivx111 divide 2 1 -> 2 1317db96d56Sopenharmony_cidivx112 divide 3 1 -> 3 1327db96d56Sopenharmony_cidivx113 divide 4 1 -> 4 1337db96d56Sopenharmony_cidivx114 divide 5 1 -> 5 1347db96d56Sopenharmony_cidivx115 divide 6 1 -> 6 1357db96d56Sopenharmony_cidivx116 divide 7 1 -> 7 1367db96d56Sopenharmony_cidivx117 divide 8 1 -> 8 1377db96d56Sopenharmony_cidivx118 divide 9 1 -> 9 1387db96d56Sopenharmony_cidivx119 divide 10 1 -> 10 1397db96d56Sopenharmony_ci 1407db96d56Sopenharmony_cidivx120 divide 3E+1 0.001 -> 3E+4 1417db96d56Sopenharmony_cidivx121 divide 2.200 2 -> 1.100 1427db96d56Sopenharmony_ci 1437db96d56Sopenharmony_cidivx130 divide 12345 4.999 -> 2469.49390 Inexact Rounded 1447db96d56Sopenharmony_cidivx131 divide 12345 4.99 -> 2473.94790 Inexact Rounded 1457db96d56Sopenharmony_cidivx132 divide 12345 4.9 -> 2519.38776 Inexact Rounded 1467db96d56Sopenharmony_cidivx133 divide 12345 5 -> 2469 1477db96d56Sopenharmony_cidivx134 divide 12345 5.1 -> 2420.58824 Inexact Rounded 1487db96d56Sopenharmony_cidivx135 divide 12345 5.01 -> 2464.07186 Inexact Rounded 1497db96d56Sopenharmony_cidivx136 divide 12345 5.001 -> 2468.50630 Inexact Rounded 1507db96d56Sopenharmony_ci 1517db96d56Sopenharmony_ciprecision: 9 1527db96d56Sopenharmony_cimaxexponent: 999999999 1537db96d56Sopenharmony_ciminexponent: -999999999 1547db96d56Sopenharmony_ci 1557db96d56Sopenharmony_ci-- test possibly imprecise results 1567db96d56Sopenharmony_cidivx220 divide 391 597 -> 0.654941374 Inexact Rounded 1577db96d56Sopenharmony_cidivx221 divide 391 -597 -> -0.654941374 Inexact Rounded 1587db96d56Sopenharmony_cidivx222 divide -391 597 -> -0.654941374 Inexact Rounded 1597db96d56Sopenharmony_cidivx223 divide -391 -597 -> 0.654941374 Inexact Rounded 1607db96d56Sopenharmony_ci 1617db96d56Sopenharmony_ci-- test some cases that are close to exponent overflow 1627db96d56Sopenharmony_cimaxexponent: 999999999 1637db96d56Sopenharmony_ciminexponent: -999999999 1647db96d56Sopenharmony_cidivx270 divide 1 1e999999999 -> 1E-999999999 1657db96d56Sopenharmony_cidivx271 divide 1 0.9e999999999 -> 1.11111111E-999999999 Inexact Rounded 1667db96d56Sopenharmony_cidivx272 divide 1 0.99e999999999 -> 1.01010101E-999999999 Inexact Rounded 1677db96d56Sopenharmony_cidivx273 divide 1 0.999999999e999999999 -> 1.00000000E-999999999 Inexact Rounded 1687db96d56Sopenharmony_cidivx274 divide 9e999999999 1 -> 9E+999999999 1697db96d56Sopenharmony_cidivx275 divide 9.9e999999999 1 -> 9.9E+999999999 1707db96d56Sopenharmony_cidivx276 divide 9.99e999999999 1 -> 9.99E+999999999 1717db96d56Sopenharmony_cidivx277 divide 9.99999999e999999999 1 -> 9.99999999E+999999999 1727db96d56Sopenharmony_ci 1737db96d56Sopenharmony_cidivx280 divide 0.1 9e-999999999 -> 1.11111111E+999999997 Inexact Rounded 1747db96d56Sopenharmony_cidivx281 divide 0.1 99e-999999999 -> 1.01010101E+999999996 Inexact Rounded 1757db96d56Sopenharmony_cidivx282 divide 0.1 999e-999999999 -> 1.00100100E+999999995 Inexact Rounded 1767db96d56Sopenharmony_ci 1777db96d56Sopenharmony_cidivx283 divide 0.1 9e-999999998 -> 1.11111111E+999999996 Inexact Rounded 1787db96d56Sopenharmony_cidivx284 divide 0.1 99e-999999998 -> 1.01010101E+999999995 Inexact Rounded 1797db96d56Sopenharmony_cidivx285 divide 0.1 999e-999999998 -> 1.00100100E+999999994 Inexact Rounded 1807db96d56Sopenharmony_cidivx286 divide 0.1 999e-999999997 -> 1.00100100E+999999993 Inexact Rounded 1817db96d56Sopenharmony_cidivx287 divide 0.1 9999e-999999997 -> 1.00010001E+999999992 Inexact Rounded 1827db96d56Sopenharmony_cidivx288 divide 0.1 99999e-999999997 -> 1.00001000E+999999991 Inexact Rounded 1837db96d56Sopenharmony_ci 1847db96d56Sopenharmony_ci-- Divide into 0 tests 1857db96d56Sopenharmony_ci 1867db96d56Sopenharmony_cidivx301 divide 0 7 -> 0 1877db96d56Sopenharmony_cidivx302 divide 0 7E-5 -> 0E+5 1887db96d56Sopenharmony_cidivx303 divide 0 7E-1 -> 0E+1 1897db96d56Sopenharmony_cidivx304 divide 0 7E+1 -> 0.0 1907db96d56Sopenharmony_cidivx305 divide 0 7E+5 -> 0.00000 1917db96d56Sopenharmony_cidivx306 divide 0 7E+6 -> 0.000000 1927db96d56Sopenharmony_cidivx307 divide 0 7E+7 -> 0E-7 1937db96d56Sopenharmony_cidivx308 divide 0 70E-5 -> 0E+5 1947db96d56Sopenharmony_cidivx309 divide 0 70E-1 -> 0E+1 1957db96d56Sopenharmony_cidivx310 divide 0 70E+0 -> 0 1967db96d56Sopenharmony_cidivx311 divide 0 70E+1 -> 0.0 1977db96d56Sopenharmony_cidivx312 divide 0 70E+5 -> 0.00000 1987db96d56Sopenharmony_cidivx313 divide 0 70E+6 -> 0.000000 1997db96d56Sopenharmony_cidivx314 divide 0 70E+7 -> 0E-7 2007db96d56Sopenharmony_cidivx315 divide 0 700E-5 -> 0E+5 2017db96d56Sopenharmony_cidivx316 divide 0 700E-1 -> 0E+1 2027db96d56Sopenharmony_cidivx317 divide 0 700E+0 -> 0 2037db96d56Sopenharmony_cidivx318 divide 0 700E+1 -> 0.0 2047db96d56Sopenharmony_cidivx319 divide 0 700E+5 -> 0.00000 2057db96d56Sopenharmony_cidivx320 divide 0 700E+6 -> 0.000000 2067db96d56Sopenharmony_cidivx321 divide 0 700E+7 -> 0E-7 2077db96d56Sopenharmony_cidivx322 divide 0 700E+77 -> 0E-77 2087db96d56Sopenharmony_ci 2097db96d56Sopenharmony_cidivx331 divide 0E-3 7E-5 -> 0E+2 2107db96d56Sopenharmony_cidivx332 divide 0E-3 7E-1 -> 0.00 2117db96d56Sopenharmony_cidivx333 divide 0E-3 7E+1 -> 0.0000 2127db96d56Sopenharmony_cidivx334 divide 0E-3 7E+5 -> 0E-8 2137db96d56Sopenharmony_cidivx335 divide 0E-1 7E-5 -> 0E+4 2147db96d56Sopenharmony_cidivx336 divide 0E-1 7E-1 -> 0 2157db96d56Sopenharmony_cidivx337 divide 0E-1 7E+1 -> 0.00 2167db96d56Sopenharmony_cidivx338 divide 0E-1 7E+5 -> 0.000000 2177db96d56Sopenharmony_cidivx339 divide 0E+1 7E-5 -> 0E+6 2187db96d56Sopenharmony_cidivx340 divide 0E+1 7E-1 -> 0E+2 2197db96d56Sopenharmony_cidivx341 divide 0E+1 7E+1 -> 0 2207db96d56Sopenharmony_cidivx342 divide 0E+1 7E+5 -> 0.0000 2217db96d56Sopenharmony_cidivx343 divide 0E+3 7E-5 -> 0E+8 2227db96d56Sopenharmony_cidivx344 divide 0E+3 7E-1 -> 0E+4 2237db96d56Sopenharmony_cidivx345 divide 0E+3 7E+1 -> 0E+2 2247db96d56Sopenharmony_cidivx346 divide 0E+3 7E+5 -> 0.00 2257db96d56Sopenharmony_ci 2267db96d56Sopenharmony_cimaxexponent: 92 2277db96d56Sopenharmony_ciminexponent: -92 2287db96d56Sopenharmony_ciprecision: 7 2297db96d56Sopenharmony_cidivx351 divide 0E-92 7E-1 -> 0E-91 2307db96d56Sopenharmony_cidivx352 divide 0E-92 7E+1 -> 0E-93 2317db96d56Sopenharmony_cidivx353 divide 0E-92 7E+5 -> 0E-97 2327db96d56Sopenharmony_cidivx354 divide 0E-92 7E+6 -> 0E-98 2337db96d56Sopenharmony_cidivx355 divide 0E-92 7E+7 -> 0E-98 Clamped 2347db96d56Sopenharmony_cidivx356 divide 0E-92 777E-1 -> 0E-91 2357db96d56Sopenharmony_cidivx357 divide 0E-92 777E+1 -> 0E-93 2367db96d56Sopenharmony_cidivx358 divide 0E-92 777E+3 -> 0E-95 2377db96d56Sopenharmony_cidivx359 divide 0E-92 777E+4 -> 0E-96 2387db96d56Sopenharmony_cidivx360 divide 0E-92 777E+5 -> 0E-97 2397db96d56Sopenharmony_cidivx361 divide 0E-92 777E+6 -> 0E-98 2407db96d56Sopenharmony_cidivx362 divide 0E-92 777E+7 -> 0E-98 Clamped 2417db96d56Sopenharmony_cidivx363 divide 0E-92 7E+92 -> 0E-98 Clamped 2427db96d56Sopenharmony_ci 2437db96d56Sopenharmony_cidivx371 divide 0E-92 700E-1 -> 0E-91 2447db96d56Sopenharmony_cidivx372 divide 0E-92 700E+1 -> 0E-93 2457db96d56Sopenharmony_cidivx373 divide 0E-92 700E+3 -> 0E-95 2467db96d56Sopenharmony_cidivx374 divide 0E-92 700E+4 -> 0E-96 2477db96d56Sopenharmony_cidivx375 divide 0E-92 700E+5 -> 0E-97 2487db96d56Sopenharmony_cidivx376 divide 0E-92 700E+6 -> 0E-98 2497db96d56Sopenharmony_cidivx377 divide 0E-92 700E+7 -> 0E-98 Clamped 2507db96d56Sopenharmony_ci 2517db96d56Sopenharmony_cidivx381 divide 0E+92 7E+1 -> 0E+91 2527db96d56Sopenharmony_cidivx382 divide 0E+92 7E+0 -> 0E+92 2537db96d56Sopenharmony_cidivx383 divide 0E+92 7E-1 -> 0E+92 Clamped 2547db96d56Sopenharmony_cidivx384 divide 0E+90 777E+1 -> 0E+89 2557db96d56Sopenharmony_cidivx385 divide 0E+90 777E-1 -> 0E+91 2567db96d56Sopenharmony_cidivx386 divide 0E+90 777E-2 -> 0E+92 2577db96d56Sopenharmony_cidivx387 divide 0E+90 777E-3 -> 0E+92 Clamped 2587db96d56Sopenharmony_cidivx388 divide 0E+90 777E-4 -> 0E+92 Clamped 2597db96d56Sopenharmony_ci 2607db96d56Sopenharmony_cidivx391 divide 0E+90 700E+1 -> 0E+89 2617db96d56Sopenharmony_cidivx392 divide 0E+90 700E-1 -> 0E+91 2627db96d56Sopenharmony_cidivx393 divide 0E+90 700E-2 -> 0E+92 2637db96d56Sopenharmony_cidivx394 divide 0E+90 700E-3 -> 0E+92 Clamped 2647db96d56Sopenharmony_cidivx395 divide 0E+90 700E-4 -> 0E+92 Clamped 2657db96d56Sopenharmony_ci 2667db96d56Sopenharmony_ci-- input rounding checks 2677db96d56Sopenharmony_cimaxexponent: 999 2687db96d56Sopenharmony_ciminexponent: -999 2697db96d56Sopenharmony_ciprecision: 9 2707db96d56Sopenharmony_cidivx401 divide 12345678000 1 -> 1.23456780E+10 Rounded 2717db96d56Sopenharmony_cidivx402 divide 1 12345678000 -> 8.10000066E-11 Inexact Rounded 2727db96d56Sopenharmony_cidivx403 divide 1234567800 1 -> 1.23456780E+9 Rounded 2737db96d56Sopenharmony_cidivx404 divide 1 1234567800 -> 8.10000066E-10 Inexact Rounded 2747db96d56Sopenharmony_cidivx405 divide 1234567890 1 -> 1.23456789E+9 Rounded 2757db96d56Sopenharmony_cidivx406 divide 1 1234567890 -> 8.10000007E-10 Inexact Rounded 2767db96d56Sopenharmony_cidivx407 divide 1234567891 1 -> 1.23456789E+9 Inexact Rounded 2777db96d56Sopenharmony_cidivx408 divide 1 1234567891 -> 8.10000007E-10 Inexact Rounded 2787db96d56Sopenharmony_cidivx409 divide 12345678901 1 -> 1.23456789E+10 Inexact Rounded 2797db96d56Sopenharmony_cidivx410 divide 1 12345678901 -> 8.10000007E-11 Inexact Rounded 2807db96d56Sopenharmony_cidivx411 divide 1234567896 1 -> 1.23456790E+9 Inexact Rounded 2817db96d56Sopenharmony_cidivx412 divide 1 1234567896 -> 8.10000003E-10 Inexact Rounded 2827db96d56Sopenharmony_cidivx413 divide 1 1234567897 -> 8.10000003E-10 Inexact Rounded 2837db96d56Sopenharmony_cidivx414 divide 1 1234567898 -> 8.10000002E-10 Inexact Rounded 2847db96d56Sopenharmony_cidivx415 divide 1 1234567899 -> 8.10000001E-10 Inexact Rounded 2857db96d56Sopenharmony_cidivx416 divide 1 1234567900 -> 8.10000001E-10 Inexact Rounded 2867db96d56Sopenharmony_cidivx417 divide 1 1234567901 -> 8.10000000E-10 Inexact Rounded 2877db96d56Sopenharmony_cidivx418 divide 1 1234567902 -> 8.09999999E-10 Inexact Rounded 2887db96d56Sopenharmony_ci-- some longies 2897db96d56Sopenharmony_cidivx421 divide 1234567896.000000000000 1 -> 1.23456790E+9 Inexact Rounded 2907db96d56Sopenharmony_cidivx422 divide 1 1234567896.000000000000 -> 8.10000003E-10 Inexact Rounded 2917db96d56Sopenharmony_cidivx423 divide 1234567896.000000000001 1 -> 1.23456790E+9 Inexact Rounded 2927db96d56Sopenharmony_cidivx424 divide 1 1234567896.000000000001 -> 8.10000003E-10 Inexact Rounded 2937db96d56Sopenharmony_cidivx425 divide 1234567896.000000000000000000000000000000000000000009 1 -> 1.23456790E+9 Inexact Rounded 2947db96d56Sopenharmony_cidivx426 divide 1 1234567896.000000000000000000000000000000000000000009 -> 8.10000003E-10 Inexact Rounded 2957db96d56Sopenharmony_cidivx427 divide 1234567897.900010000000000000000000000000000000000009 1 -> 1.23456790E+9 Inexact Rounded 2967db96d56Sopenharmony_cidivx428 divide 1 1234567897.900010000000000000000000000000000000000009 -> 8.10000002E-10 Inexact Rounded 2977db96d56Sopenharmony_ci 2987db96d56Sopenharmony_ciprecision: 15 2997db96d56Sopenharmony_ci-- still checking... 3007db96d56Sopenharmony_cidivx441 divide 12345678000 1 -> 12345678000 3017db96d56Sopenharmony_cidivx442 divide 1 12345678000 -> 8.10000066420005E-11 Inexact Rounded 3027db96d56Sopenharmony_cidivx443 divide 1234567800 1 -> 1234567800 3037db96d56Sopenharmony_cidivx444 divide 1 1234567800 -> 8.10000066420005E-10 Inexact Rounded 3047db96d56Sopenharmony_cidivx445 divide 1234567890 1 -> 1234567890 3057db96d56Sopenharmony_cidivx446 divide 1 1234567890 -> 8.10000007371000E-10 Inexact Rounded 3067db96d56Sopenharmony_cidivx447 divide 1234567891 1 -> 1234567891 3077db96d56Sopenharmony_cidivx448 divide 1 1234567891 -> 8.10000006714900E-10 Inexact Rounded 3087db96d56Sopenharmony_cidivx449 divide 12345678901 1 -> 12345678901 3097db96d56Sopenharmony_cidivx450 divide 1 12345678901 -> 8.10000007305390E-11 Inexact Rounded 3107db96d56Sopenharmony_cidivx451 divide 1234567896 1 -> 1234567896 3117db96d56Sopenharmony_cidivx452 divide 1 1234567896 -> 8.10000003434400E-10 Inexact Rounded 3127db96d56Sopenharmony_ci 3137db96d56Sopenharmony_ci-- high-lows 3147db96d56Sopenharmony_cidivx453 divide 1e+1 1 -> 1E+1 3157db96d56Sopenharmony_cidivx454 divide 1e+1 1.0 -> 1E+1 3167db96d56Sopenharmony_cidivx455 divide 1e+1 1.00 -> 1E+1 3177db96d56Sopenharmony_cidivx456 divide 1e+2 2 -> 5E+1 3187db96d56Sopenharmony_cidivx457 divide 1e+2 2.0 -> 5E+1 3197db96d56Sopenharmony_cidivx458 divide 1e+2 2.00 -> 5E+1 3207db96d56Sopenharmony_ci 3217db96d56Sopenharmony_ci-- some from IEEE discussions 3227db96d56Sopenharmony_cidivx460 divide 3e0 2e0 -> 1.5 3237db96d56Sopenharmony_cidivx461 divide 30e-1 2e0 -> 1.5 3247db96d56Sopenharmony_cidivx462 divide 300e-2 2e0 -> 1.50 3257db96d56Sopenharmony_cidivx464 divide 3000e-3 2e0 -> 1.500 3267db96d56Sopenharmony_cidivx465 divide 3e0 20e-1 -> 1.5 3277db96d56Sopenharmony_cidivx466 divide 30e-1 20e-1 -> 1.5 3287db96d56Sopenharmony_cidivx467 divide 300e-2 20e-1 -> 1.5 3297db96d56Sopenharmony_cidivx468 divide 3000e-3 20e-1 -> 1.50 3307db96d56Sopenharmony_cidivx469 divide 3e0 200e-2 -> 1.5 3317db96d56Sopenharmony_cidivx470 divide 30e-1 200e-2 -> 1.5 3327db96d56Sopenharmony_cidivx471 divide 300e-2 200e-2 -> 1.5 3337db96d56Sopenharmony_cidivx472 divide 3000e-3 200e-2 -> 1.5 3347db96d56Sopenharmony_cidivx473 divide 3e0 2000e-3 -> 1.5 3357db96d56Sopenharmony_cidivx474 divide 30e-1 2000e-3 -> 1.5 3367db96d56Sopenharmony_cidivx475 divide 300e-2 2000e-3 -> 1.5 3377db96d56Sopenharmony_cidivx476 divide 3000e-3 2000e-3 -> 1.5 3387db96d56Sopenharmony_ci 3397db96d56Sopenharmony_ci-- some reciprocals 3407db96d56Sopenharmony_cidivx480 divide 1 1.0E+33 -> 1E-33 3417db96d56Sopenharmony_cidivx481 divide 1 10E+33 -> 1E-34 3427db96d56Sopenharmony_cidivx482 divide 1 1.0E-33 -> 1E+33 3437db96d56Sopenharmony_cidivx483 divide 1 10E-33 -> 1E+32 3447db96d56Sopenharmony_ci 3457db96d56Sopenharmony_ci-- RMS discussion table 3467db96d56Sopenharmony_cimaxexponent: 96 3477db96d56Sopenharmony_ciminexponent: -95 3487db96d56Sopenharmony_ciprecision: 7 3497db96d56Sopenharmony_ci 3507db96d56Sopenharmony_cidivx484 divide 0e5 1e3 -> 0E+2 3517db96d56Sopenharmony_cidivx485 divide 0e5 2e3 -> 0E+2 3527db96d56Sopenharmony_cidivx486 divide 0e5 10e2 -> 0E+3 3537db96d56Sopenharmony_cidivx487 divide 0e5 20e2 -> 0E+3 3547db96d56Sopenharmony_cidivx488 divide 0e5 100e1 -> 0E+4 3557db96d56Sopenharmony_cidivx489 divide 0e5 200e1 -> 0E+4 3567db96d56Sopenharmony_ci 3577db96d56Sopenharmony_cidivx491 divide 1e5 1e3 -> 1E+2 3587db96d56Sopenharmony_cidivx492 divide 1e5 2e3 -> 5E+1 3597db96d56Sopenharmony_cidivx493 divide 1e5 10e2 -> 1E+2 3607db96d56Sopenharmony_cidivx494 divide 1e5 20e2 -> 5E+1 3617db96d56Sopenharmony_cidivx495 divide 1e5 100e1 -> 1E+2 3627db96d56Sopenharmony_cidivx496 divide 1e5 200e1 -> 5E+1 3637db96d56Sopenharmony_ci 3647db96d56Sopenharmony_ci-- tryzeros cases 3657db96d56Sopenharmony_ciprecision: 7 3667db96d56Sopenharmony_cirounding: half_up 3677db96d56Sopenharmony_cimaxExponent: 92 3687db96d56Sopenharmony_ciminexponent: -92 3697db96d56Sopenharmony_cidivx497 divide 0E+86 1000E-13 -> 0E+92 Clamped 3707db96d56Sopenharmony_cidivx498 divide 0E-98 1000E+13 -> 0E-98 Clamped 3717db96d56Sopenharmony_ci 3727db96d56Sopenharmony_ciprecision: 9 3737db96d56Sopenharmony_cirounding: half_up 3747db96d56Sopenharmony_cimaxExponent: 999 3757db96d56Sopenharmony_ciminexponent: -999 3767db96d56Sopenharmony_ci 3777db96d56Sopenharmony_ci-- focus on trailing zeros issues 3787db96d56Sopenharmony_ciprecision: 9 3797db96d56Sopenharmony_cidivx500 divide 1 9.9 -> 0.101010101 Inexact Rounded 3807db96d56Sopenharmony_ciprecision: 8 3817db96d56Sopenharmony_cidivx501 divide 1 9.9 -> 0.10101010 Inexact Rounded 3827db96d56Sopenharmony_ciprecision: 7 3837db96d56Sopenharmony_cidivx502 divide 1 9.9 -> 0.1010101 Inexact Rounded 3847db96d56Sopenharmony_ciprecision: 6 3857db96d56Sopenharmony_cidivx503 divide 1 9.9 -> 0.101010 Inexact Rounded 3867db96d56Sopenharmony_ciprecision: 9 3877db96d56Sopenharmony_ci 3887db96d56Sopenharmony_cidivx511 divide 1 2 -> 0.5 3897db96d56Sopenharmony_cidivx512 divide 1.0 2 -> 0.5 3907db96d56Sopenharmony_cidivx513 divide 1.00 2 -> 0.50 3917db96d56Sopenharmony_cidivx514 divide 1.000 2 -> 0.500 3927db96d56Sopenharmony_cidivx515 divide 1.0000 2 -> 0.5000 3937db96d56Sopenharmony_cidivx516 divide 1.00000 2 -> 0.50000 3947db96d56Sopenharmony_cidivx517 divide 1.000000 2 -> 0.500000 3957db96d56Sopenharmony_cidivx518 divide 1.0000000 2 -> 0.5000000 3967db96d56Sopenharmony_cidivx519 divide 1.00 2.00 -> 0.5 3977db96d56Sopenharmony_ci 3987db96d56Sopenharmony_cidivx521 divide 2 1 -> 2 3997db96d56Sopenharmony_cidivx522 divide 2 1.0 -> 2 4007db96d56Sopenharmony_cidivx523 divide 2 1.00 -> 2 4017db96d56Sopenharmony_cidivx524 divide 2 1.000 -> 2 4027db96d56Sopenharmony_cidivx525 divide 2 1.0000 -> 2 4037db96d56Sopenharmony_cidivx526 divide 2 1.00000 -> 2 4047db96d56Sopenharmony_cidivx527 divide 2 1.000000 -> 2 4057db96d56Sopenharmony_cidivx528 divide 2 1.0000000 -> 2 4067db96d56Sopenharmony_cidivx529 divide 2.00 1.00 -> 2 4077db96d56Sopenharmony_ci 4087db96d56Sopenharmony_cidivx530 divide 2.40 2 -> 1.20 4097db96d56Sopenharmony_cidivx531 divide 2.40 4 -> 0.60 4107db96d56Sopenharmony_cidivx532 divide 2.40 10 -> 0.24 4117db96d56Sopenharmony_cidivx533 divide 2.40 2.0 -> 1.2 4127db96d56Sopenharmony_cidivx534 divide 2.40 4.0 -> 0.6 4137db96d56Sopenharmony_cidivx535 divide 2.40 10.0 -> 0.24 4147db96d56Sopenharmony_cidivx536 divide 2.40 2.00 -> 1.2 4157db96d56Sopenharmony_cidivx537 divide 2.40 4.00 -> 0.6 4167db96d56Sopenharmony_cidivx538 divide 2.40 10.00 -> 0.24 4177db96d56Sopenharmony_cidivx539 divide 0.9 0.1 -> 9 4187db96d56Sopenharmony_cidivx540 divide 0.9 0.01 -> 9E+1 4197db96d56Sopenharmony_cidivx541 divide 0.9 0.001 -> 9E+2 4207db96d56Sopenharmony_cidivx542 divide 5 2 -> 2.5 4217db96d56Sopenharmony_cidivx543 divide 5 2.0 -> 2.5 4227db96d56Sopenharmony_cidivx544 divide 5 2.00 -> 2.5 4237db96d56Sopenharmony_cidivx545 divide 5 20 -> 0.25 4247db96d56Sopenharmony_cidivx546 divide 5 20.0 -> 0.25 4257db96d56Sopenharmony_cidivx547 divide 2.400 2 -> 1.200 4267db96d56Sopenharmony_cidivx548 divide 2.400 2.0 -> 1.20 4277db96d56Sopenharmony_cidivx549 divide 2.400 2.400 -> 1 4287db96d56Sopenharmony_ci 4297db96d56Sopenharmony_cidivx550 divide 240 1 -> 240 4307db96d56Sopenharmony_cidivx551 divide 240 10 -> 24 4317db96d56Sopenharmony_cidivx552 divide 240 100 -> 2.4 4327db96d56Sopenharmony_cidivx553 divide 240 1000 -> 0.24 4337db96d56Sopenharmony_cidivx554 divide 2400 1 -> 2400 4347db96d56Sopenharmony_cidivx555 divide 2400 10 -> 240 4357db96d56Sopenharmony_cidivx556 divide 2400 100 -> 24 4367db96d56Sopenharmony_cidivx557 divide 2400 1000 -> 2.4 4377db96d56Sopenharmony_ci 4387db96d56Sopenharmony_ci-- +ve exponent 4397db96d56Sopenharmony_ciprecision: 5 4407db96d56Sopenharmony_cidivx570 divide 2.4E+6 2 -> 1.2E+6 4417db96d56Sopenharmony_cidivx571 divide 2.40E+6 2 -> 1.20E+6 4427db96d56Sopenharmony_cidivx572 divide 2.400E+6 2 -> 1.200E+6 4437db96d56Sopenharmony_cidivx573 divide 2.4000E+6 2 -> 1.2000E+6 4447db96d56Sopenharmony_cidivx574 divide 24E+5 2 -> 1.2E+6 4457db96d56Sopenharmony_cidivx575 divide 240E+4 2 -> 1.20E+6 4467db96d56Sopenharmony_cidivx576 divide 2400E+3 2 -> 1.200E+6 4477db96d56Sopenharmony_cidivx577 divide 24000E+2 2 -> 1.2000E+6 4487db96d56Sopenharmony_ciprecision: 6 4497db96d56Sopenharmony_cidivx580 divide 2.4E+6 2 -> 1.2E+6 4507db96d56Sopenharmony_cidivx581 divide 2.40E+6 2 -> 1.20E+6 4517db96d56Sopenharmony_cidivx582 divide 2.400E+6 2 -> 1.200E+6 4527db96d56Sopenharmony_cidivx583 divide 2.4000E+6 2 -> 1.2000E+6 4537db96d56Sopenharmony_cidivx584 divide 24E+5 2 -> 1.2E+6 4547db96d56Sopenharmony_cidivx585 divide 240E+4 2 -> 1.20E+6 4557db96d56Sopenharmony_cidivx586 divide 2400E+3 2 -> 1.200E+6 4567db96d56Sopenharmony_cidivx587 divide 24000E+2 2 -> 1.2000E+6 4577db96d56Sopenharmony_ciprecision: 7 4587db96d56Sopenharmony_cidivx590 divide 2.4E+6 2 -> 1.2E+6 4597db96d56Sopenharmony_cidivx591 divide 2.40E+6 2 -> 1.20E+6 4607db96d56Sopenharmony_cidivx592 divide 2.400E+6 2 -> 1.200E+6 4617db96d56Sopenharmony_cidivx593 divide 2.4000E+6 2 -> 1.2000E+6 4627db96d56Sopenharmony_cidivx594 divide 24E+5 2 -> 1.2E+6 4637db96d56Sopenharmony_cidivx595 divide 240E+4 2 -> 1.20E+6 4647db96d56Sopenharmony_cidivx596 divide 2400E+3 2 -> 1.200E+6 4657db96d56Sopenharmony_cidivx597 divide 24000E+2 2 -> 1.2000E+6 4667db96d56Sopenharmony_ciprecision: 9 4677db96d56Sopenharmony_cidivx600 divide 2.4E+9 2 -> 1.2E+9 4687db96d56Sopenharmony_cidivx601 divide 2.40E+9 2 -> 1.20E+9 4697db96d56Sopenharmony_cidivx602 divide 2.400E+9 2 -> 1.200E+9 4707db96d56Sopenharmony_cidivx603 divide 2.4000E+9 2 -> 1.2000E+9 4717db96d56Sopenharmony_cidivx604 divide 24E+8 2 -> 1.2E+9 4727db96d56Sopenharmony_cidivx605 divide 240E+7 2 -> 1.20E+9 4737db96d56Sopenharmony_cidivx606 divide 2400E+6 2 -> 1.200E+9 4747db96d56Sopenharmony_cidivx607 divide 24000E+5 2 -> 1.2000E+9 4757db96d56Sopenharmony_ci 4767db96d56Sopenharmony_ci-- long operand triangle 4777db96d56Sopenharmony_ciprecision: 33 4787db96d56Sopenharmony_cidivx610 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097703792 Inexact Rounded 4797db96d56Sopenharmony_ciprecision: 32 4807db96d56Sopenharmony_cidivx611 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770379 Inexact Rounded 4817db96d56Sopenharmony_ciprecision: 31 4827db96d56Sopenharmony_cidivx612 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977038 Inexact Rounded 4837db96d56Sopenharmony_ciprecision: 30 4847db96d56Sopenharmony_cidivx613 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131097704 Inexact Rounded 4857db96d56Sopenharmony_ciprecision: 29 4867db96d56Sopenharmony_cidivx614 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813109770 Inexact Rounded 4877db96d56Sopenharmony_ciprecision: 28 4887db96d56Sopenharmony_cidivx615 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81310977 Inexact Rounded 4897db96d56Sopenharmony_ciprecision: 27 4907db96d56Sopenharmony_cidivx616 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131098 Inexact Rounded 4917db96d56Sopenharmony_ciprecision: 26 4927db96d56Sopenharmony_cidivx617 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813110 Inexact Rounded 4937db96d56Sopenharmony_ciprecision: 25 4947db96d56Sopenharmony_cidivx618 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81311 Inexact Rounded 4957db96d56Sopenharmony_ciprecision: 24 4967db96d56Sopenharmony_cidivx619 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8131 Inexact Rounded 4977db96d56Sopenharmony_ciprecision: 23 4987db96d56Sopenharmony_cidivx620 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.813 Inexact Rounded 4997db96d56Sopenharmony_ciprecision: 22 5007db96d56Sopenharmony_cidivx621 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.81 Inexact Rounded 5017db96d56Sopenharmony_ciprecision: 21 5027db96d56Sopenharmony_cidivx622 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817797.8 Inexact Rounded 5037db96d56Sopenharmony_ciprecision: 20 5047db96d56Sopenharmony_cidivx623 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -41011408883796817798 Inexact Rounded 5057db96d56Sopenharmony_ciprecision: 19 5067db96d56Sopenharmony_cidivx624 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379681780E+19 Inexact Rounded 5077db96d56Sopenharmony_ciprecision: 18 5087db96d56Sopenharmony_cidivx625 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968178E+19 Inexact Rounded 5097db96d56Sopenharmony_ciprecision: 17 5107db96d56Sopenharmony_cidivx626 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883796818E+19 Inexact Rounded 5117db96d56Sopenharmony_ciprecision: 16 5127db96d56Sopenharmony_cidivx627 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888379682E+19 Inexact Rounded 5137db96d56Sopenharmony_ciprecision: 15 5147db96d56Sopenharmony_cidivx628 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088837968E+19 Inexact Rounded 5157db96d56Sopenharmony_ciprecision: 14 5167db96d56Sopenharmony_cidivx629 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408883797E+19 Inexact Rounded 5177db96d56Sopenharmony_ciprecision: 13 5187db96d56Sopenharmony_cidivx630 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888380E+19 Inexact Rounded 5197db96d56Sopenharmony_ciprecision: 12 5207db96d56Sopenharmony_cidivx631 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114088838E+19 Inexact Rounded 5217db96d56Sopenharmony_ciprecision: 11 5227db96d56Sopenharmony_cidivx632 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011408884E+19 Inexact Rounded 5237db96d56Sopenharmony_ciprecision: 10 5247db96d56Sopenharmony_cidivx633 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101140888E+19 Inexact Rounded 5257db96d56Sopenharmony_ciprecision: 9 5267db96d56Sopenharmony_cidivx634 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114089E+19 Inexact Rounded 5277db96d56Sopenharmony_ciprecision: 8 5287db96d56Sopenharmony_cidivx635 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011409E+19 Inexact Rounded 5297db96d56Sopenharmony_ciprecision: 7 5307db96d56Sopenharmony_cidivx636 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101141E+19 Inexact Rounded 5317db96d56Sopenharmony_ciprecision: 6 5327db96d56Sopenharmony_cidivx637 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10114E+19 Inexact Rounded 5337db96d56Sopenharmony_ciprecision: 5 5347db96d56Sopenharmony_cidivx638 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1011E+19 Inexact Rounded 5357db96d56Sopenharmony_ciprecision: 4 5367db96d56Sopenharmony_cidivx639 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.101E+19 Inexact Rounded 5377db96d56Sopenharmony_ciprecision: 3 5387db96d56Sopenharmony_cidivx640 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.10E+19 Inexact Rounded 5397db96d56Sopenharmony_ciprecision: 2 5407db96d56Sopenharmony_cidivx641 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4.1E+19 Inexact Rounded 5417db96d56Sopenharmony_ciprecision: 1 5427db96d56Sopenharmony_cidivx642 divide -3374988581607586061255542201048 82293895124.90045271504836568681 -> -4E+19 Inexact Rounded 5437db96d56Sopenharmony_ci 5447db96d56Sopenharmony_ci-- more zeros, etc. 5457db96d56Sopenharmony_ciprecision: 16 5467db96d56Sopenharmony_cirounding: half_up 5477db96d56Sopenharmony_cimaxExponent: 384 5487db96d56Sopenharmony_ciminExponent: -383 5497db96d56Sopenharmony_ci 5507db96d56Sopenharmony_cidivx731 divide 5.00 1E-3 -> 5.00E+3 5517db96d56Sopenharmony_cidivx732 divide 00.00 0.000 -> NaN Division_undefined 5527db96d56Sopenharmony_cidivx733 divide 00.00 0E-3 -> NaN Division_undefined 5537db96d56Sopenharmony_cidivx734 divide 0 -0 -> NaN Division_undefined 5547db96d56Sopenharmony_cidivx735 divide -0 0 -> NaN Division_undefined 5557db96d56Sopenharmony_cidivx736 divide -0 -0 -> NaN Division_undefined 5567db96d56Sopenharmony_ci 5577db96d56Sopenharmony_cidivx741 divide 0 -1 -> -0 5587db96d56Sopenharmony_cidivx742 divide -0 -1 -> 0 5597db96d56Sopenharmony_cidivx743 divide 0 1 -> 0 5607db96d56Sopenharmony_cidivx744 divide -0 1 -> -0 5617db96d56Sopenharmony_cidivx745 divide -1 0 -> -Infinity Division_by_zero 5627db96d56Sopenharmony_cidivx746 divide -1 -0 -> Infinity Division_by_zero 5637db96d56Sopenharmony_cidivx747 divide 1 0 -> Infinity Division_by_zero 5647db96d56Sopenharmony_cidivx748 divide 1 -0 -> -Infinity Division_by_zero 5657db96d56Sopenharmony_ci 5667db96d56Sopenharmony_cidivx751 divide 0.0 -1 -> -0.0 5677db96d56Sopenharmony_cidivx752 divide -0.0 -1 -> 0.0 5687db96d56Sopenharmony_cidivx753 divide 0.0 1 -> 0.0 5697db96d56Sopenharmony_cidivx754 divide -0.0 1 -> -0.0 5707db96d56Sopenharmony_cidivx755 divide -1.0 0 -> -Infinity Division_by_zero 5717db96d56Sopenharmony_cidivx756 divide -1.0 -0 -> Infinity Division_by_zero 5727db96d56Sopenharmony_cidivx757 divide 1.0 0 -> Infinity Division_by_zero 5737db96d56Sopenharmony_cidivx758 divide 1.0 -0 -> -Infinity Division_by_zero 5747db96d56Sopenharmony_ci 5757db96d56Sopenharmony_cidivx761 divide 0 -1.0 -> -0E+1 5767db96d56Sopenharmony_cidivx762 divide -0 -1.0 -> 0E+1 5777db96d56Sopenharmony_cidivx763 divide 0 1.0 -> 0E+1 5787db96d56Sopenharmony_cidivx764 divide -0 1.0 -> -0E+1 5797db96d56Sopenharmony_cidivx765 divide -1 0.0 -> -Infinity Division_by_zero 5807db96d56Sopenharmony_cidivx766 divide -1 -0.0 -> Infinity Division_by_zero 5817db96d56Sopenharmony_cidivx767 divide 1 0.0 -> Infinity Division_by_zero 5827db96d56Sopenharmony_cidivx768 divide 1 -0.0 -> -Infinity Division_by_zero 5837db96d56Sopenharmony_ci 5847db96d56Sopenharmony_cidivx771 divide 0.0 -1.0 -> -0 5857db96d56Sopenharmony_cidivx772 divide -0.0 -1.0 -> 0 5867db96d56Sopenharmony_cidivx773 divide 0.0 1.0 -> 0 5877db96d56Sopenharmony_cidivx774 divide -0.0 1.0 -> -0 5887db96d56Sopenharmony_cidivx775 divide -1.0 0.0 -> -Infinity Division_by_zero 5897db96d56Sopenharmony_cidivx776 divide -1.0 -0.0 -> Infinity Division_by_zero 5907db96d56Sopenharmony_cidivx777 divide 1.0 0.0 -> Infinity Division_by_zero 5917db96d56Sopenharmony_cidivx778 divide 1.0 -0.0 -> -Infinity Division_by_zero 5927db96d56Sopenharmony_ci 5937db96d56Sopenharmony_ci-- Specials 5947db96d56Sopenharmony_cidivx780 divide Inf -Inf -> NaN Invalid_operation 5957db96d56Sopenharmony_cidivx781 divide Inf -1000 -> -Infinity 5967db96d56Sopenharmony_cidivx782 divide Inf -1 -> -Infinity 5977db96d56Sopenharmony_cidivx783 divide Inf -0 -> -Infinity 5987db96d56Sopenharmony_cidivx784 divide Inf 0 -> Infinity 5997db96d56Sopenharmony_cidivx785 divide Inf 1 -> Infinity 6007db96d56Sopenharmony_cidivx786 divide Inf 1000 -> Infinity 6017db96d56Sopenharmony_cidivx787 divide Inf Inf -> NaN Invalid_operation 6027db96d56Sopenharmony_cidivx788 divide -1000 Inf -> -0E-398 Clamped 6037db96d56Sopenharmony_cidivx789 divide -Inf Inf -> NaN Invalid_operation 6047db96d56Sopenharmony_cidivx790 divide -1 Inf -> -0E-398 Clamped 6057db96d56Sopenharmony_cidivx791 divide -0 Inf -> -0E-398 Clamped 6067db96d56Sopenharmony_cidivx792 divide 0 Inf -> 0E-398 Clamped 6077db96d56Sopenharmony_cidivx793 divide 1 Inf -> 0E-398 Clamped 6087db96d56Sopenharmony_cidivx794 divide 1000 Inf -> 0E-398 Clamped 6097db96d56Sopenharmony_cidivx795 divide Inf Inf -> NaN Invalid_operation 6107db96d56Sopenharmony_ci 6117db96d56Sopenharmony_cidivx800 divide -Inf -Inf -> NaN Invalid_operation 6127db96d56Sopenharmony_cidivx801 divide -Inf -1000 -> Infinity 6137db96d56Sopenharmony_cidivx802 divide -Inf -1 -> Infinity 6147db96d56Sopenharmony_cidivx803 divide -Inf -0 -> Infinity 6157db96d56Sopenharmony_cidivx804 divide -Inf 0 -> -Infinity 6167db96d56Sopenharmony_cidivx805 divide -Inf 1 -> -Infinity 6177db96d56Sopenharmony_cidivx806 divide -Inf 1000 -> -Infinity 6187db96d56Sopenharmony_cidivx807 divide -Inf Inf -> NaN Invalid_operation 6197db96d56Sopenharmony_cidivx808 divide -1000 Inf -> -0E-398 Clamped 6207db96d56Sopenharmony_cidivx809 divide -Inf -Inf -> NaN Invalid_operation 6217db96d56Sopenharmony_cidivx810 divide -1 -Inf -> 0E-398 Clamped 6227db96d56Sopenharmony_cidivx811 divide -0 -Inf -> 0E-398 Clamped 6237db96d56Sopenharmony_cidivx812 divide 0 -Inf -> -0E-398 Clamped 6247db96d56Sopenharmony_cidivx813 divide 1 -Inf -> -0E-398 Clamped 6257db96d56Sopenharmony_cidivx814 divide 1000 -Inf -> -0E-398 Clamped 6267db96d56Sopenharmony_cidivx815 divide Inf -Inf -> NaN Invalid_operation 6277db96d56Sopenharmony_ci 6287db96d56Sopenharmony_cidivx821 divide NaN -Inf -> NaN 6297db96d56Sopenharmony_cidivx822 divide NaN -1000 -> NaN 6307db96d56Sopenharmony_cidivx823 divide NaN -1 -> NaN 6317db96d56Sopenharmony_cidivx824 divide NaN -0 -> NaN 6327db96d56Sopenharmony_cidivx825 divide NaN 0 -> NaN 6337db96d56Sopenharmony_cidivx826 divide NaN 1 -> NaN 6347db96d56Sopenharmony_cidivx827 divide NaN 1000 -> NaN 6357db96d56Sopenharmony_cidivx828 divide NaN Inf -> NaN 6367db96d56Sopenharmony_cidivx829 divide NaN NaN -> NaN 6377db96d56Sopenharmony_cidivx830 divide -Inf NaN -> NaN 6387db96d56Sopenharmony_cidivx831 divide -1000 NaN -> NaN 6397db96d56Sopenharmony_cidivx832 divide -1 NaN -> NaN 6407db96d56Sopenharmony_cidivx833 divide -0 NaN -> NaN 6417db96d56Sopenharmony_cidivx834 divide 0 NaN -> NaN 6427db96d56Sopenharmony_cidivx835 divide 1 NaN -> NaN 6437db96d56Sopenharmony_cidivx836 divide 1000 NaN -> NaN 6447db96d56Sopenharmony_cidivx837 divide Inf NaN -> NaN 6457db96d56Sopenharmony_ci 6467db96d56Sopenharmony_cidivx841 divide sNaN -Inf -> NaN Invalid_operation 6477db96d56Sopenharmony_cidivx842 divide sNaN -1000 -> NaN Invalid_operation 6487db96d56Sopenharmony_cidivx843 divide sNaN -1 -> NaN Invalid_operation 6497db96d56Sopenharmony_cidivx844 divide sNaN -0 -> NaN Invalid_operation 6507db96d56Sopenharmony_cidivx845 divide sNaN 0 -> NaN Invalid_operation 6517db96d56Sopenharmony_cidivx846 divide sNaN 1 -> NaN Invalid_operation 6527db96d56Sopenharmony_cidivx847 divide sNaN 1000 -> NaN Invalid_operation 6537db96d56Sopenharmony_cidivx848 divide sNaN NaN -> NaN Invalid_operation 6547db96d56Sopenharmony_cidivx849 divide sNaN sNaN -> NaN Invalid_operation 6557db96d56Sopenharmony_cidivx850 divide NaN sNaN -> NaN Invalid_operation 6567db96d56Sopenharmony_cidivx851 divide -Inf sNaN -> NaN Invalid_operation 6577db96d56Sopenharmony_cidivx852 divide -1000 sNaN -> NaN Invalid_operation 6587db96d56Sopenharmony_cidivx853 divide -1 sNaN -> NaN Invalid_operation 6597db96d56Sopenharmony_cidivx854 divide -0 sNaN -> NaN Invalid_operation 6607db96d56Sopenharmony_cidivx855 divide 0 sNaN -> NaN Invalid_operation 6617db96d56Sopenharmony_cidivx856 divide 1 sNaN -> NaN Invalid_operation 6627db96d56Sopenharmony_cidivx857 divide 1000 sNaN -> NaN Invalid_operation 6637db96d56Sopenharmony_cidivx858 divide Inf sNaN -> NaN Invalid_operation 6647db96d56Sopenharmony_cidivx859 divide NaN sNaN -> NaN Invalid_operation 6657db96d56Sopenharmony_ci 6667db96d56Sopenharmony_ci-- propagating NaNs 6677db96d56Sopenharmony_cidivx861 divide NaN9 -Inf -> NaN9 6687db96d56Sopenharmony_cidivx862 divide NaN8 1000 -> NaN8 6697db96d56Sopenharmony_cidivx863 divide NaN7 Inf -> NaN7 6707db96d56Sopenharmony_cidivx864 divide NaN6 NaN5 -> NaN6 6717db96d56Sopenharmony_cidivx865 divide -Inf NaN4 -> NaN4 6727db96d56Sopenharmony_cidivx866 divide -1000 NaN3 -> NaN3 6737db96d56Sopenharmony_cidivx867 divide Inf NaN2 -> NaN2 6747db96d56Sopenharmony_ci 6757db96d56Sopenharmony_cidivx871 divide sNaN99 -Inf -> NaN99 Invalid_operation 6767db96d56Sopenharmony_cidivx872 divide sNaN98 -1 -> NaN98 Invalid_operation 6777db96d56Sopenharmony_cidivx873 divide sNaN97 NaN -> NaN97 Invalid_operation 6787db96d56Sopenharmony_cidivx874 divide sNaN96 sNaN94 -> NaN96 Invalid_operation 6797db96d56Sopenharmony_cidivx875 divide NaN95 sNaN93 -> NaN93 Invalid_operation 6807db96d56Sopenharmony_cidivx876 divide -Inf sNaN92 -> NaN92 Invalid_operation 6817db96d56Sopenharmony_cidivx877 divide 0 sNaN91 -> NaN91 Invalid_operation 6827db96d56Sopenharmony_cidivx878 divide Inf sNaN90 -> NaN90 Invalid_operation 6837db96d56Sopenharmony_cidivx879 divide NaN sNaN89 -> NaN89 Invalid_operation 6847db96d56Sopenharmony_ci 6857db96d56Sopenharmony_cidivx881 divide -NaN9 -Inf -> -NaN9 6867db96d56Sopenharmony_cidivx882 divide -NaN8 1000 -> -NaN8 6877db96d56Sopenharmony_cidivx883 divide -NaN7 Inf -> -NaN7 6887db96d56Sopenharmony_cidivx884 divide -NaN6 -NaN5 -> -NaN6 6897db96d56Sopenharmony_cidivx885 divide -Inf -NaN4 -> -NaN4 6907db96d56Sopenharmony_cidivx886 divide -1000 -NaN3 -> -NaN3 6917db96d56Sopenharmony_cidivx887 divide Inf -NaN2 -> -NaN2 6927db96d56Sopenharmony_ci 6937db96d56Sopenharmony_cidivx891 divide -sNaN99 -Inf -> -NaN99 Invalid_operation 6947db96d56Sopenharmony_cidivx892 divide -sNaN98 -1 -> -NaN98 Invalid_operation 6957db96d56Sopenharmony_cidivx893 divide -sNaN97 NaN -> -NaN97 Invalid_operation 6967db96d56Sopenharmony_cidivx894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation 6977db96d56Sopenharmony_cidivx895 divide -NaN95 -sNaN93 -> -NaN93 Invalid_operation 6987db96d56Sopenharmony_cidivx896 divide -Inf -sNaN92 -> -NaN92 Invalid_operation 6997db96d56Sopenharmony_cidivx897 divide 0 -sNaN91 -> -NaN91 Invalid_operation 7007db96d56Sopenharmony_cidivx898 divide Inf -sNaN90 -> -NaN90 Invalid_operation 7017db96d56Sopenharmony_cidivx899 divide -NaN -sNaN89 -> -NaN89 Invalid_operation 7027db96d56Sopenharmony_ci 7037db96d56Sopenharmony_cimaxexponent: 999999999 7047db96d56Sopenharmony_ciminexponent: -999999999 7057db96d56Sopenharmony_ci 7067db96d56Sopenharmony_ci-- Various flavours of divide by 0 7077db96d56Sopenharmony_cidivx901 divide 0 0 -> NaN Division_undefined 7087db96d56Sopenharmony_cidivx902 divide 0.0E5 0 -> NaN Division_undefined 7097db96d56Sopenharmony_cidivx903 divide 0.000 0 -> NaN Division_undefined 7107db96d56Sopenharmony_cidivx904 divide 0.0001 0 -> Infinity Division_by_zero 7117db96d56Sopenharmony_cidivx905 divide 0.01 0 -> Infinity Division_by_zero 7127db96d56Sopenharmony_cidivx906 divide 0.1 0 -> Infinity Division_by_zero 7137db96d56Sopenharmony_cidivx907 divide 1 0 -> Infinity Division_by_zero 7147db96d56Sopenharmony_cidivx908 divide 1 0.0 -> Infinity Division_by_zero 7157db96d56Sopenharmony_cidivx909 divide 10 0.0 -> Infinity Division_by_zero 7167db96d56Sopenharmony_cidivx910 divide 1E+100 0.0 -> Infinity Division_by_zero 7177db96d56Sopenharmony_cidivx911 divide 1E+1000 0 -> Infinity Division_by_zero 7187db96d56Sopenharmony_ci 7197db96d56Sopenharmony_cidivx921 divide -0.0001 0 -> -Infinity Division_by_zero 7207db96d56Sopenharmony_cidivx922 divide -0.01 0 -> -Infinity Division_by_zero 7217db96d56Sopenharmony_cidivx923 divide -0.1 0 -> -Infinity Division_by_zero 7227db96d56Sopenharmony_cidivx924 divide -1 0 -> -Infinity Division_by_zero 7237db96d56Sopenharmony_cidivx925 divide -1 0.0 -> -Infinity Division_by_zero 7247db96d56Sopenharmony_cidivx926 divide -10 0.0 -> -Infinity Division_by_zero 7257db96d56Sopenharmony_cidivx927 divide -1E+100 0.0 -> -Infinity Division_by_zero 7267db96d56Sopenharmony_cidivx928 divide -1E+1000 0 -> -Infinity Division_by_zero 7277db96d56Sopenharmony_ci 7287db96d56Sopenharmony_cidivx931 divide 0.0001 -0 -> -Infinity Division_by_zero 7297db96d56Sopenharmony_cidivx932 divide 0.01 -0 -> -Infinity Division_by_zero 7307db96d56Sopenharmony_cidivx933 divide 0.1 -0 -> -Infinity Division_by_zero 7317db96d56Sopenharmony_cidivx934 divide 1 -0 -> -Infinity Division_by_zero 7327db96d56Sopenharmony_cidivx935 divide 1 -0.0 -> -Infinity Division_by_zero 7337db96d56Sopenharmony_cidivx936 divide 10 -0.0 -> -Infinity Division_by_zero 7347db96d56Sopenharmony_cidivx937 divide 1E+100 -0.0 -> -Infinity Division_by_zero 7357db96d56Sopenharmony_cidivx938 divide 1E+1000 -0 -> -Infinity Division_by_zero 7367db96d56Sopenharmony_ci 7377db96d56Sopenharmony_cidivx941 divide -0.0001 -0 -> Infinity Division_by_zero 7387db96d56Sopenharmony_cidivx942 divide -0.01 -0 -> Infinity Division_by_zero 7397db96d56Sopenharmony_cidivx943 divide -0.1 -0 -> Infinity Division_by_zero 7407db96d56Sopenharmony_cidivx944 divide -1 -0 -> Infinity Division_by_zero 7417db96d56Sopenharmony_cidivx945 divide -1 -0.0 -> Infinity Division_by_zero 7427db96d56Sopenharmony_cidivx946 divide -10 -0.0 -> Infinity Division_by_zero 7437db96d56Sopenharmony_cidivx947 divide -1E+100 -0.0 -> Infinity Division_by_zero 7447db96d56Sopenharmony_cidivx948 divide -1E+1000 -0 -> Infinity Division_by_zero 7457db96d56Sopenharmony_ci 7467db96d56Sopenharmony_ci-- overflow and underflow tests 7477db96d56Sopenharmony_ciprecision: 9 7487db96d56Sopenharmony_cimaxexponent: 999999999 7497db96d56Sopenharmony_ciminexponent: -999999999 7507db96d56Sopenharmony_cidivx951 divide 9E+999999999 +0.23456789012345E-0 -> Infinity Inexact Overflow Rounded 7517db96d56Sopenharmony_cidivx952 divide +0.100 9E+999999999 -> 1.111111E-1000000001 Inexact Rounded Underflow Subnormal 7527db96d56Sopenharmony_cidivx953 divide 9E-999999999 +9.100 -> 9.8901099E-1000000000 Inexact Rounded Underflow Subnormal 7537db96d56Sopenharmony_cidivx954 divide -1.23456789 9E+999999999 -> -1.3717421E-1000000000 Subnormal 7547db96d56Sopenharmony_cidivx955 divide -1.23456789012345E-0 9E+999999999 -> -1.3717421E-1000000000 Underflow Subnormal Rounded Inexact 7557db96d56Sopenharmony_cidivx956 divide -1.23456789012345E-0 7E+999999999 -> -1.7636684E-1000000000 Inexact Rounded Underflow Subnormal 7567db96d56Sopenharmony_cidivx957 divide 9E+999999999 -0.83456789012345E-0 -> -Infinity Inexact Overflow Rounded 7577db96d56Sopenharmony_cidivx958 divide -0.100 9E+999999999 -> -1.111111E-1000000001 Subnormal Inexact Rounded Underflow 7587db96d56Sopenharmony_cidivx959 divide 9E-999999999 -9.100 -> -9.8901099E-1000000000 Inexact Rounded Underflow Subnormal 7597db96d56Sopenharmony_ci 7607db96d56Sopenharmony_ci-- overflow and underflow (additional edge tests in multiply.decTest) 7617db96d56Sopenharmony_ci-- 'subnormal' results now possible (all hard underflow or overflow in 7627db96d56Sopenharmony_ci-- base arithmetic) 7637db96d56Sopenharmony_cidivx960 divide 1e-600000000 1e+400000001 -> 1E-1000000001 Subnormal 7647db96d56Sopenharmony_cidivx961 divide 1e-600000000 1e+400000002 -> 1E-1000000002 Subnormal 7657db96d56Sopenharmony_cidivx962 divide 1e-600000000 1e+400000003 -> 1E-1000000003 Subnormal 7667db96d56Sopenharmony_cidivx963 divide 1e-600000000 1e+400000004 -> 1E-1000000004 Subnormal 7677db96d56Sopenharmony_cidivx964 divide 1e-600000000 1e+400000005 -> 1E-1000000005 Subnormal 7687db96d56Sopenharmony_cidivx965 divide 1e-600000000 1e+400000006 -> 1E-1000000006 Subnormal 7697db96d56Sopenharmony_cidivx966 divide 1e-600000000 1e+400000007 -> 1E-1000000007 Subnormal 7707db96d56Sopenharmony_cidivx967 divide 1e-600000000 1e+400000008 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 7717db96d56Sopenharmony_cidivx968 divide 1e-600000000 1e+400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 7727db96d56Sopenharmony_cidivx969 divide 1e-600000000 1e+400000010 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 7737db96d56Sopenharmony_ci-- [no equivalent of 'subnormal' for overflow] 7747db96d56Sopenharmony_cidivx970 divide 1e+600000000 1e-400000001 -> Infinity Overflow Inexact Rounded 7757db96d56Sopenharmony_cidivx971 divide 1e+600000000 1e-400000002 -> Infinity Overflow Inexact Rounded 7767db96d56Sopenharmony_cidivx972 divide 1e+600000000 1e-400000003 -> Infinity Overflow Inexact Rounded 7777db96d56Sopenharmony_cidivx973 divide 1e+600000000 1e-400000004 -> Infinity Overflow Inexact Rounded 7787db96d56Sopenharmony_cidivx974 divide 1e+600000000 1e-400000005 -> Infinity Overflow Inexact Rounded 7797db96d56Sopenharmony_cidivx975 divide 1e+600000000 1e-400000006 -> Infinity Overflow Inexact Rounded 7807db96d56Sopenharmony_cidivx976 divide 1e+600000000 1e-400000007 -> Infinity Overflow Inexact Rounded 7817db96d56Sopenharmony_cidivx977 divide 1e+600000000 1e-400000008 -> Infinity Overflow Inexact Rounded 7827db96d56Sopenharmony_cidivx978 divide 1e+600000000 1e-400000009 -> Infinity Overflow Inexact Rounded 7837db96d56Sopenharmony_cidivx979 divide 1e+600000000 1e-400000010 -> Infinity Overflow Inexact Rounded 7847db96d56Sopenharmony_ci 7857db96d56Sopenharmony_ci-- Sign after overflow and underflow 7867db96d56Sopenharmony_cidivx980 divide 1e-600000000 1e+400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 7877db96d56Sopenharmony_cidivx981 divide 1e-600000000 -1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 7887db96d56Sopenharmony_cidivx982 divide -1e-600000000 1e+400000009 -> -0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 7897db96d56Sopenharmony_cidivx983 divide -1e-600000000 -1e+400000009 -> 0E-1000000007 Underflow Subnormal Inexact Rounded Clamped 7907db96d56Sopenharmony_cidivx984 divide 1e+600000000 1e-400000009 -> Infinity Overflow Inexact Rounded 7917db96d56Sopenharmony_cidivx985 divide 1e+600000000 -1e-400000009 -> -Infinity Overflow Inexact Rounded 7927db96d56Sopenharmony_cidivx986 divide -1e+600000000 1e-400000009 -> -Infinity Overflow Inexact Rounded 7937db96d56Sopenharmony_cidivx987 divide -1e+600000000 -1e-400000009 -> Infinity Overflow Inexact Rounded 7947db96d56Sopenharmony_ci 7957db96d56Sopenharmony_ci-- Long operand overflow may be a different path 7967db96d56Sopenharmony_ciprecision: 3 7977db96d56Sopenharmony_cidivx990 divide 1000 9.999E-999999999 -> Infinity Inexact Overflow Rounded 7987db96d56Sopenharmony_cidivx991 divide 1000 -9.999E-999999999 -> -Infinity Inexact Overflow Rounded 7997db96d56Sopenharmony_cidivx992 divide 9.999E+999999999 0.01 -> Infinity Inexact Overflow Rounded 8007db96d56Sopenharmony_cidivx993 divide -9.999E+999999999 0.01 -> -Infinity Inexact Overflow Rounded 8017db96d56Sopenharmony_ci 8027db96d56Sopenharmony_ci-- check for double-rounded subnormals 8037db96d56Sopenharmony_ciprecision: 5 8047db96d56Sopenharmony_cimaxexponent: 79 8057db96d56Sopenharmony_ciminexponent: -79 8067db96d56Sopenharmony_cidivx1001 divide 1.52444E-80 1 -> 1.524E-80 Inexact Rounded Subnormal Underflow 8077db96d56Sopenharmony_cidivx1002 divide 1.52445E-80 1 -> 1.524E-80 Inexact Rounded Subnormal Underflow 8087db96d56Sopenharmony_cidivx1003 divide 1.52446E-80 1 -> 1.524E-80 Inexact Rounded Subnormal Underflow 8097db96d56Sopenharmony_ci 8107db96d56Sopenharmony_ci-- a rounding problem in one implementation 8117db96d56Sopenharmony_ciprecision: 34 8127db96d56Sopenharmony_cirounding: half_up 8137db96d56Sopenharmony_cimaxExponent: 6144 8147db96d56Sopenharmony_ciminExponent: -6143 8157db96d56Sopenharmony_ci-- Unbounded answer to 40 digits: 8167db96d56Sopenharmony_ci-- 1.465811965811965811965811965811965811966E+7000 8177db96d56Sopenharmony_cidivx1010 divide 343E6000 234E-1000 -> Infinity Overflow Inexact Rounded 8187db96d56Sopenharmony_ci 8197db96d56Sopenharmony_ciprecision: 34 8207db96d56Sopenharmony_cirounding: half_up 8217db96d56Sopenharmony_cimaxExponent: 6144 8227db96d56Sopenharmony_ciminExponent: -6143 8237db96d56Sopenharmony_ci 8247db96d56Sopenharmony_ci-- Examples from SQL proposal (Krishna Kulkarni) 8257db96d56Sopenharmony_ciprecision: 7 8267db96d56Sopenharmony_cidivx1021 divide 1E0 1E0 -> 1 8277db96d56Sopenharmony_cidivx1022 divide 1E0 2E0 -> 0.5 8287db96d56Sopenharmony_cidivx1023 divide 1E0 3E0 -> 0.3333333 Inexact Rounded 8297db96d56Sopenharmony_cidivx1024 divide 100E-2 1000E-3 -> 1 8307db96d56Sopenharmony_cidivx1025 divide 24E-1 2E0 -> 1.2 8317db96d56Sopenharmony_cidivx1026 divide 2400E-3 2E0 -> 1.200 8327db96d56Sopenharmony_cidivx1027 divide 5E0 2E0 -> 2.5 8337db96d56Sopenharmony_cidivx1028 divide 5E0 20E-1 -> 2.5 8347db96d56Sopenharmony_cidivx1029 divide 5E0 2000E-3 -> 2.5 8357db96d56Sopenharmony_cidivx1030 divide 5E0 2E-1 -> 25 8367db96d56Sopenharmony_cidivx1031 divide 5E0 20E-2 -> 25 8377db96d56Sopenharmony_cidivx1032 divide 480E-2 3E0 -> 1.60 8387db96d56Sopenharmony_cidivx1033 divide 47E-1 2E0 -> 2.35 8397db96d56Sopenharmony_ci 8407db96d56Sopenharmony_ci-- ECMAScript bad examples 8417db96d56Sopenharmony_cirounding: half_down 8427db96d56Sopenharmony_ciprecision: 7 8437db96d56Sopenharmony_cidivx1050 divide 5 9 -> 0.5555556 Inexact Rounded 8447db96d56Sopenharmony_cirounding: half_even 8457db96d56Sopenharmony_cidivx1051 divide 5 11 -> 0.4545455 Inexact Rounded 8467db96d56Sopenharmony_ci 8477db96d56Sopenharmony_ci-- payload decapitate 8487db96d56Sopenharmony_ciprecision: 5 8497db96d56Sopenharmony_cidivx1055 divide sNaN987654321 1 -> NaN54321 Invalid_operation 8507db96d56Sopenharmony_ci 8517db96d56Sopenharmony_ci-- Null tests 8527db96d56Sopenharmony_cidivx9998 divide 10 # -> NaN Invalid_operation 8537db96d56Sopenharmony_cidivx9999 divide # 10 -> NaN Invalid_operation 8547db96d56Sopenharmony_ci 855