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