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