17db96d56Sopenharmony_ci------------------------------------------------------------------------
27db96d56Sopenharmony_ci-- remainder.decTest -- decimal remainder                             --
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 (as base, above)
297db96d56Sopenharmony_ciremx001 remainder  1     1    ->  0
307db96d56Sopenharmony_ciremx002 remainder  2     1    ->  0
317db96d56Sopenharmony_ciremx003 remainder  1     2    ->  1
327db96d56Sopenharmony_ciremx004 remainder  2     2    ->  0
337db96d56Sopenharmony_ciremx005 remainder  0     1    ->  0
347db96d56Sopenharmony_ciremx006 remainder  0     2    ->  0
357db96d56Sopenharmony_ciremx007 remainder  1     3    ->  1
367db96d56Sopenharmony_ciremx008 remainder  2     3    ->  2
377db96d56Sopenharmony_ciremx009 remainder  3     3    ->  0
387db96d56Sopenharmony_ci
397db96d56Sopenharmony_ciremx010 remainder  2.4   1    ->  0.4
407db96d56Sopenharmony_ciremx011 remainder  2.4   -1   ->  0.4
417db96d56Sopenharmony_ciremx012 remainder  -2.4  1    ->  -0.4
427db96d56Sopenharmony_ciremx013 remainder  -2.4  -1   ->  -0.4
437db96d56Sopenharmony_ciremx014 remainder  2.40  1    ->  0.40
447db96d56Sopenharmony_ciremx015 remainder  2.400 1    ->  0.400
457db96d56Sopenharmony_ciremx016 remainder  2.4   2    ->  0.4
467db96d56Sopenharmony_ciremx017 remainder  2.400 2    ->  0.400
477db96d56Sopenharmony_ciremx018 remainder  2.    2    ->  0
487db96d56Sopenharmony_ciremx019 remainder  20    20   ->  0
497db96d56Sopenharmony_ci
507db96d56Sopenharmony_ciremx020 remainder  187   187    ->  0
517db96d56Sopenharmony_ciremx021 remainder  5     2      ->  1
527db96d56Sopenharmony_ciremx022 remainder  5     2.0    ->  1.0
537db96d56Sopenharmony_ciremx023 remainder  5     2.000  ->  1.000
547db96d56Sopenharmony_ciremx024 remainder  5     0.200  ->  0.000
557db96d56Sopenharmony_ciremx025 remainder  5     0.200  ->  0.000
567db96d56Sopenharmony_ci
577db96d56Sopenharmony_ciremx030 remainder  1     2      ->  1
587db96d56Sopenharmony_ciremx031 remainder  1     4      ->  1
597db96d56Sopenharmony_ciremx032 remainder  1     8      ->  1
607db96d56Sopenharmony_ci
617db96d56Sopenharmony_ciremx033 remainder  1     16     ->  1
627db96d56Sopenharmony_ciremx034 remainder  1     32     ->  1
637db96d56Sopenharmony_ciremx035 remainder  1     64     ->  1
647db96d56Sopenharmony_ciremx040 remainder  1    -2      ->  1
657db96d56Sopenharmony_ciremx041 remainder  1    -4      ->  1
667db96d56Sopenharmony_ciremx042 remainder  1    -8      ->  1
677db96d56Sopenharmony_ciremx043 remainder  1    -16     ->  1
687db96d56Sopenharmony_ciremx044 remainder  1    -32     ->  1
697db96d56Sopenharmony_ciremx045 remainder  1    -64     ->  1
707db96d56Sopenharmony_ciremx050 remainder -1     2      ->  -1
717db96d56Sopenharmony_ciremx051 remainder -1     4      ->  -1
727db96d56Sopenharmony_ciremx052 remainder -1     8      ->  -1
737db96d56Sopenharmony_ciremx053 remainder -1     16     ->  -1
747db96d56Sopenharmony_ciremx054 remainder -1     32     ->  -1
757db96d56Sopenharmony_ciremx055 remainder -1     64     ->  -1
767db96d56Sopenharmony_ciremx060 remainder -1    -2      ->  -1
777db96d56Sopenharmony_ciremx061 remainder -1    -4      ->  -1
787db96d56Sopenharmony_ciremx062 remainder -1    -8      ->  -1
797db96d56Sopenharmony_ciremx063 remainder -1    -16     ->  -1
807db96d56Sopenharmony_ciremx064 remainder -1    -32     ->  -1
817db96d56Sopenharmony_ciremx065 remainder -1    -64     ->  -1
827db96d56Sopenharmony_ci
837db96d56Sopenharmony_ciremx066 remainder  999999999     1  -> 0
847db96d56Sopenharmony_ciremx067 remainder  999999999.4   1  -> 0.4
857db96d56Sopenharmony_ciremx068 remainder  999999999.5   1  -> 0.5
867db96d56Sopenharmony_ciremx069 remainder  999999999.9   1  -> 0.9
877db96d56Sopenharmony_ciremx070 remainder  999999999.999 1  -> 0.999
887db96d56Sopenharmony_ciprecision: 6
897db96d56Sopenharmony_ciremx071 remainder  999999999     1  -> NaN Division_impossible
907db96d56Sopenharmony_ciremx072 remainder  99999999      1  -> NaN Division_impossible
917db96d56Sopenharmony_ciremx073 remainder  9999999       1  -> NaN Division_impossible
927db96d56Sopenharmony_ciremx074 remainder  999999        1  -> 0
937db96d56Sopenharmony_ciremx075 remainder  99999         1  -> 0
947db96d56Sopenharmony_ciremx076 remainder  9999          1  -> 0
957db96d56Sopenharmony_ciremx077 remainder  999           1  -> 0
967db96d56Sopenharmony_ciremx078 remainder  99            1  -> 0
977db96d56Sopenharmony_ciremx079 remainder  9             1  -> 0
987db96d56Sopenharmony_ci
997db96d56Sopenharmony_ciprecision: 9
1007db96d56Sopenharmony_ciremx080 remainder  0.            1  -> 0
1017db96d56Sopenharmony_ciremx081 remainder  .0            1  -> 0.0
1027db96d56Sopenharmony_ciremx082 remainder  0.00          1  -> 0.00
1037db96d56Sopenharmony_ciremx083 remainder  0.00E+9       1  -> 0
1047db96d56Sopenharmony_ciremx084 remainder  0.00E+3       1  -> 0
1057db96d56Sopenharmony_ciremx085 remainder  0.00E+2       1  -> 0
1067db96d56Sopenharmony_ciremx086 remainder  0.00E+1       1  -> 0.0
1077db96d56Sopenharmony_ciremx087 remainder  0.00E+0       1  -> 0.00
1087db96d56Sopenharmony_ciremx088 remainder  0.00E-0       1  -> 0.00
1097db96d56Sopenharmony_ciremx089 remainder  0.00E-1       1  -> 0.000
1107db96d56Sopenharmony_ciremx090 remainder  0.00E-2       1  -> 0.0000
1117db96d56Sopenharmony_ciremx091 remainder  0.00E-3       1  -> 0.00000
1127db96d56Sopenharmony_ciremx092 remainder  0.00E-4       1  -> 0.000000
1137db96d56Sopenharmony_ciremx093 remainder  0.00E-5       1  -> 0E-7
1147db96d56Sopenharmony_ciremx094 remainder  0.00E-6       1  -> 0E-8
1157db96d56Sopenharmony_ciremx095 remainder  0.0000E-50    1  -> 0E-54
1167db96d56Sopenharmony_ci
1177db96d56Sopenharmony_ci-- Various flavours of remainder by 0
1187db96d56Sopenharmony_ciprecision: 9
1197db96d56Sopenharmony_cimaxexponent: 999999999
1207db96d56Sopenharmony_ciminexponent: -999999999
1217db96d56Sopenharmony_ciremx101 remainder  0       0   -> NaN Division_undefined
1227db96d56Sopenharmony_ciremx102 remainder  0      -0   -> NaN Division_undefined
1237db96d56Sopenharmony_ciremx103 remainder -0       0   -> NaN Division_undefined
1247db96d56Sopenharmony_ciremx104 remainder -0      -0   -> NaN Division_undefined
1257db96d56Sopenharmony_ciremx105 remainder  0.0E5   0   -> NaN Division_undefined
1267db96d56Sopenharmony_ciremx106 remainder  0.000   0   -> NaN Division_undefined
1277db96d56Sopenharmony_ci-- [Some think this next group should be Division_by_zero exception, but
1287db96d56Sopenharmony_ci-- IEEE 854 is explicit that it is Invalid operation .. for
1297db96d56Sopenharmony_ci-- remainder-near, anyway]
1307db96d56Sopenharmony_ciremx107 remainder  0.0001  0   -> NaN Invalid_operation
1317db96d56Sopenharmony_ciremx108 remainder  0.01    0   -> NaN Invalid_operation
1327db96d56Sopenharmony_ciremx109 remainder  0.1     0   -> NaN Invalid_operation
1337db96d56Sopenharmony_ciremx110 remainder  1       0   -> NaN Invalid_operation
1347db96d56Sopenharmony_ciremx111 remainder  1       0.0 -> NaN Invalid_operation
1357db96d56Sopenharmony_ciremx112 remainder 10       0.0 -> NaN Invalid_operation
1367db96d56Sopenharmony_ciremx113 remainder 1E+100   0.0 -> NaN Invalid_operation
1377db96d56Sopenharmony_ciremx114 remainder 1E+1000  0   -> NaN Invalid_operation
1387db96d56Sopenharmony_ciremx115 remainder  0.0001 -0   -> NaN Invalid_operation
1397db96d56Sopenharmony_ciremx116 remainder  0.01   -0   -> NaN Invalid_operation
1407db96d56Sopenharmony_ciremx119 remainder  0.1    -0   -> NaN Invalid_operation
1417db96d56Sopenharmony_ciremx120 remainder  1      -0   -> NaN Invalid_operation
1427db96d56Sopenharmony_ciremx121 remainder  1      -0.0 -> NaN Invalid_operation
1437db96d56Sopenharmony_ciremx122 remainder 10      -0.0 -> NaN Invalid_operation
1447db96d56Sopenharmony_ciremx123 remainder 1E+100  -0.0 -> NaN Invalid_operation
1457db96d56Sopenharmony_ciremx124 remainder 1E+1000 -0   -> NaN Invalid_operation
1467db96d56Sopenharmony_ci-- and zeros on left
1477db96d56Sopenharmony_ciremx130 remainder  0      1   ->  0
1487db96d56Sopenharmony_ciremx131 remainder  0     -1   ->  0
1497db96d56Sopenharmony_ciremx132 remainder  0.0    1   ->  0.0
1507db96d56Sopenharmony_ciremx133 remainder  0.0   -1   ->  0.0
1517db96d56Sopenharmony_ciremx134 remainder -0      1   -> -0
1527db96d56Sopenharmony_ciremx135 remainder -0     -1   -> -0
1537db96d56Sopenharmony_ciremx136 remainder -0.0    1   -> -0.0
1547db96d56Sopenharmony_ciremx137 remainder -0.0   -1   -> -0.0
1557db96d56Sopenharmony_ci
1567db96d56Sopenharmony_ci-- 0.5ers
1577db96d56Sopenharmony_ciremx143 remainder   0.5  2     ->  0.5
1587db96d56Sopenharmony_ciremx144 remainder   0.5  2.1   ->  0.5
1597db96d56Sopenharmony_ciremx145 remainder   0.5  2.01  ->  0.50
1607db96d56Sopenharmony_ciremx146 remainder   0.5  2.001 ->  0.500
1617db96d56Sopenharmony_ciremx147 remainder   0.50 2     ->  0.50
1627db96d56Sopenharmony_ciremx148 remainder   0.50 2.01  ->  0.50
1637db96d56Sopenharmony_ciremx149 remainder   0.50 2.001 ->  0.500
1647db96d56Sopenharmony_ci
1657db96d56Sopenharmony_ci-- steadies
1667db96d56Sopenharmony_ciremx150 remainder  1  1   -> 0
1677db96d56Sopenharmony_ciremx151 remainder  1  2   -> 1
1687db96d56Sopenharmony_ciremx152 remainder  1  3   -> 1
1697db96d56Sopenharmony_ciremx153 remainder  1  4   -> 1
1707db96d56Sopenharmony_ciremx154 remainder  1  5   -> 1
1717db96d56Sopenharmony_ciremx155 remainder  1  6   -> 1
1727db96d56Sopenharmony_ciremx156 remainder  1  7   -> 1
1737db96d56Sopenharmony_ciremx157 remainder  1  8   -> 1
1747db96d56Sopenharmony_ciremx158 remainder  1  9   -> 1
1757db96d56Sopenharmony_ciremx159 remainder  1  10  -> 1
1767db96d56Sopenharmony_ciremx160 remainder  1  1   -> 0
1777db96d56Sopenharmony_ciremx161 remainder  2  1   -> 0
1787db96d56Sopenharmony_ciremx162 remainder  3  1   -> 0
1797db96d56Sopenharmony_ciremx163 remainder  4  1   -> 0
1807db96d56Sopenharmony_ciremx164 remainder  5  1   -> 0
1817db96d56Sopenharmony_ciremx165 remainder  6  1   -> 0
1827db96d56Sopenharmony_ciremx166 remainder  7  1   -> 0
1837db96d56Sopenharmony_ciremx167 remainder  8  1   -> 0
1847db96d56Sopenharmony_ciremx168 remainder  9  1   -> 0
1857db96d56Sopenharmony_ciremx169 remainder  10 1   -> 0
1867db96d56Sopenharmony_ci
1877db96d56Sopenharmony_ci-- some differences from remainderNear
1887db96d56Sopenharmony_ciremx171 remainder   0.4  1.020 ->  0.400
1897db96d56Sopenharmony_ciremx172 remainder   0.50 1.020 ->  0.500
1907db96d56Sopenharmony_ciremx173 remainder   0.51 1.020 ->  0.510
1917db96d56Sopenharmony_ciremx174 remainder   0.52 1.020 ->  0.520
1927db96d56Sopenharmony_ciremx175 remainder   0.6  1.020 ->  0.600
1937db96d56Sopenharmony_ci
1947db96d56Sopenharmony_ci
1957db96d56Sopenharmony_ci-- More flavours of remainder by 0
1967db96d56Sopenharmony_cimaxexponent: 999999999
1977db96d56Sopenharmony_ciminexponent: -999999999
1987db96d56Sopenharmony_ciremx201 remainder  0      0   -> NaN Division_undefined
1997db96d56Sopenharmony_ciremx202 remainder  0.0E5  0   -> NaN Division_undefined
2007db96d56Sopenharmony_ciremx203 remainder  0.000  0   -> NaN Division_undefined
2017db96d56Sopenharmony_ciremx204 remainder  0.0001 0   -> NaN Invalid_operation
2027db96d56Sopenharmony_ciremx205 remainder  0.01   0   -> NaN Invalid_operation
2037db96d56Sopenharmony_ciremx206 remainder  0.1    0   -> NaN Invalid_operation
2047db96d56Sopenharmony_ciremx207 remainder  1      0   -> NaN Invalid_operation
2057db96d56Sopenharmony_ciremx208 remainder  1      0.0 -> NaN Invalid_operation
2067db96d56Sopenharmony_ciremx209 remainder 10      0.0 -> NaN Invalid_operation
2077db96d56Sopenharmony_ciremx210 remainder 1E+100  0.0 -> NaN Invalid_operation
2087db96d56Sopenharmony_ciremx211 remainder 1E+1000 0   -> NaN Invalid_operation
2097db96d56Sopenharmony_ci
2107db96d56Sopenharmony_ci-- some differences from remainderNear
2117db96d56Sopenharmony_ciremx231 remainder  -0.4  1.020 -> -0.400
2127db96d56Sopenharmony_ciremx232 remainder  -0.50 1.020 -> -0.500
2137db96d56Sopenharmony_ciremx233 remainder  -0.51 1.020 -> -0.510
2147db96d56Sopenharmony_ciremx234 remainder  -0.52 1.020 -> -0.520
2157db96d56Sopenharmony_ciremx235 remainder  -0.6  1.020 -> -0.600
2167db96d56Sopenharmony_ci
2177db96d56Sopenharmony_ci-- high Xs
2187db96d56Sopenharmony_ciremx240 remainder  1E+2  1.00  ->  0.00
2197db96d56Sopenharmony_ci
2207db96d56Sopenharmony_ci
2217db96d56Sopenharmony_ci-- test some cases that are close to exponent overflow
2227db96d56Sopenharmony_cimaxexponent: 999999999
2237db96d56Sopenharmony_ciminexponent: -999999999
2247db96d56Sopenharmony_ciremx270 remainder 1 1e999999999    -> 1
2257db96d56Sopenharmony_ciremx271 remainder 1 0.9e999999999  -> 1
2267db96d56Sopenharmony_ciremx272 remainder 1 0.99e999999999 -> 1
2277db96d56Sopenharmony_ciremx273 remainder 1 0.999999999e999999999 -> 1
2287db96d56Sopenharmony_ciremx274 remainder 9e999999999          1 -> NaN Division_impossible
2297db96d56Sopenharmony_ciremx275 remainder 9.9e999999999        1 -> NaN Division_impossible
2307db96d56Sopenharmony_ciremx276 remainder 9.99e999999999       1 -> NaN Division_impossible
2317db96d56Sopenharmony_ciremx277 remainder 9.99999999e999999999 1 -> NaN Division_impossible
2327db96d56Sopenharmony_ci
2337db96d56Sopenharmony_ciremx280 remainder 0.1 9e-999999999       -> NaN Division_impossible
2347db96d56Sopenharmony_ciremx281 remainder 0.1 99e-999999999      -> NaN Division_impossible
2357db96d56Sopenharmony_ciremx282 remainder 0.1 999e-999999999     -> NaN Division_impossible
2367db96d56Sopenharmony_ci
2377db96d56Sopenharmony_ciremx283 remainder 0.1 9e-999999998       -> NaN Division_impossible
2387db96d56Sopenharmony_ciremx284 remainder 0.1 99e-999999998      -> NaN Division_impossible
2397db96d56Sopenharmony_ciremx285 remainder 0.1 999e-999999998     -> NaN Division_impossible
2407db96d56Sopenharmony_ciremx286 remainder 0.1 999e-999999997     -> NaN Division_impossible
2417db96d56Sopenharmony_ciremx287 remainder 0.1 9999e-999999997    -> NaN Division_impossible
2427db96d56Sopenharmony_ciremx288 remainder 0.1 99999e-999999997   -> NaN Division_impossible
2437db96d56Sopenharmony_ci
2447db96d56Sopenharmony_ci-- remx3xx are from DiagBigDecimal
2457db96d56Sopenharmony_ciremx301 remainder   1    3     ->  1
2467db96d56Sopenharmony_ciremx302 remainder   5    5     ->  0
2477db96d56Sopenharmony_ciremx303 remainder   13   10    ->  3
2487db96d56Sopenharmony_ciremx304 remainder   13   50    ->  13
2497db96d56Sopenharmony_ciremx305 remainder   13   100   ->  13
2507db96d56Sopenharmony_ciremx306 remainder   13   1000  ->  13
2517db96d56Sopenharmony_ciremx307 remainder   .13    1   ->  0.13
2527db96d56Sopenharmony_ciremx308 remainder   0.133  1   ->  0.133
2537db96d56Sopenharmony_ciremx309 remainder   0.1033 1   ->  0.1033
2547db96d56Sopenharmony_ciremx310 remainder   1.033  1   ->  0.033
2557db96d56Sopenharmony_ciremx311 remainder   10.33  1   ->  0.33
2567db96d56Sopenharmony_ciremx312 remainder   10.33 10   ->  0.33
2577db96d56Sopenharmony_ciremx313 remainder   103.3  1   ->  0.3
2587db96d56Sopenharmony_ciremx314 remainder   133   10   ->  3
2597db96d56Sopenharmony_ciremx315 remainder   1033  10   ->  3
2607db96d56Sopenharmony_ciremx316 remainder   1033  50   ->  33
2617db96d56Sopenharmony_ciremx317 remainder   101.0  3   ->  2.0
2627db96d56Sopenharmony_ciremx318 remainder   102.0  3   ->  0.0
2637db96d56Sopenharmony_ciremx319 remainder   103.0  3   ->  1.0
2647db96d56Sopenharmony_ciremx320 remainder   2.40   1   ->  0.40
2657db96d56Sopenharmony_ciremx321 remainder   2.400  1   ->  0.400
2667db96d56Sopenharmony_ciremx322 remainder   2.4    1   ->  0.4
2677db96d56Sopenharmony_ciremx323 remainder   2.4    2   ->  0.4
2687db96d56Sopenharmony_ciremx324 remainder   2.400  2   ->  0.400
2697db96d56Sopenharmony_ciremx325 remainder   1   0.3    ->  0.1
2707db96d56Sopenharmony_ciremx326 remainder   1   0.30   ->  0.10
2717db96d56Sopenharmony_ciremx327 remainder   1   0.300  ->  0.100
2727db96d56Sopenharmony_ciremx328 remainder   1   0.3000 ->  0.1000
2737db96d56Sopenharmony_ciremx329 remainder   1.0    0.3 ->  0.1
2747db96d56Sopenharmony_ciremx330 remainder   1.00   0.3 ->  0.10
2757db96d56Sopenharmony_ciremx331 remainder   1.000  0.3 ->  0.100
2767db96d56Sopenharmony_ciremx332 remainder   1.0000 0.3 ->  0.1000
2777db96d56Sopenharmony_ciremx333 remainder   0.5  2     ->  0.5
2787db96d56Sopenharmony_ciremx334 remainder   0.5  2.1   ->  0.5
2797db96d56Sopenharmony_ciremx335 remainder   0.5  2.01  ->  0.50
2807db96d56Sopenharmony_ciremx336 remainder   0.5  2.001 ->  0.500
2817db96d56Sopenharmony_ciremx337 remainder   0.50 2     ->  0.50
2827db96d56Sopenharmony_ciremx338 remainder   0.50 2.01  ->  0.50
2837db96d56Sopenharmony_ciremx339 remainder   0.50 2.001 ->  0.500
2847db96d56Sopenharmony_ci
2857db96d56Sopenharmony_ciremx340 remainder   0.5   0.5000001    ->  0.5000000
2867db96d56Sopenharmony_ciremx341 remainder   0.5   0.50000001    ->  0.50000000
2877db96d56Sopenharmony_ciremx342 remainder   0.5   0.500000001    ->  0.500000000
2887db96d56Sopenharmony_ciremx343 remainder   0.5   0.5000000001    ->  0.500000000  Rounded
2897db96d56Sopenharmony_ciremx344 remainder   0.5   0.50000000001    ->  0.500000000  Rounded
2907db96d56Sopenharmony_ciremx345 remainder   0.5   0.4999999    ->  1E-7
2917db96d56Sopenharmony_ciremx346 remainder   0.5   0.49999999    ->  1E-8
2927db96d56Sopenharmony_ciremx347 remainder   0.5   0.499999999    ->  1E-9
2937db96d56Sopenharmony_ciremx348 remainder   0.5   0.4999999999    ->  1E-10
2947db96d56Sopenharmony_ciremx349 remainder   0.5   0.49999999999    ->  1E-11
2957db96d56Sopenharmony_ciremx350 remainder   0.5   0.499999999999    ->  1E-12
2967db96d56Sopenharmony_ci
2977db96d56Sopenharmony_ciremx351 remainder   0.03  7  ->  0.03
2987db96d56Sopenharmony_ciremx352 remainder   5   2    ->  1
2997db96d56Sopenharmony_ciremx353 remainder   4.1   2    ->  0.1
3007db96d56Sopenharmony_ciremx354 remainder   4.01   2    ->  0.01
3017db96d56Sopenharmony_ciremx355 remainder   4.001   2    ->  0.001
3027db96d56Sopenharmony_ciremx356 remainder   4.0001   2    ->  0.0001
3037db96d56Sopenharmony_ciremx357 remainder   4.00001   2    ->  0.00001
3047db96d56Sopenharmony_ciremx358 remainder   4.000001   2    ->  0.000001
3057db96d56Sopenharmony_ciremx359 remainder   4.0000001   2    ->  1E-7
3067db96d56Sopenharmony_ci
3077db96d56Sopenharmony_ciremx360 remainder   1.2   0.7345 ->  0.4655
3087db96d56Sopenharmony_ciremx361 remainder   0.8   12     ->  0.8
3097db96d56Sopenharmony_ciremx362 remainder   0.8   0.2    ->  0.0
3107db96d56Sopenharmony_ciremx363 remainder   0.8   0.3    ->  0.2
3117db96d56Sopenharmony_ciremx364 remainder   0.800   12   ->  0.800
3127db96d56Sopenharmony_ciremx365 remainder   0.800   1.7  ->  0.800
3137db96d56Sopenharmony_ciremx366 remainder   2.400   2    ->  0.400
3147db96d56Sopenharmony_ci
3157db96d56Sopenharmony_ciprecision: 6
3167db96d56Sopenharmony_ciremx371 remainder   2.400  2        ->  0.400
3177db96d56Sopenharmony_ciprecision: 3
3187db96d56Sopenharmony_ci-- long operand, rounded, case
3197db96d56Sopenharmony_ciremx372 remainder   12345678900000 12e+12 -> 3.46E+11 Inexact Rounded
3207db96d56Sopenharmony_ci--                  12000000000000
3217db96d56Sopenharmony_ci
3227db96d56Sopenharmony_ciprecision: 5
3237db96d56Sopenharmony_ciremx381 remainder 12345  1         ->  0
3247db96d56Sopenharmony_ciremx382 remainder 12345  1.0001    ->  0.7657
3257db96d56Sopenharmony_ciremx383 remainder 12345  1.001     ->  0.668
3267db96d56Sopenharmony_ciremx384 remainder 12345  1.01      ->  0.78
3277db96d56Sopenharmony_ciremx385 remainder 12345  1.1       ->  0.8
3287db96d56Sopenharmony_ciremx386 remainder 12355  4         ->  3
3297db96d56Sopenharmony_ciremx387 remainder 12345  4         ->  1
3307db96d56Sopenharmony_ciremx388 remainder 12355  4.0001    ->  2.6912
3317db96d56Sopenharmony_ciremx389 remainder 12345  4.0001    ->  0.6914
3327db96d56Sopenharmony_ciremx390 remainder 12345  4.9       ->  1.9
3337db96d56Sopenharmony_ciremx391 remainder 12345  4.99      ->  4.73
3347db96d56Sopenharmony_ciremx392 remainder 12345  4.999     ->  2.469
3357db96d56Sopenharmony_ciremx393 remainder 12345  4.9999    ->  0.2469
3367db96d56Sopenharmony_ciremx394 remainder 12345  5         ->  0
3377db96d56Sopenharmony_ciremx395 remainder 12345  5.0001    ->  4.7532
3387db96d56Sopenharmony_ciremx396 remainder 12345  5.001     ->  2.532
3397db96d56Sopenharmony_ciremx397 remainder 12345  5.01      ->  0.36
3407db96d56Sopenharmony_ciremx398 remainder 12345  5.1       ->  3.0
3417db96d56Sopenharmony_ci
3427db96d56Sopenharmony_ciprecision: 9
3437db96d56Sopenharmony_ci-- the nasty division-by-1 cases
3447db96d56Sopenharmony_ciremx401 remainder   0.5         1   ->  0.5
3457db96d56Sopenharmony_ciremx402 remainder   0.55        1   ->  0.55
3467db96d56Sopenharmony_ciremx403 remainder   0.555       1   ->  0.555
3477db96d56Sopenharmony_ciremx404 remainder   0.5555      1   ->  0.5555
3487db96d56Sopenharmony_ciremx405 remainder   0.55555     1   ->  0.55555
3497db96d56Sopenharmony_ciremx406 remainder   0.555555    1   ->  0.555555
3507db96d56Sopenharmony_ciremx407 remainder   0.5555555   1   ->  0.5555555
3517db96d56Sopenharmony_ciremx408 remainder   0.55555555  1   ->  0.55555555
3527db96d56Sopenharmony_ciremx409 remainder   0.555555555 1   ->  0.555555555
3537db96d56Sopenharmony_ci
3547db96d56Sopenharmony_ci-- zero signs
3557db96d56Sopenharmony_ciremx650 remainder  1  1 ->  0
3567db96d56Sopenharmony_ciremx651 remainder -1  1 -> -0
3577db96d56Sopenharmony_ciremx652 remainder  1 -1 ->  0
3587db96d56Sopenharmony_ciremx653 remainder -1 -1 -> -0
3597db96d56Sopenharmony_ciremx654 remainder  0  1 ->  0
3607db96d56Sopenharmony_ciremx655 remainder -0  1 -> -0
3617db96d56Sopenharmony_ciremx656 remainder  0 -1 ->  0
3627db96d56Sopenharmony_ciremx657 remainder -0 -1 -> -0
3637db96d56Sopenharmony_ciremx658 remainder  0.00  1  ->  0.00
3647db96d56Sopenharmony_ciremx659 remainder -0.00  1  -> -0.00
3657db96d56Sopenharmony_ci
3667db96d56Sopenharmony_ci-- Specials
3677db96d56Sopenharmony_ciremx680 remainder  Inf  -Inf   ->  NaN Invalid_operation
3687db96d56Sopenharmony_ciremx681 remainder  Inf  -1000  ->  NaN Invalid_operation
3697db96d56Sopenharmony_ciremx682 remainder  Inf  -1     ->  NaN Invalid_operation
3707db96d56Sopenharmony_ciremx683 remainder  Inf   0     ->  NaN Invalid_operation
3717db96d56Sopenharmony_ciremx684 remainder  Inf  -0     ->  NaN Invalid_operation
3727db96d56Sopenharmony_ciremx685 remainder  Inf   1     ->  NaN Invalid_operation
3737db96d56Sopenharmony_ciremx686 remainder  Inf   1000  ->  NaN Invalid_operation
3747db96d56Sopenharmony_ciremx687 remainder  Inf   Inf   ->  NaN Invalid_operation
3757db96d56Sopenharmony_ciremx688 remainder -1000  Inf   -> -1000
3767db96d56Sopenharmony_ciremx689 remainder -Inf   Inf   ->  NaN Invalid_operation
3777db96d56Sopenharmony_ciremx691 remainder -1     Inf   -> -1
3787db96d56Sopenharmony_ciremx692 remainder  0     Inf   ->  0
3797db96d56Sopenharmony_ciremx693 remainder -0     Inf   -> -0
3807db96d56Sopenharmony_ciremx694 remainder  1     Inf   ->  1
3817db96d56Sopenharmony_ciremx695 remainder  1000  Inf   ->  1000
3827db96d56Sopenharmony_ciremx696 remainder  Inf   Inf   ->  NaN Invalid_operation
3837db96d56Sopenharmony_ci
3847db96d56Sopenharmony_ciremx700 remainder -Inf  -Inf   ->  NaN Invalid_operation
3857db96d56Sopenharmony_ciremx701 remainder -Inf  -1000  ->  NaN Invalid_operation
3867db96d56Sopenharmony_ciremx702 remainder -Inf  -1     ->  NaN Invalid_operation
3877db96d56Sopenharmony_ciremx703 remainder -Inf  -0     ->  NaN Invalid_operation
3887db96d56Sopenharmony_ciremx704 remainder -Inf   0     ->  NaN Invalid_operation
3897db96d56Sopenharmony_ciremx705 remainder -Inf   1     ->  NaN Invalid_operation
3907db96d56Sopenharmony_ciremx706 remainder -Inf   1000  ->  NaN Invalid_operation
3917db96d56Sopenharmony_ciremx707 remainder -Inf   Inf   ->  NaN Invalid_operation
3927db96d56Sopenharmony_ciremx708 remainder -Inf  -Inf   ->  NaN Invalid_operation
3937db96d56Sopenharmony_ciremx709 remainder -1000  Inf   -> -1000
3947db96d56Sopenharmony_ciremx710 remainder -1    -Inf   -> -1
3957db96d56Sopenharmony_ciremx711 remainder -0    -Inf   -> -0
3967db96d56Sopenharmony_ciremx712 remainder  0    -Inf   ->  0
3977db96d56Sopenharmony_ciremx713 remainder  1    -Inf   ->  1
3987db96d56Sopenharmony_ciremx714 remainder  1000 -Inf   ->  1000
3997db96d56Sopenharmony_ciremx715 remainder  Inf  -Inf   ->  NaN Invalid_operation
4007db96d56Sopenharmony_ci
4017db96d56Sopenharmony_ciremx721 remainder  NaN -Inf    ->  NaN
4027db96d56Sopenharmony_ciremx722 remainder  NaN -1000   ->  NaN
4037db96d56Sopenharmony_ciremx723 remainder  NaN -1      ->  NaN
4047db96d56Sopenharmony_ciremx724 remainder  NaN -0      ->  NaN
4057db96d56Sopenharmony_ciremx725 remainder -NaN  0      -> -NaN
4067db96d56Sopenharmony_ciremx726 remainder  NaN  1      ->  NaN
4077db96d56Sopenharmony_ciremx727 remainder  NaN  1000   ->  NaN
4087db96d56Sopenharmony_ciremx728 remainder  NaN  Inf    ->  NaN
4097db96d56Sopenharmony_ciremx729 remainder  NaN -NaN    ->  NaN
4107db96d56Sopenharmony_ciremx730 remainder -Inf  NaN    ->  NaN
4117db96d56Sopenharmony_ciremx731 remainder -1000 NaN    ->  NaN
4127db96d56Sopenharmony_ciremx732 remainder -1    NaN    ->  NaN
4137db96d56Sopenharmony_ciremx733 remainder -0   -NaN    -> -NaN
4147db96d56Sopenharmony_ciremx734 remainder  0    NaN    ->  NaN
4157db96d56Sopenharmony_ciremx735 remainder  1   -NaN    -> -NaN
4167db96d56Sopenharmony_ciremx736 remainder  1000 NaN    ->  NaN
4177db96d56Sopenharmony_ciremx737 remainder  Inf  NaN    ->  NaN
4187db96d56Sopenharmony_ci
4197db96d56Sopenharmony_ciremx741 remainder  sNaN -Inf   ->  NaN  Invalid_operation
4207db96d56Sopenharmony_ciremx742 remainder  sNaN -1000  ->  NaN  Invalid_operation
4217db96d56Sopenharmony_ciremx743 remainder -sNaN -1     -> -NaN  Invalid_operation
4227db96d56Sopenharmony_ciremx744 remainder  sNaN -0     ->  NaN  Invalid_operation
4237db96d56Sopenharmony_ciremx745 remainder  sNaN  0     ->  NaN  Invalid_operation
4247db96d56Sopenharmony_ciremx746 remainder  sNaN  1     ->  NaN  Invalid_operation
4257db96d56Sopenharmony_ciremx747 remainder  sNaN  1000  ->  NaN  Invalid_operation
4267db96d56Sopenharmony_ciremx749 remainder  sNaN  NaN   ->  NaN  Invalid_operation
4277db96d56Sopenharmony_ciremx750 remainder  sNaN sNaN   ->  NaN  Invalid_operation
4287db96d56Sopenharmony_ciremx751 remainder  NaN  sNaN   ->  NaN  Invalid_operation
4297db96d56Sopenharmony_ciremx752 remainder -Inf  sNaN   ->  NaN  Invalid_operation
4307db96d56Sopenharmony_ciremx753 remainder -1000 sNaN   ->  NaN  Invalid_operation
4317db96d56Sopenharmony_ciremx754 remainder -1    sNaN   ->  NaN  Invalid_operation
4327db96d56Sopenharmony_ciremx755 remainder -0    sNaN   ->  NaN  Invalid_operation
4337db96d56Sopenharmony_ciremx756 remainder  0    sNaN   ->  NaN  Invalid_operation
4347db96d56Sopenharmony_ciremx757 remainder  1    sNaN   ->  NaN  Invalid_operation
4357db96d56Sopenharmony_ciremx758 remainder  1000 sNaN   ->  NaN  Invalid_operation
4367db96d56Sopenharmony_ciremx759 remainder  Inf -sNaN   -> -NaN  Invalid_operation
4377db96d56Sopenharmony_ci
4387db96d56Sopenharmony_ci-- propaging NaNs
4397db96d56Sopenharmony_ciremx760 remainder  NaN1   NaN7   ->  NaN1
4407db96d56Sopenharmony_ciremx761 remainder sNaN2   NaN8   ->  NaN2 Invalid_operation
4417db96d56Sopenharmony_ciremx762 remainder  NaN3  sNaN9   ->  NaN9 Invalid_operation
4427db96d56Sopenharmony_ciremx763 remainder sNaN4  sNaN10  ->  NaN4 Invalid_operation
4437db96d56Sopenharmony_ciremx764 remainder    15   NaN11  ->  NaN11
4447db96d56Sopenharmony_ciremx765 remainder  NaN6   NaN12  ->  NaN6
4457db96d56Sopenharmony_ciremx766 remainder  Inf    NaN13  ->  NaN13
4467db96d56Sopenharmony_ciremx767 remainder  NaN14  -Inf   ->  NaN14
4477db96d56Sopenharmony_ciremx768 remainder    0    NaN15  ->  NaN15
4487db96d56Sopenharmony_ciremx769 remainder  NaN16   -0    ->  NaN16
4497db96d56Sopenharmony_ci
4507db96d56Sopenharmony_ci-- test some cases that are close to exponent overflow
4517db96d56Sopenharmony_cimaxexponent: 999999999
4527db96d56Sopenharmony_ciminexponent: -999999999
4537db96d56Sopenharmony_ciremx770 remainder 1 1e999999999    -> 1
4547db96d56Sopenharmony_ciremx771 remainder 1 0.9e999999999  -> 1
4557db96d56Sopenharmony_ciremx772 remainder 1 0.99e999999999 -> 1
4567db96d56Sopenharmony_ciremx773 remainder 1 0.999999999e999999999 -> 1
4577db96d56Sopenharmony_ciremx774 remainder 9e999999999          1 -> NaN Division_impossible
4587db96d56Sopenharmony_ciremx775 remainder 9.9e999999999        1 -> NaN Division_impossible
4597db96d56Sopenharmony_ciremx776 remainder 9.99e999999999       1 -> NaN Division_impossible
4607db96d56Sopenharmony_ciremx777 remainder 9.99999999e999999999 1 -> NaN Division_impossible
4617db96d56Sopenharmony_ci
4627db96d56Sopenharmony_ci-- long operand checks
4637db96d56Sopenharmony_cimaxexponent: 999
4647db96d56Sopenharmony_ciminexponent: -999
4657db96d56Sopenharmony_ciprecision: 9
4667db96d56Sopenharmony_ciremx801 remainder 12345678000 100 -> 0
4677db96d56Sopenharmony_ciremx802 remainder 1 12345678000   -> 1
4687db96d56Sopenharmony_ciremx803 remainder 1234567800  10  -> 0
4697db96d56Sopenharmony_ciremx804 remainder 1 1234567800    -> 1
4707db96d56Sopenharmony_ciremx805 remainder 1234567890  10  -> 0
4717db96d56Sopenharmony_ciremx806 remainder 1 1234567890    -> 1
4727db96d56Sopenharmony_ciremx807 remainder 1234567891  10  -> 1
4737db96d56Sopenharmony_ciremx808 remainder 1 1234567891    -> 1
4747db96d56Sopenharmony_ciremx809 remainder 12345678901 100 -> 1
4757db96d56Sopenharmony_ciremx810 remainder 1 12345678901   -> 1
4767db96d56Sopenharmony_ciremx811 remainder 1234567896  10  -> 6
4777db96d56Sopenharmony_ciremx812 remainder 1 1234567896    -> 1
4787db96d56Sopenharmony_ci
4797db96d56Sopenharmony_ciprecision: 15
4807db96d56Sopenharmony_ciremx821 remainder 12345678000 100 -> 0
4817db96d56Sopenharmony_ciremx822 remainder 1 12345678000   -> 1
4827db96d56Sopenharmony_ciremx823 remainder 1234567800  10  -> 0
4837db96d56Sopenharmony_ciremx824 remainder 1 1234567800    -> 1
4847db96d56Sopenharmony_ciremx825 remainder 1234567890  10  -> 0
4857db96d56Sopenharmony_ciremx826 remainder 1 1234567890    -> 1
4867db96d56Sopenharmony_ciremx827 remainder 1234567891  10  -> 1
4877db96d56Sopenharmony_ciremx828 remainder 1 1234567891    -> 1
4887db96d56Sopenharmony_ciremx829 remainder 12345678901 100 -> 1
4897db96d56Sopenharmony_ciremx830 remainder 1 12345678901   -> 1
4907db96d56Sopenharmony_ciremx831 remainder 1234567896  10  -> 6
4917db96d56Sopenharmony_ciremx832 remainder 1 1234567896    -> 1
4927db96d56Sopenharmony_ci
4937db96d56Sopenharmony_ci-- worries from divideint
4947db96d56Sopenharmony_ciprecision: 8
4957db96d56Sopenharmony_ciremx840 remainder  100000000.0   1  ->  NaN Division_impossible
4967db96d56Sopenharmony_ciremx841 remainder  100000000.4   1  ->  NaN Division_impossible
4977db96d56Sopenharmony_ciremx842 remainder  100000000.5   1  ->  NaN Division_impossible
4987db96d56Sopenharmony_ciremx843 remainder  100000000.9   1  ->  NaN Division_impossible
4997db96d56Sopenharmony_ciremx844 remainder  100000000.999 1  ->  NaN Division_impossible
5007db96d56Sopenharmony_ciprecision: 6
5017db96d56Sopenharmony_ciremx850 remainder  100000003     5  ->  NaN Division_impossible
5027db96d56Sopenharmony_ciremx851 remainder  10000003      5  ->  NaN Division_impossible
5037db96d56Sopenharmony_ciremx852 remainder  1000003       5  ->  3
5047db96d56Sopenharmony_ciremx853 remainder  100003        5  ->  3
5057db96d56Sopenharmony_ciremx854 remainder  10003         5  ->  3
5067db96d56Sopenharmony_ciremx855 remainder  1003          5  ->  3
5077db96d56Sopenharmony_ciremx856 remainder  103           5  ->  3
5087db96d56Sopenharmony_ciremx857 remainder  13            5  ->  3
5097db96d56Sopenharmony_ciremx858 remainder  1             5  ->  1
5107db96d56Sopenharmony_ci
5117db96d56Sopenharmony_ci-- Vladimir's cases
5127db96d56Sopenharmony_ciremx860 remainder 123.0e1 10000000000000000 -> 1230
5137db96d56Sopenharmony_ciremx861 remainder 1230    10000000000000000 -> 1230
5147db96d56Sopenharmony_ciremx862 remainder 12.3e2  10000000000000000 -> 1230
5157db96d56Sopenharmony_ciremx863 remainder 1.23e3  10000000000000000 -> 1230
5167db96d56Sopenharmony_ciremx864 remainder 123e1   10000000000000000 -> 1230
5177db96d56Sopenharmony_ciremx870 remainder 123e1    1000000000000000 -> 1230
5187db96d56Sopenharmony_ciremx871 remainder 123e1     100000000000000 -> 1230
5197db96d56Sopenharmony_ciremx872 remainder 123e1      10000000000000 -> 1230
5207db96d56Sopenharmony_ciremx873 remainder 123e1       1000000000000 -> 1230
5217db96d56Sopenharmony_ciremx874 remainder 123e1        100000000000 -> 1230
5227db96d56Sopenharmony_ciremx875 remainder 123e1         10000000000 -> 1230
5237db96d56Sopenharmony_ciremx876 remainder 123e1          1000000000 -> 1230
5247db96d56Sopenharmony_ciremx877 remainder 123e1           100000000 -> 1230
5257db96d56Sopenharmony_ciremx878 remainder 1230            100000000 -> 1230
5267db96d56Sopenharmony_ciremx879 remainder 123e1            10000000 -> 1230
5277db96d56Sopenharmony_ciremx880 remainder 123e1             1000000 -> 1230
5287db96d56Sopenharmony_ciremx881 remainder 123e1              100000 -> 1230
5297db96d56Sopenharmony_ciremx882 remainder 123e1               10000 -> 1230
5307db96d56Sopenharmony_ciremx883 remainder 123e1                1000 ->  230
5317db96d56Sopenharmony_ciremx884 remainder 123e1                 100 ->   30
5327db96d56Sopenharmony_ciremx885 remainder 123e1                  10 ->    0
5337db96d56Sopenharmony_ciremx886 remainder 123e1                   1 ->    0
5347db96d56Sopenharmony_ci
5357db96d56Sopenharmony_ciremx889 remainder 123e1   20000000000000000 -> 1230
5367db96d56Sopenharmony_ciremx890 remainder 123e1    2000000000000000 -> 1230
5377db96d56Sopenharmony_ciremx891 remainder 123e1     200000000000000 -> 1230
5387db96d56Sopenharmony_ciremx892 remainder 123e1      20000000000000 -> 1230
5397db96d56Sopenharmony_ciremx893 remainder 123e1       2000000000000 -> 1230
5407db96d56Sopenharmony_ciremx894 remainder 123e1        200000000000 -> 1230
5417db96d56Sopenharmony_ciremx895 remainder 123e1         20000000000 -> 1230
5427db96d56Sopenharmony_ciremx896 remainder 123e1          2000000000 -> 1230
5437db96d56Sopenharmony_ciremx897 remainder 123e1           200000000 -> 1230
5447db96d56Sopenharmony_ciremx899 remainder 123e1            20000000 -> 1230
5457db96d56Sopenharmony_ciremx900 remainder 123e1             2000000 -> 1230
5467db96d56Sopenharmony_ciremx901 remainder 123e1              200000 -> 1230
5477db96d56Sopenharmony_ciremx902 remainder 123e1               20000 -> 1230
5487db96d56Sopenharmony_ciremx903 remainder 123e1                2000 -> 1230
5497db96d56Sopenharmony_ciremx904 remainder 123e1                 200 ->   30
5507db96d56Sopenharmony_ciremx905 remainder 123e1                  20 ->   10
5517db96d56Sopenharmony_ciremx906 remainder 123e1                   2 ->    0
5527db96d56Sopenharmony_ci
5537db96d56Sopenharmony_ciremx909 remainder 123e1   50000000000000000 -> 1230
5547db96d56Sopenharmony_ciremx910 remainder 123e1    5000000000000000 -> 1230
5557db96d56Sopenharmony_ciremx911 remainder 123e1     500000000000000 -> 1230
5567db96d56Sopenharmony_ciremx912 remainder 123e1      50000000000000 -> 1230
5577db96d56Sopenharmony_ciremx913 remainder 123e1       5000000000000 -> 1230
5587db96d56Sopenharmony_ciremx914 remainder 123e1        500000000000 -> 1230
5597db96d56Sopenharmony_ciremx915 remainder 123e1         50000000000 -> 1230
5607db96d56Sopenharmony_ciremx916 remainder 123e1          5000000000 -> 1230
5617db96d56Sopenharmony_ciremx917 remainder 123e1           500000000 -> 1230
5627db96d56Sopenharmony_ciremx919 remainder 123e1            50000000 -> 1230
5637db96d56Sopenharmony_ciremx920 remainder 123e1             5000000 -> 1230
5647db96d56Sopenharmony_ciremx921 remainder 123e1              500000 -> 1230
5657db96d56Sopenharmony_ciremx922 remainder 123e1               50000 -> 1230
5667db96d56Sopenharmony_ciremx923 remainder 123e1                5000 -> 1230
5677db96d56Sopenharmony_ciremx924 remainder 123e1                 500 ->  230
5687db96d56Sopenharmony_ciremx925 remainder 123e1                  50 ->   30
5697db96d56Sopenharmony_ciremx926 remainder 123e1                   5 ->    0
5707db96d56Sopenharmony_ci
5717db96d56Sopenharmony_ciremx929 remainder 123e1   90000000000000000 -> 1230
5727db96d56Sopenharmony_ciremx930 remainder 123e1    9000000000000000 -> 1230
5737db96d56Sopenharmony_ciremx931 remainder 123e1     900000000000000 -> 1230
5747db96d56Sopenharmony_ciremx932 remainder 123e1      90000000000000 -> 1230
5757db96d56Sopenharmony_ciremx933 remainder 123e1       9000000000000 -> 1230
5767db96d56Sopenharmony_ciremx934 remainder 123e1        900000000000 -> 1230
5777db96d56Sopenharmony_ciremx935 remainder 123e1         90000000000 -> 1230
5787db96d56Sopenharmony_ciremx936 remainder 123e1          9000000000 -> 1230
5797db96d56Sopenharmony_ciremx937 remainder 123e1           900000000 -> 1230
5807db96d56Sopenharmony_ciremx939 remainder 123e1            90000000 -> 1230
5817db96d56Sopenharmony_ciremx940 remainder 123e1             9000000 -> 1230
5827db96d56Sopenharmony_ciremx941 remainder 123e1              900000 -> 1230
5837db96d56Sopenharmony_ciremx942 remainder 123e1               90000 -> 1230
5847db96d56Sopenharmony_ciremx943 remainder 123e1                9000 -> 1230
5857db96d56Sopenharmony_ciremx944 remainder 123e1                 900 ->  330
5867db96d56Sopenharmony_ciremx945 remainder 123e1                  90 ->   60
5877db96d56Sopenharmony_ciremx946 remainder 123e1                   9 ->    6
5887db96d56Sopenharmony_ci
5897db96d56Sopenharmony_ciremx950 remainder 123e1   10000000000000000 -> 1230
5907db96d56Sopenharmony_ciremx951 remainder 123e1   100000000000000000 -> 1230
5917db96d56Sopenharmony_ciremx952 remainder 123e1   1000000000000000000 -> 1230
5927db96d56Sopenharmony_ciremx953 remainder 123e1   10000000000000000000 -> 1230
5937db96d56Sopenharmony_ciremx954 remainder 123e1   100000000000000000000 -> 1230
5947db96d56Sopenharmony_ciremx955 remainder 123e1   1000000000000000000000 -> 1230
5957db96d56Sopenharmony_ciremx956 remainder 123e1   10000000000000000000000 -> 1230
5967db96d56Sopenharmony_ciremx957 remainder 123e1   100000000000000000000000 -> 1230
5977db96d56Sopenharmony_ciremx958 remainder 123e1   1000000000000000000000000 -> 1230
5987db96d56Sopenharmony_ciremx959 remainder 123e1   10000000000000000000000000 -> 1230
5997db96d56Sopenharmony_ci
6007db96d56Sopenharmony_ciremx960 remainder 123e1   19999999999999999 -> 1230
6017db96d56Sopenharmony_ciremx961 remainder 123e1   199999999999999990 -> 1230
6027db96d56Sopenharmony_ciremx962 remainder 123e1   1999999999999999999 -> 1230
6037db96d56Sopenharmony_ciremx963 remainder 123e1   19999999999999999990 -> 1230
6047db96d56Sopenharmony_ciremx964 remainder 123e1   199999999999999999999 -> 1230
6057db96d56Sopenharmony_ciremx965 remainder 123e1   1999999999999999999990 -> 1230
6067db96d56Sopenharmony_ciremx966 remainder 123e1   19999999999999999999999 -> 1230
6077db96d56Sopenharmony_ciremx967 remainder 123e1   199999999999999999999990 -> 1230
6087db96d56Sopenharmony_ciremx968 remainder 123e1   1999999999999999999999999 -> 1230
6097db96d56Sopenharmony_ciremx969 remainder 123e1   19999999999999999999999990 -> 1230
6107db96d56Sopenharmony_ci
6117db96d56Sopenharmony_ciremx970 remainder 1e1   10000000000000000 -> 10
6127db96d56Sopenharmony_ciremx971 remainder 1e1   100000000000000000 -> 10
6137db96d56Sopenharmony_ciremx972 remainder 1e1   1000000000000000000 -> 10
6147db96d56Sopenharmony_ciremx973 remainder 1e1   10000000000000000000 -> 10
6157db96d56Sopenharmony_ciremx974 remainder 1e1   100000000000000000000 -> 10
6167db96d56Sopenharmony_ciremx975 remainder 1e1   1000000000000000000000 -> 10
6177db96d56Sopenharmony_ciremx976 remainder 1e1   10000000000000000000000 -> 10
6187db96d56Sopenharmony_ciremx977 remainder 1e1   100000000000000000000000 -> 10
6197db96d56Sopenharmony_ciremx978 remainder 1e1   1000000000000000000000000 -> 10
6207db96d56Sopenharmony_ciremx979 remainder 1e1   10000000000000000000000000 -> 10
6217db96d56Sopenharmony_ci
6227db96d56Sopenharmony_ciremx980 remainder 123e1 1000E999999 -> 1.23E+3  -- 123E+1 internally
6237db96d56Sopenharmony_ci
6247db96d56Sopenharmony_ci-- overflow and underflow tests [from divide]
6257db96d56Sopenharmony_ciprecision: 9
6267db96d56Sopenharmony_cimaxexponent: 999999999
6277db96d56Sopenharmony_ciminexponent: -999999999
6287db96d56Sopenharmony_ciremx990 remainder +1.23456789012345E-0 9E+999999999 -> 1.23456789 Inexact Rounded
6297db96d56Sopenharmony_ciremx991 remainder 9E+999999999 +0.23456789012345E-0 -> NaN Division_impossible
6307db96d56Sopenharmony_ciremx992 remainder +0.100 9E+999999999               -> 0.100
6317db96d56Sopenharmony_ciremx993 remainder 9E-999999999 +9.100               -> 9E-999999999
6327db96d56Sopenharmony_ciremx995 remainder -1.23456789012345E-0 9E+999999999 -> -1.23456789 Inexact Rounded
6337db96d56Sopenharmony_ciremx996 remainder 9E+999999999 -0.83456789012345E-0 -> NaN Division_impossible
6347db96d56Sopenharmony_ciremx997 remainder -0.100 9E+999999999               -> -0.100
6357db96d56Sopenharmony_ciremx998 remainder 9E-999999999 -9.100               -> 9E-999999999
6367db96d56Sopenharmony_ci
6377db96d56Sopenharmony_ci-- Null tests
6387db96d56Sopenharmony_ciremx1000 remainder 10  # -> NaN Invalid_operation
6397db96d56Sopenharmony_ciremx1001 remainder  # 10 -> NaN Invalid_operation
6407db96d56Sopenharmony_ci
641