17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- divideint.decTest -- decimal integer 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_cidvix001 divideint 1 1 -> 1 297db96d56Sopenharmony_cidvix002 divideint 2 1 -> 2 307db96d56Sopenharmony_cidvix003 divideint 1 2 -> 0 317db96d56Sopenharmony_cidvix004 divideint 2 2 -> 1 327db96d56Sopenharmony_cidvix005 divideint 0 1 -> 0 337db96d56Sopenharmony_cidvix006 divideint 0 2 -> 0 347db96d56Sopenharmony_cidvix007 divideint 1 3 -> 0 357db96d56Sopenharmony_cidvix008 divideint 2 3 -> 0 367db96d56Sopenharmony_cidvix009 divideint 3 3 -> 1 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_cidvix010 divideint 2.4 1 -> 2 397db96d56Sopenharmony_cidvix011 divideint 2.4 -1 -> -2 407db96d56Sopenharmony_cidvix012 divideint -2.4 1 -> -2 417db96d56Sopenharmony_cidvix013 divideint -2.4 -1 -> 2 427db96d56Sopenharmony_cidvix014 divideint 2.40 1 -> 2 437db96d56Sopenharmony_cidvix015 divideint 2.400 1 -> 2 447db96d56Sopenharmony_cidvix016 divideint 2.4 2 -> 1 457db96d56Sopenharmony_cidvix017 divideint 2.400 2 -> 1 467db96d56Sopenharmony_cidvix018 divideint 2. 2 -> 1 477db96d56Sopenharmony_cidvix019 divideint 20 20 -> 1 487db96d56Sopenharmony_ci 497db96d56Sopenharmony_cidvix020 divideint 187 187 -> 1 507db96d56Sopenharmony_cidvix021 divideint 5 2 -> 2 517db96d56Sopenharmony_cidvix022 divideint 5 2.0 -> 2 527db96d56Sopenharmony_cidvix023 divideint 5 2.000 -> 2 537db96d56Sopenharmony_cidvix024 divideint 5 0.200 -> 25 547db96d56Sopenharmony_cidvix025 divideint 5 0.200 -> 25 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_cidvix030 divideint 1 2 -> 0 577db96d56Sopenharmony_cidvix031 divideint 1 4 -> 0 587db96d56Sopenharmony_cidvix032 divideint 1 8 -> 0 597db96d56Sopenharmony_cidvix033 divideint 1 16 -> 0 607db96d56Sopenharmony_cidvix034 divideint 1 32 -> 0 617db96d56Sopenharmony_cidvix035 divideint 1 64 -> 0 627db96d56Sopenharmony_cidvix040 divideint 1 -2 -> -0 637db96d56Sopenharmony_cidvix041 divideint 1 -4 -> -0 647db96d56Sopenharmony_cidvix042 divideint 1 -8 -> -0 657db96d56Sopenharmony_cidvix043 divideint 1 -16 -> -0 667db96d56Sopenharmony_cidvix044 divideint 1 -32 -> -0 677db96d56Sopenharmony_cidvix045 divideint 1 -64 -> -0 687db96d56Sopenharmony_cidvix050 divideint -1 2 -> -0 697db96d56Sopenharmony_cidvix051 divideint -1 4 -> -0 707db96d56Sopenharmony_cidvix052 divideint -1 8 -> -0 717db96d56Sopenharmony_cidvix053 divideint -1 16 -> -0 727db96d56Sopenharmony_cidvix054 divideint -1 32 -> -0 737db96d56Sopenharmony_cidvix055 divideint -1 64 -> -0 747db96d56Sopenharmony_cidvix060 divideint -1 -2 -> 0 757db96d56Sopenharmony_cidvix061 divideint -1 -4 -> 0 767db96d56Sopenharmony_cidvix062 divideint -1 -8 -> 0 777db96d56Sopenharmony_cidvix063 divideint -1 -16 -> 0 787db96d56Sopenharmony_cidvix064 divideint -1 -32 -> 0 797db96d56Sopenharmony_cidvix065 divideint -1 -64 -> 0 807db96d56Sopenharmony_ci 817db96d56Sopenharmony_ci-- similar with powers of ten 827db96d56Sopenharmony_cidvix160 divideint 1 1 -> 1 837db96d56Sopenharmony_cidvix161 divideint 1 10 -> 0 847db96d56Sopenharmony_cidvix162 divideint 1 100 -> 0 857db96d56Sopenharmony_cidvix163 divideint 1 1000 -> 0 867db96d56Sopenharmony_cidvix164 divideint 1 10000 -> 0 877db96d56Sopenharmony_cidvix165 divideint 1 100000 -> 0 887db96d56Sopenharmony_cidvix166 divideint 1 1000000 -> 0 897db96d56Sopenharmony_cidvix167 divideint 1 10000000 -> 0 907db96d56Sopenharmony_cidvix168 divideint 1 100000000 -> 0 917db96d56Sopenharmony_cidvix170 divideint 1 -1 -> -1 927db96d56Sopenharmony_cidvix171 divideint 1 -10 -> -0 937db96d56Sopenharmony_cidvix172 divideint 1 -100 -> -0 947db96d56Sopenharmony_cidvix173 divideint 1 -1000 -> -0 957db96d56Sopenharmony_cidvix174 divideint 1 -10000 -> -0 967db96d56Sopenharmony_cidvix175 divideint 1 -100000 -> -0 977db96d56Sopenharmony_cidvix176 divideint 1 -1000000 -> -0 987db96d56Sopenharmony_cidvix177 divideint 1 -10000000 -> -0 997db96d56Sopenharmony_cidvix178 divideint 1 -100000000 -> -0 1007db96d56Sopenharmony_cidvix180 divideint -1 1 -> -1 1017db96d56Sopenharmony_cidvix181 divideint -1 10 -> -0 1027db96d56Sopenharmony_cidvix182 divideint -1 100 -> -0 1037db96d56Sopenharmony_cidvix183 divideint -1 1000 -> -0 1047db96d56Sopenharmony_cidvix184 divideint -1 10000 -> -0 1057db96d56Sopenharmony_cidvix185 divideint -1 100000 -> -0 1067db96d56Sopenharmony_cidvix186 divideint -1 1000000 -> -0 1077db96d56Sopenharmony_cidvix187 divideint -1 10000000 -> -0 1087db96d56Sopenharmony_cidvix188 divideint -1 100000000 -> -0 1097db96d56Sopenharmony_cidvix190 divideint -1 -1 -> 1 1107db96d56Sopenharmony_cidvix191 divideint -1 -10 -> 0 1117db96d56Sopenharmony_cidvix192 divideint -1 -100 -> 0 1127db96d56Sopenharmony_cidvix193 divideint -1 -1000 -> 0 1137db96d56Sopenharmony_cidvix194 divideint -1 -10000 -> 0 1147db96d56Sopenharmony_cidvix195 divideint -1 -100000 -> 0 1157db96d56Sopenharmony_cidvix196 divideint -1 -1000000 -> 0 1167db96d56Sopenharmony_cidvix197 divideint -1 -10000000 -> 0 1177db96d56Sopenharmony_cidvix198 divideint -1 -100000000 -> 0 1187db96d56Sopenharmony_ci 1197db96d56Sopenharmony_ci-- some long operand cases here 1207db96d56Sopenharmony_cidvix070 divideint 999999999 1 -> 999999999 1217db96d56Sopenharmony_cidvix071 divideint 999999999.4 1 -> 999999999 1227db96d56Sopenharmony_cidvix072 divideint 999999999.5 1 -> 999999999 1237db96d56Sopenharmony_cidvix073 divideint 999999999.9 1 -> 999999999 1247db96d56Sopenharmony_cidvix074 divideint 999999999.999 1 -> 999999999 1257db96d56Sopenharmony_ciprecision: 6 1267db96d56Sopenharmony_cidvix080 divideint 999999999 1 -> NaN Division_impossible 1277db96d56Sopenharmony_cidvix081 divideint 99999999 1 -> NaN Division_impossible 1287db96d56Sopenharmony_cidvix082 divideint 9999999 1 -> NaN Division_impossible 1297db96d56Sopenharmony_cidvix083 divideint 999999 1 -> 999999 1307db96d56Sopenharmony_cidvix084 divideint 99999 1 -> 99999 1317db96d56Sopenharmony_cidvix085 divideint 9999 1 -> 9999 1327db96d56Sopenharmony_cidvix086 divideint 999 1 -> 999 1337db96d56Sopenharmony_cidvix087 divideint 99 1 -> 99 1347db96d56Sopenharmony_cidvix088 divideint 9 1 -> 9 1357db96d56Sopenharmony_ci 1367db96d56Sopenharmony_ciprecision: 9 1377db96d56Sopenharmony_cidvix090 divideint 0. 1 -> 0 1387db96d56Sopenharmony_cidvix091 divideint .0 1 -> 0 1397db96d56Sopenharmony_cidvix092 divideint 0.00 1 -> 0 1407db96d56Sopenharmony_cidvix093 divideint 0.00E+9 1 -> 0 1417db96d56Sopenharmony_cidvix094 divideint 0.0000E-50 1 -> 0 1427db96d56Sopenharmony_ci 1437db96d56Sopenharmony_cidvix100 divideint 1 1 -> 1 1447db96d56Sopenharmony_cidvix101 divideint 1 2 -> 0 1457db96d56Sopenharmony_cidvix102 divideint 1 3 -> 0 1467db96d56Sopenharmony_cidvix103 divideint 1 4 -> 0 1477db96d56Sopenharmony_cidvix104 divideint 1 5 -> 0 1487db96d56Sopenharmony_cidvix105 divideint 1 6 -> 0 1497db96d56Sopenharmony_cidvix106 divideint 1 7 -> 0 1507db96d56Sopenharmony_cidvix107 divideint 1 8 -> 0 1517db96d56Sopenharmony_cidvix108 divideint 1 9 -> 0 1527db96d56Sopenharmony_cidvix109 divideint 1 10 -> 0 1537db96d56Sopenharmony_cidvix110 divideint 1 1 -> 1 1547db96d56Sopenharmony_cidvix111 divideint 2 1 -> 2 1557db96d56Sopenharmony_cidvix112 divideint 3 1 -> 3 1567db96d56Sopenharmony_cidvix113 divideint 4 1 -> 4 1577db96d56Sopenharmony_cidvix114 divideint 5 1 -> 5 1587db96d56Sopenharmony_cidvix115 divideint 6 1 -> 6 1597db96d56Sopenharmony_cidvix116 divideint 7 1 -> 7 1607db96d56Sopenharmony_cidvix117 divideint 8 1 -> 8 1617db96d56Sopenharmony_cidvix118 divideint 9 1 -> 9 1627db96d56Sopenharmony_cidvix119 divideint 10 1 -> 10 1637db96d56Sopenharmony_ci 1647db96d56Sopenharmony_ci-- from DiagBigDecimal 1657db96d56Sopenharmony_cidvix131 divideint 101.3 1 -> 101 1667db96d56Sopenharmony_cidvix132 divideint 101.0 1 -> 101 1677db96d56Sopenharmony_cidvix133 divideint 101.3 3 -> 33 1687db96d56Sopenharmony_cidvix134 divideint 101.0 3 -> 33 1697db96d56Sopenharmony_cidvix135 divideint 2.4 1 -> 2 1707db96d56Sopenharmony_cidvix136 divideint 2.400 1 -> 2 1717db96d56Sopenharmony_cidvix137 divideint 18 18 -> 1 1727db96d56Sopenharmony_cidvix138 divideint 1120 1000 -> 1 1737db96d56Sopenharmony_cidvix139 divideint 2.4 2 -> 1 1747db96d56Sopenharmony_cidvix140 divideint 2.400 2 -> 1 1757db96d56Sopenharmony_cidvix141 divideint 0.5 2.000 -> 0 1767db96d56Sopenharmony_cidvix142 divideint 8.005 7 -> 1 1777db96d56Sopenharmony_cidvix143 divideint 5 2 -> 2 1787db96d56Sopenharmony_cidvix144 divideint 0 2 -> 0 1797db96d56Sopenharmony_cidvix145 divideint 0.00 2 -> 0 1807db96d56Sopenharmony_ci 1817db96d56Sopenharmony_ci-- Others 1827db96d56Sopenharmony_cidvix150 divideint 12345 4.999 -> 2469 1837db96d56Sopenharmony_cidvix151 divideint 12345 4.99 -> 2473 1847db96d56Sopenharmony_cidvix152 divideint 12345 4.9 -> 2519 1857db96d56Sopenharmony_cidvix153 divideint 12345 5 -> 2469 1867db96d56Sopenharmony_cidvix154 divideint 12345 5.1 -> 2420 1877db96d56Sopenharmony_cidvix155 divideint 12345 5.01 -> 2464 1887db96d56Sopenharmony_cidvix156 divideint 12345 5.001 -> 2468 1897db96d56Sopenharmony_cidvix157 divideint 101 7.6 -> 13 1907db96d56Sopenharmony_ci 1917db96d56Sopenharmony_ci-- Various flavours of divideint by 0 1927db96d56Sopenharmony_cimaxexponent: 999999999 1937db96d56Sopenharmony_ciminexponent: -999999999 1947db96d56Sopenharmony_cidvix201 divideint 0 0 -> NaN Division_undefined 1957db96d56Sopenharmony_cidvix202 divideint 0.0E5 0 -> NaN Division_undefined 1967db96d56Sopenharmony_cidvix203 divideint 0.000 0 -> NaN Division_undefined 1977db96d56Sopenharmony_cidvix204 divideint 0.0001 0 -> Infinity Division_by_zero 1987db96d56Sopenharmony_cidvix205 divideint 0.01 0 -> Infinity Division_by_zero 1997db96d56Sopenharmony_cidvix206 divideint 0.1 0 -> Infinity Division_by_zero 2007db96d56Sopenharmony_cidvix207 divideint 1 0 -> Infinity Division_by_zero 2017db96d56Sopenharmony_cidvix208 divideint 1 0.0 -> Infinity Division_by_zero 2027db96d56Sopenharmony_cidvix209 divideint 10 0.0 -> Infinity Division_by_zero 2037db96d56Sopenharmony_cidvix210 divideint 1E+100 0.0 -> Infinity Division_by_zero 2047db96d56Sopenharmony_cidvix211 divideint 1E+1000 0 -> Infinity Division_by_zero 2057db96d56Sopenharmony_cidvix214 divideint -0.0001 0 -> -Infinity Division_by_zero 2067db96d56Sopenharmony_cidvix215 divideint -0.01 0 -> -Infinity Division_by_zero 2077db96d56Sopenharmony_cidvix216 divideint -0.1 0 -> -Infinity Division_by_zero 2087db96d56Sopenharmony_cidvix217 divideint -1 0 -> -Infinity Division_by_zero 2097db96d56Sopenharmony_cidvix218 divideint -1 0.0 -> -Infinity Division_by_zero 2107db96d56Sopenharmony_cidvix219 divideint -10 0.0 -> -Infinity Division_by_zero 2117db96d56Sopenharmony_cidvix220 divideint -1E+100 0.0 -> -Infinity Division_by_zero 2127db96d56Sopenharmony_cidvix221 divideint -1E+1000 0 -> -Infinity Division_by_zero 2137db96d56Sopenharmony_ci 2147db96d56Sopenharmony_ci-- test some cases that are close to exponent overflow 2157db96d56Sopenharmony_cimaxexponent: 999999999 2167db96d56Sopenharmony_ciminexponent: -999999999 2177db96d56Sopenharmony_cidvix270 divideint 1 1e999999999 -> 0 2187db96d56Sopenharmony_cidvix271 divideint 1 0.9e999999999 -> 0 2197db96d56Sopenharmony_cidvix272 divideint 1 0.99e999999999 -> 0 2207db96d56Sopenharmony_cidvix273 divideint 1 0.999999999e999999999 -> 0 2217db96d56Sopenharmony_cidvix274 divideint 9e999999999 1 -> NaN Division_impossible 2227db96d56Sopenharmony_cidvix275 divideint 9.9e999999999 1 -> NaN Division_impossible 2237db96d56Sopenharmony_cidvix276 divideint 9.99e999999999 1 -> NaN Division_impossible 2247db96d56Sopenharmony_cidvix277 divideint 9.99999999e999999999 1 -> NaN Division_impossible 2257db96d56Sopenharmony_ci 2267db96d56Sopenharmony_cidvix280 divideint 0.1 9e-999999999 -> NaN Division_impossible 2277db96d56Sopenharmony_cidvix281 divideint 0.1 99e-999999999 -> NaN Division_impossible 2287db96d56Sopenharmony_cidvix282 divideint 0.1 999e-999999999 -> NaN Division_impossible 2297db96d56Sopenharmony_ci 2307db96d56Sopenharmony_cidvix283 divideint 0.1 9e-999999998 -> NaN Division_impossible 2317db96d56Sopenharmony_cidvix284 divideint 0.1 99e-999999998 -> NaN Division_impossible 2327db96d56Sopenharmony_cidvix285 divideint 0.1 999e-999999998 -> NaN Division_impossible 2337db96d56Sopenharmony_cidvix286 divideint 0.1 999e-999999997 -> NaN Division_impossible 2347db96d56Sopenharmony_cidvix287 divideint 0.1 9999e-999999997 -> NaN Division_impossible 2357db96d56Sopenharmony_cidvix288 divideint 0.1 99999e-999999997 -> NaN Division_impossible 2367db96d56Sopenharmony_ci 2377db96d56Sopenharmony_ci-- GD edge cases: lhs smaller than rhs but more digits 2387db96d56Sopenharmony_cidvix301 divideint 0.9 2 -> 0 2397db96d56Sopenharmony_cidvix302 divideint 0.9 2.0 -> 0 2407db96d56Sopenharmony_cidvix303 divideint 0.9 2.1 -> 0 2417db96d56Sopenharmony_cidvix304 divideint 0.9 2.00 -> 0 2427db96d56Sopenharmony_cidvix305 divideint 0.9 2.01 -> 0 2437db96d56Sopenharmony_cidvix306 divideint 0.12 1 -> 0 2447db96d56Sopenharmony_cidvix307 divideint 0.12 1.0 -> 0 2457db96d56Sopenharmony_cidvix308 divideint 0.12 1.00 -> 0 2467db96d56Sopenharmony_cidvix309 divideint 0.12 1.0 -> 0 2477db96d56Sopenharmony_cidvix310 divideint 0.12 1.00 -> 0 2487db96d56Sopenharmony_cidvix311 divideint 0.12 2 -> 0 2497db96d56Sopenharmony_cidvix312 divideint 0.12 2.0 -> 0 2507db96d56Sopenharmony_cidvix313 divideint 0.12 2.1 -> 0 2517db96d56Sopenharmony_cidvix314 divideint 0.12 2.00 -> 0 2527db96d56Sopenharmony_cidvix315 divideint 0.12 2.01 -> 0 2537db96d56Sopenharmony_ci 2547db96d56Sopenharmony_ci-- overflow and underflow tests [from divide] 2557db96d56Sopenharmony_cimaxexponent: 999999999 2567db96d56Sopenharmony_ciminexponent: -999999999 2577db96d56Sopenharmony_cidvix330 divideint +1.23456789012345E-0 9E+999999999 -> 0 2587db96d56Sopenharmony_cidvix331 divideint 9E+999999999 +0.23456789012345E-0 -> NaN Division_impossible 2597db96d56Sopenharmony_cidvix332 divideint +0.100 9E+999999999 -> 0 2607db96d56Sopenharmony_cidvix333 divideint 9E-999999999 +9.100 -> 0 2617db96d56Sopenharmony_cidvix335 divideint -1.23456789012345E-0 9E+999999999 -> -0 2627db96d56Sopenharmony_cidvix336 divideint 9E+999999999 -0.83456789012345E-0 -> NaN Division_impossible 2637db96d56Sopenharmony_cidvix337 divideint -0.100 9E+999999999 -> -0 2647db96d56Sopenharmony_cidvix338 divideint 9E-999999999 -9.100 -> -0 2657db96d56Sopenharmony_ci 2667db96d56Sopenharmony_ci-- long operand checks 2677db96d56Sopenharmony_cimaxexponent: 999 2687db96d56Sopenharmony_ciminexponent: -999 2697db96d56Sopenharmony_ciprecision: 9 2707db96d56Sopenharmony_cidvix401 divideint 12345678000 100 -> 123456780 2717db96d56Sopenharmony_cidvix402 divideint 1 12345678000 -> 0 2727db96d56Sopenharmony_cidvix403 divideint 1234567800 10 -> 123456780 2737db96d56Sopenharmony_cidvix404 divideint 1 1234567800 -> 0 2747db96d56Sopenharmony_cidvix405 divideint 1234567890 10 -> 123456789 2757db96d56Sopenharmony_cidvix406 divideint 1 1234567890 -> 0 2767db96d56Sopenharmony_cidvix407 divideint 1234567891 10 -> 123456789 2777db96d56Sopenharmony_cidvix408 divideint 1 1234567891 -> 0 2787db96d56Sopenharmony_cidvix409 divideint 12345678901 100 -> 123456789 2797db96d56Sopenharmony_cidvix410 divideint 1 12345678901 -> 0 2807db96d56Sopenharmony_cidvix411 divideint 1234567896 10 -> 123456789 2817db96d56Sopenharmony_cidvix412 divideint 1 1234567896 -> 0 2827db96d56Sopenharmony_cidvix413 divideint 12345678948 100 -> 123456789 2837db96d56Sopenharmony_cidvix414 divideint 12345678949 100 -> 123456789 2847db96d56Sopenharmony_cidvix415 divideint 12345678950 100 -> 123456789 2857db96d56Sopenharmony_cidvix416 divideint 12345678951 100 -> 123456789 2867db96d56Sopenharmony_cidvix417 divideint 12345678999 100 -> 123456789 2877db96d56Sopenharmony_ci 2887db96d56Sopenharmony_ciprecision: 15 2897db96d56Sopenharmony_cidvix441 divideint 12345678000 1 -> 12345678000 2907db96d56Sopenharmony_cidvix442 divideint 1 12345678000 -> 0 2917db96d56Sopenharmony_cidvix443 divideint 1234567800 1 -> 1234567800 2927db96d56Sopenharmony_cidvix444 divideint 1 1234567800 -> 0 2937db96d56Sopenharmony_cidvix445 divideint 1234567890 1 -> 1234567890 2947db96d56Sopenharmony_cidvix446 divideint 1 1234567890 -> 0 2957db96d56Sopenharmony_cidvix447 divideint 1234567891 1 -> 1234567891 2967db96d56Sopenharmony_cidvix448 divideint 1 1234567891 -> 0 2977db96d56Sopenharmony_cidvix449 divideint 12345678901 1 -> 12345678901 2987db96d56Sopenharmony_cidvix450 divideint 1 12345678901 -> 0 2997db96d56Sopenharmony_cidvix451 divideint 1234567896 1 -> 1234567896 3007db96d56Sopenharmony_cidvix452 divideint 1 1234567896 -> 0 3017db96d56Sopenharmony_ci 3027db96d56Sopenharmony_ciprecision: 9 3037db96d56Sopenharmony_cirounding: half_up 3047db96d56Sopenharmony_cimaxExponent: 999 3057db96d56Sopenharmony_ciminexponent: -999 3067db96d56Sopenharmony_ci 3077db96d56Sopenharmony_ci-- more zeros, etc. 3087db96d56Sopenharmony_cidvix531 divideint 5.00 1E-3 -> 5000 3097db96d56Sopenharmony_cidvix532 divideint 00.00 0.000 -> NaN Division_undefined 3107db96d56Sopenharmony_cidvix533 divideint 00.00 0E-3 -> NaN Division_undefined 3117db96d56Sopenharmony_cidvix534 divideint 0 -0 -> NaN Division_undefined 3127db96d56Sopenharmony_cidvix535 divideint -0 0 -> NaN Division_undefined 3137db96d56Sopenharmony_cidvix536 divideint -0 -0 -> NaN Division_undefined 3147db96d56Sopenharmony_ci 3157db96d56Sopenharmony_cidvix541 divideint 0 -1 -> -0 3167db96d56Sopenharmony_cidvix542 divideint -0 -1 -> 0 3177db96d56Sopenharmony_cidvix543 divideint 0 1 -> 0 3187db96d56Sopenharmony_cidvix544 divideint -0 1 -> -0 3197db96d56Sopenharmony_cidvix545 divideint -1 0 -> -Infinity Division_by_zero 3207db96d56Sopenharmony_cidvix546 divideint -1 -0 -> Infinity Division_by_zero 3217db96d56Sopenharmony_cidvix547 divideint 1 0 -> Infinity Division_by_zero 3227db96d56Sopenharmony_cidvix548 divideint 1 -0 -> -Infinity Division_by_zero 3237db96d56Sopenharmony_ci 3247db96d56Sopenharmony_cidvix551 divideint 0.0 -1 -> -0 3257db96d56Sopenharmony_cidvix552 divideint -0.0 -1 -> 0 3267db96d56Sopenharmony_cidvix553 divideint 0.0 1 -> 0 3277db96d56Sopenharmony_cidvix554 divideint -0.0 1 -> -0 3287db96d56Sopenharmony_cidvix555 divideint -1.0 0 -> -Infinity Division_by_zero 3297db96d56Sopenharmony_cidvix556 divideint -1.0 -0 -> Infinity Division_by_zero 3307db96d56Sopenharmony_cidvix557 divideint 1.0 0 -> Infinity Division_by_zero 3317db96d56Sopenharmony_cidvix558 divideint 1.0 -0 -> -Infinity Division_by_zero 3327db96d56Sopenharmony_ci 3337db96d56Sopenharmony_cidvix561 divideint 0 -1.0 -> -0 3347db96d56Sopenharmony_cidvix562 divideint -0 -1.0 -> 0 3357db96d56Sopenharmony_cidvix563 divideint 0 1.0 -> 0 3367db96d56Sopenharmony_cidvix564 divideint -0 1.0 -> -0 3377db96d56Sopenharmony_cidvix565 divideint -1 0.0 -> -Infinity Division_by_zero 3387db96d56Sopenharmony_cidvix566 divideint -1 -0.0 -> Infinity Division_by_zero 3397db96d56Sopenharmony_cidvix567 divideint 1 0.0 -> Infinity Division_by_zero 3407db96d56Sopenharmony_cidvix568 divideint 1 -0.0 -> -Infinity Division_by_zero 3417db96d56Sopenharmony_ci 3427db96d56Sopenharmony_cidvix571 divideint 0.0 -1.0 -> -0 3437db96d56Sopenharmony_cidvix572 divideint -0.0 -1.0 -> 0 3447db96d56Sopenharmony_cidvix573 divideint 0.0 1.0 -> 0 3457db96d56Sopenharmony_cidvix574 divideint -0.0 1.0 -> -0 3467db96d56Sopenharmony_cidvix575 divideint -1.0 0.0 -> -Infinity Division_by_zero 3477db96d56Sopenharmony_cidvix576 divideint -1.0 -0.0 -> Infinity Division_by_zero 3487db96d56Sopenharmony_cidvix577 divideint 1.0 0.0 -> Infinity Division_by_zero 3497db96d56Sopenharmony_cidvix578 divideint 1.0 -0.0 -> -Infinity Division_by_zero 3507db96d56Sopenharmony_ci 3517db96d56Sopenharmony_ci-- Specials 3527db96d56Sopenharmony_cidvix580 divideint Inf -Inf -> NaN Invalid_operation 3537db96d56Sopenharmony_cidvix581 divideint Inf -1000 -> -Infinity 3547db96d56Sopenharmony_cidvix582 divideint Inf -1 -> -Infinity 3557db96d56Sopenharmony_cidvix583 divideint Inf -0 -> -Infinity 3567db96d56Sopenharmony_cidvix584 divideint Inf 0 -> Infinity 3577db96d56Sopenharmony_cidvix585 divideint Inf 1 -> Infinity 3587db96d56Sopenharmony_cidvix586 divideint Inf 1000 -> Infinity 3597db96d56Sopenharmony_cidvix587 divideint Inf Inf -> NaN Invalid_operation 3607db96d56Sopenharmony_cidvix588 divideint -1000 Inf -> -0 3617db96d56Sopenharmony_cidvix589 divideint -Inf Inf -> NaN Invalid_operation 3627db96d56Sopenharmony_cidvix590 divideint -1 Inf -> -0 3637db96d56Sopenharmony_cidvix591 divideint -0 Inf -> -0 3647db96d56Sopenharmony_cidvix592 divideint 0 Inf -> 0 3657db96d56Sopenharmony_cidvix593 divideint 1 Inf -> 0 3667db96d56Sopenharmony_cidvix594 divideint 1000 Inf -> 0 3677db96d56Sopenharmony_cidvix595 divideint Inf Inf -> NaN Invalid_operation 3687db96d56Sopenharmony_ci 3697db96d56Sopenharmony_cidvix600 divideint -Inf -Inf -> NaN Invalid_operation 3707db96d56Sopenharmony_cidvix601 divideint -Inf -1000 -> Infinity 3717db96d56Sopenharmony_cidvix602 divideint -Inf -1 -> Infinity 3727db96d56Sopenharmony_cidvix603 divideint -Inf -0 -> Infinity 3737db96d56Sopenharmony_cidvix604 divideint -Inf 0 -> -Infinity 3747db96d56Sopenharmony_cidvix605 divideint -Inf 1 -> -Infinity 3757db96d56Sopenharmony_cidvix606 divideint -Inf 1000 -> -Infinity 3767db96d56Sopenharmony_cidvix607 divideint -Inf Inf -> NaN Invalid_operation 3777db96d56Sopenharmony_cidvix608 divideint -1000 Inf -> -0 3787db96d56Sopenharmony_cidvix609 divideint -Inf -Inf -> NaN Invalid_operation 3797db96d56Sopenharmony_cidvix610 divideint -1 -Inf -> 0 3807db96d56Sopenharmony_cidvix611 divideint -0 -Inf -> 0 3817db96d56Sopenharmony_cidvix612 divideint 0 -Inf -> -0 3827db96d56Sopenharmony_cidvix613 divideint 1 -Inf -> -0 3837db96d56Sopenharmony_cidvix614 divideint 1000 -Inf -> -0 3847db96d56Sopenharmony_cidvix615 divideint Inf -Inf -> NaN Invalid_operation 3857db96d56Sopenharmony_ci 3867db96d56Sopenharmony_cidvix621 divideint NaN -Inf -> NaN 3877db96d56Sopenharmony_cidvix622 divideint NaN -1000 -> NaN 3887db96d56Sopenharmony_cidvix623 divideint NaN -1 -> NaN 3897db96d56Sopenharmony_cidvix624 divideint NaN -0 -> NaN 3907db96d56Sopenharmony_cidvix625 divideint NaN 0 -> NaN 3917db96d56Sopenharmony_cidvix626 divideint NaN 1 -> NaN 3927db96d56Sopenharmony_cidvix627 divideint NaN 1000 -> NaN 3937db96d56Sopenharmony_cidvix628 divideint NaN Inf -> NaN 3947db96d56Sopenharmony_cidvix629 divideint NaN NaN -> NaN 3957db96d56Sopenharmony_cidvix630 divideint -Inf NaN -> NaN 3967db96d56Sopenharmony_cidvix631 divideint -1000 NaN -> NaN 3977db96d56Sopenharmony_cidvix632 divideint -1 NaN -> NaN 3987db96d56Sopenharmony_cidvix633 divideint -0 NaN -> NaN 3997db96d56Sopenharmony_cidvix634 divideint 0 NaN -> NaN 4007db96d56Sopenharmony_cidvix635 divideint 1 NaN -> NaN 4017db96d56Sopenharmony_cidvix636 divideint 1000 NaN -> NaN 4027db96d56Sopenharmony_cidvix637 divideint Inf NaN -> NaN 4037db96d56Sopenharmony_ci 4047db96d56Sopenharmony_cidvix641 divideint sNaN -Inf -> NaN Invalid_operation 4057db96d56Sopenharmony_cidvix642 divideint sNaN -1000 -> NaN Invalid_operation 4067db96d56Sopenharmony_cidvix643 divideint sNaN -1 -> NaN Invalid_operation 4077db96d56Sopenharmony_cidvix644 divideint sNaN -0 -> NaN Invalid_operation 4087db96d56Sopenharmony_cidvix645 divideint sNaN 0 -> NaN Invalid_operation 4097db96d56Sopenharmony_cidvix646 divideint sNaN 1 -> NaN Invalid_operation 4107db96d56Sopenharmony_cidvix647 divideint sNaN 1000 -> NaN Invalid_operation 4117db96d56Sopenharmony_cidvix648 divideint sNaN NaN -> NaN Invalid_operation 4127db96d56Sopenharmony_cidvix649 divideint sNaN sNaN -> NaN Invalid_operation 4137db96d56Sopenharmony_cidvix650 divideint NaN sNaN -> NaN Invalid_operation 4147db96d56Sopenharmony_cidvix651 divideint -Inf sNaN -> NaN Invalid_operation 4157db96d56Sopenharmony_cidvix652 divideint -1000 sNaN -> NaN Invalid_operation 4167db96d56Sopenharmony_cidvix653 divideint -1 sNaN -> NaN Invalid_operation 4177db96d56Sopenharmony_cidvix654 divideint -0 sNaN -> NaN Invalid_operation 4187db96d56Sopenharmony_cidvix655 divideint 0 sNaN -> NaN Invalid_operation 4197db96d56Sopenharmony_cidvix656 divideint 1 sNaN -> NaN Invalid_operation 4207db96d56Sopenharmony_cidvix657 divideint 1000 sNaN -> NaN Invalid_operation 4217db96d56Sopenharmony_cidvix658 divideint Inf sNaN -> NaN Invalid_operation 4227db96d56Sopenharmony_cidvix659 divideint NaN sNaN -> NaN Invalid_operation 4237db96d56Sopenharmony_ci 4247db96d56Sopenharmony_ci-- propagating NaNs 4257db96d56Sopenharmony_cidvix661 divideint NaN9 -Inf -> NaN9 4267db96d56Sopenharmony_cidvix662 divideint NaN8 1000 -> NaN8 4277db96d56Sopenharmony_cidvix663 divideint NaN7 Inf -> NaN7 4287db96d56Sopenharmony_cidvix664 divideint -NaN6 NaN5 -> -NaN6 4297db96d56Sopenharmony_cidvix665 divideint -Inf NaN4 -> NaN4 4307db96d56Sopenharmony_cidvix666 divideint -1000 NaN3 -> NaN3 4317db96d56Sopenharmony_cidvix667 divideint Inf -NaN2 -> -NaN2 4327db96d56Sopenharmony_ci 4337db96d56Sopenharmony_cidvix671 divideint -sNaN99 -Inf -> -NaN99 Invalid_operation 4347db96d56Sopenharmony_cidvix672 divideint sNaN98 -1 -> NaN98 Invalid_operation 4357db96d56Sopenharmony_cidvix673 divideint sNaN97 NaN -> NaN97 Invalid_operation 4367db96d56Sopenharmony_cidvix674 divideint sNaN96 sNaN94 -> NaN96 Invalid_operation 4377db96d56Sopenharmony_cidvix675 divideint NaN95 sNaN93 -> NaN93 Invalid_operation 4387db96d56Sopenharmony_cidvix676 divideint -Inf sNaN92 -> NaN92 Invalid_operation 4397db96d56Sopenharmony_cidvix677 divideint 0 sNaN91 -> NaN91 Invalid_operation 4407db96d56Sopenharmony_cidvix678 divideint Inf -sNaN90 -> -NaN90 Invalid_operation 4417db96d56Sopenharmony_cidvix679 divideint NaN sNaN89 -> NaN89 Invalid_operation 4427db96d56Sopenharmony_ci 4437db96d56Sopenharmony_ci-- some long operand cases again 4447db96d56Sopenharmony_ciprecision: 8 4457db96d56Sopenharmony_cidvix710 divideint 100000001 1 -> NaN Division_impossible 4467db96d56Sopenharmony_cidvix711 divideint 100000000.4 1 -> NaN Division_impossible 4477db96d56Sopenharmony_cidvix712 divideint 100000000.5 1 -> NaN Division_impossible 4487db96d56Sopenharmony_cidvix713 divideint 100000000.9 1 -> NaN Division_impossible 4497db96d56Sopenharmony_cidvix714 divideint 100000000.999 1 -> NaN Division_impossible 4507db96d56Sopenharmony_ciprecision: 6 4517db96d56Sopenharmony_cidvix720 divideint 100000000 1 -> NaN Division_impossible 4527db96d56Sopenharmony_cidvix721 divideint 10000000 1 -> NaN Division_impossible 4537db96d56Sopenharmony_cidvix722 divideint 1000000 1 -> NaN Division_impossible 4547db96d56Sopenharmony_cidvix723 divideint 100000 1 -> 100000 4557db96d56Sopenharmony_cidvix724 divideint 10000 1 -> 10000 4567db96d56Sopenharmony_cidvix725 divideint 1000 1 -> 1000 4577db96d56Sopenharmony_cidvix726 divideint 100 1 -> 100 4587db96d56Sopenharmony_cidvix727 divideint 10 1 -> 10 4597db96d56Sopenharmony_cidvix728 divideint 1 1 -> 1 4607db96d56Sopenharmony_cidvix729 divideint 1 10 -> 0 4617db96d56Sopenharmony_ci 4627db96d56Sopenharmony_ciprecision: 9 4637db96d56Sopenharmony_cimaxexponent: 999999999 4647db96d56Sopenharmony_ciminexponent: -999999999 4657db96d56Sopenharmony_cidvix732 divideint 1 0.99e999999999 -> 0 4667db96d56Sopenharmony_cidvix733 divideint 1 0.999999999e999999999 -> 0 4677db96d56Sopenharmony_cidvix734 divideint 9e999999999 1 -> NaN Division_impossible 4687db96d56Sopenharmony_cidvix735 divideint 9.9e999999999 1 -> NaN Division_impossible 4697db96d56Sopenharmony_cidvix736 divideint 9.99e999999999 1 -> NaN Division_impossible 4707db96d56Sopenharmony_cidvix737 divideint 9.99999999e999999999 1 -> NaN Division_impossible 4717db96d56Sopenharmony_ci 4727db96d56Sopenharmony_cidvix740 divideint 0.1 9e-999999999 -> NaN Division_impossible 4737db96d56Sopenharmony_cidvix741 divideint 0.1 99e-999999999 -> NaN Division_impossible 4747db96d56Sopenharmony_cidvix742 divideint 0.1 999e-999999999 -> NaN Division_impossible 4757db96d56Sopenharmony_ci 4767db96d56Sopenharmony_cidvix743 divideint 0.1 9e-999999998 -> NaN Division_impossible 4777db96d56Sopenharmony_cidvix744 divideint 0.1 99e-999999998 -> NaN Division_impossible 4787db96d56Sopenharmony_cidvix745 divideint 0.1 999e-999999998 -> NaN Division_impossible 4797db96d56Sopenharmony_cidvix746 divideint 0.1 999e-999999997 -> NaN Division_impossible 4807db96d56Sopenharmony_cidvix747 divideint 0.1 9999e-999999997 -> NaN Division_impossible 4817db96d56Sopenharmony_cidvix748 divideint 0.1 99999e-999999997 -> NaN Division_impossible 4827db96d56Sopenharmony_ci 4837db96d56Sopenharmony_ci 4847db96d56Sopenharmony_ci-- Null tests 4857db96d56Sopenharmony_cidvix900 divideint 10 # -> NaN Invalid_operation 4867db96d56Sopenharmony_cidvix901 divideint # 10 -> NaN Invalid_operation 487