17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- remainderNear.decTest -- decimal remainder-near (IEEE 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_cirmnx001 remaindernear 1 1 -> 0 297db96d56Sopenharmony_cirmnx002 remaindernear 2 1 -> 0 307db96d56Sopenharmony_cirmnx003 remaindernear 1 2 -> 1 317db96d56Sopenharmony_cirmnx004 remaindernear 2 2 -> 0 327db96d56Sopenharmony_cirmnx005 remaindernear 0 1 -> 0 337db96d56Sopenharmony_cirmnx006 remaindernear 0 2 -> 0 347db96d56Sopenharmony_cirmnx007 remaindernear 1 3 -> 1 357db96d56Sopenharmony_cirmnx008 remaindernear 2 3 -> -1 367db96d56Sopenharmony_cirmnx009 remaindernear 3 3 -> 0 377db96d56Sopenharmony_ci 387db96d56Sopenharmony_cirmnx010 remaindernear 2.4 1 -> 0.4 397db96d56Sopenharmony_cirmnx011 remaindernear 2.4 -1 -> 0.4 407db96d56Sopenharmony_cirmnx012 remaindernear -2.4 1 -> -0.4 417db96d56Sopenharmony_cirmnx013 remaindernear -2.4 -1 -> -0.4 427db96d56Sopenharmony_cirmnx014 remaindernear 2.40 1 -> 0.40 437db96d56Sopenharmony_cirmnx015 remaindernear 2.400 1 -> 0.400 447db96d56Sopenharmony_cirmnx016 remaindernear 2.4 2 -> 0.4 457db96d56Sopenharmony_cirmnx017 remaindernear 2.400 2 -> 0.400 467db96d56Sopenharmony_cirmnx018 remaindernear 2. 2 -> 0 477db96d56Sopenharmony_cirmnx019 remaindernear 20 20 -> 0 487db96d56Sopenharmony_ci 497db96d56Sopenharmony_cirmnx020 remaindernear 187 187 -> 0 507db96d56Sopenharmony_cirmnx021 remaindernear 5 2 -> 1 517db96d56Sopenharmony_cirmnx022 remaindernear 5 2.0 -> 1.0 527db96d56Sopenharmony_cirmnx023 remaindernear 5 2.000 -> 1.000 537db96d56Sopenharmony_cirmnx024 remaindernear 5 0.200 -> 0.000 547db96d56Sopenharmony_cirmnx025 remaindernear 5 0.200 -> 0.000 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_cirmnx030 remaindernear 1 2 -> 1 577db96d56Sopenharmony_cirmnx031 remaindernear 1 4 -> 1 587db96d56Sopenharmony_cirmnx032 remaindernear 1 8 -> 1 597db96d56Sopenharmony_cirmnx033 remaindernear 1 16 -> 1 607db96d56Sopenharmony_cirmnx034 remaindernear 1 32 -> 1 617db96d56Sopenharmony_cirmnx035 remaindernear 1 64 -> 1 627db96d56Sopenharmony_cirmnx040 remaindernear 1 -2 -> 1 637db96d56Sopenharmony_cirmnx041 remaindernear 1 -4 -> 1 647db96d56Sopenharmony_cirmnx042 remaindernear 1 -8 -> 1 657db96d56Sopenharmony_cirmnx043 remaindernear 1 -16 -> 1 667db96d56Sopenharmony_cirmnx044 remaindernear 1 -32 -> 1 677db96d56Sopenharmony_cirmnx045 remaindernear 1 -64 -> 1 687db96d56Sopenharmony_cirmnx050 remaindernear -1 2 -> -1 697db96d56Sopenharmony_cirmnx051 remaindernear -1 4 -> -1 707db96d56Sopenharmony_cirmnx052 remaindernear -1 8 -> -1 717db96d56Sopenharmony_cirmnx053 remaindernear -1 16 -> -1 727db96d56Sopenharmony_cirmnx054 remaindernear -1 32 -> -1 737db96d56Sopenharmony_cirmnx055 remaindernear -1 64 -> -1 747db96d56Sopenharmony_cirmnx060 remaindernear -1 -2 -> -1 757db96d56Sopenharmony_cirmnx061 remaindernear -1 -4 -> -1 767db96d56Sopenharmony_cirmnx062 remaindernear -1 -8 -> -1 777db96d56Sopenharmony_cirmnx063 remaindernear -1 -16 -> -1 787db96d56Sopenharmony_cirmnx064 remaindernear -1 -32 -> -1 797db96d56Sopenharmony_cirmnx065 remaindernear -1 -64 -> -1 807db96d56Sopenharmony_ci 817db96d56Sopenharmony_cirmnx066 remaindernear 999999997 1 -> 0 827db96d56Sopenharmony_cirmnx067 remaindernear 999999997.4 1 -> 0.4 837db96d56Sopenharmony_cirmnx068 remaindernear 999999997.5 1 -> -0.5 847db96d56Sopenharmony_cirmnx069 remaindernear 999999997.9 1 -> -0.1 857db96d56Sopenharmony_cirmnx070 remaindernear 999999997.999 1 -> -0.001 867db96d56Sopenharmony_ci 877db96d56Sopenharmony_cirmnx071 remaindernear 999999998 1 -> 0 887db96d56Sopenharmony_cirmnx072 remaindernear 999999998.4 1 -> 0.4 897db96d56Sopenharmony_cirmnx073 remaindernear 999999998.5 1 -> 0.5 907db96d56Sopenharmony_cirmnx074 remaindernear 999999998.9 1 -> -0.1 917db96d56Sopenharmony_cirmnx075 remaindernear 999999998.999 1 -> -0.001 927db96d56Sopenharmony_ci 937db96d56Sopenharmony_cirmnx076 remaindernear 999999999 1 -> 0 947db96d56Sopenharmony_cirmnx077 remaindernear 999999999.4 1 -> 0.4 957db96d56Sopenharmony_cirmnx078 remaindernear 999999999.5 1 -> NaN Division_impossible 967db96d56Sopenharmony_cirmnx079 remaindernear 999999999.9 1 -> NaN Division_impossible 977db96d56Sopenharmony_cirmnx080 remaindernear 999999999.999 1 -> NaN Division_impossible 987db96d56Sopenharmony_ci 997db96d56Sopenharmony_ciprecision: 6 1007db96d56Sopenharmony_cirmnx081 remaindernear 999999999 1 -> NaN Division_impossible 1017db96d56Sopenharmony_cirmnx082 remaindernear 99999999 1 -> NaN Division_impossible 1027db96d56Sopenharmony_cirmnx083 remaindernear 9999999 1 -> NaN Division_impossible 1037db96d56Sopenharmony_cirmnx084 remaindernear 999999 1 -> 0 1047db96d56Sopenharmony_cirmnx085 remaindernear 99999 1 -> 0 1057db96d56Sopenharmony_cirmnx086 remaindernear 9999 1 -> 0 1067db96d56Sopenharmony_cirmnx087 remaindernear 999 1 -> 0 1077db96d56Sopenharmony_cirmnx088 remaindernear 99 1 -> 0 1087db96d56Sopenharmony_cirmnx089 remaindernear 9 1 -> 0 1097db96d56Sopenharmony_ci 1107db96d56Sopenharmony_ciprecision: 9 1117db96d56Sopenharmony_cirmnx090 remaindernear 0. 1 -> 0 1127db96d56Sopenharmony_cirmnx091 remaindernear .0 1 -> 0.0 1137db96d56Sopenharmony_cirmnx092 remaindernear 0.00 1 -> 0.00 1147db96d56Sopenharmony_cirmnx093 remaindernear 0.00E+9 1 -> 0 1157db96d56Sopenharmony_cirmnx094 remaindernear 0.0000E-50 1 -> 0E-54 1167db96d56Sopenharmony_ci 1177db96d56Sopenharmony_ci 1187db96d56Sopenharmony_ci-- Various flavours of remaindernear by 0 1197db96d56Sopenharmony_ciprecision: 9 1207db96d56Sopenharmony_cimaxexponent: 999999999 1217db96d56Sopenharmony_ciminexponent: -999999999 1227db96d56Sopenharmony_cirmnx101 remaindernear 0 0 -> NaN Division_undefined 1237db96d56Sopenharmony_cirmnx102 remaindernear 0 -0 -> NaN Division_undefined 1247db96d56Sopenharmony_cirmnx103 remaindernear -0 0 -> NaN Division_undefined 1257db96d56Sopenharmony_cirmnx104 remaindernear -0 -0 -> NaN Division_undefined 1267db96d56Sopenharmony_cirmnx105 remaindernear 0.0E5 0 -> NaN Division_undefined 1277db96d56Sopenharmony_cirmnx106 remaindernear 0.000 0 -> NaN Division_undefined 1287db96d56Sopenharmony_ci-- [Some think this next group should be Division_by_zero exception, 1297db96d56Sopenharmony_ci-- but IEEE 854 is explicit that it is Invalid operation .. for 1307db96d56Sopenharmony_ci-- remaindernear-near, anyway] 1317db96d56Sopenharmony_cirmnx107 remaindernear 0.0001 0 -> NaN Invalid_operation 1327db96d56Sopenharmony_cirmnx108 remaindernear 0.01 0 -> NaN Invalid_operation 1337db96d56Sopenharmony_cirmnx109 remaindernear 0.1 0 -> NaN Invalid_operation 1347db96d56Sopenharmony_cirmnx110 remaindernear 1 0 -> NaN Invalid_operation 1357db96d56Sopenharmony_cirmnx111 remaindernear 1 0.0 -> NaN Invalid_operation 1367db96d56Sopenharmony_cirmnx112 remaindernear 10 0.0 -> NaN Invalid_operation 1377db96d56Sopenharmony_cirmnx113 remaindernear 1E+100 0.0 -> NaN Invalid_operation 1387db96d56Sopenharmony_cirmnx114 remaindernear 1E+1000 0 -> NaN Invalid_operation 1397db96d56Sopenharmony_cirmnx115 remaindernear 0.0001 -0 -> NaN Invalid_operation 1407db96d56Sopenharmony_cirmnx116 remaindernear 0.01 -0 -> NaN Invalid_operation 1417db96d56Sopenharmony_cirmnx119 remaindernear 0.1 -0 -> NaN Invalid_operation 1427db96d56Sopenharmony_cirmnx120 remaindernear 1 -0 -> NaN Invalid_operation 1437db96d56Sopenharmony_cirmnx121 remaindernear 1 -0.0 -> NaN Invalid_operation 1447db96d56Sopenharmony_cirmnx122 remaindernear 10 -0.0 -> NaN Invalid_operation 1457db96d56Sopenharmony_cirmnx123 remaindernear 1E+100 -0.0 -> NaN Invalid_operation 1467db96d56Sopenharmony_cirmnx124 remaindernear 1E+1000 -0 -> NaN Invalid_operation 1477db96d56Sopenharmony_ci-- and zeros on left 1487db96d56Sopenharmony_cirmnx130 remaindernear 0 1 -> 0 1497db96d56Sopenharmony_cirmnx131 remaindernear 0 -1 -> 0 1507db96d56Sopenharmony_cirmnx132 remaindernear 0.0 1 -> 0.0 1517db96d56Sopenharmony_cirmnx133 remaindernear 0.0 -1 -> 0.0 1527db96d56Sopenharmony_cirmnx134 remaindernear -0 1 -> -0 1537db96d56Sopenharmony_cirmnx135 remaindernear -0 -1 -> -0 1547db96d56Sopenharmony_cirmnx136 remaindernear -0.0 1 -> -0.0 1557db96d56Sopenharmony_cirmnx137 remaindernear -0.0 -1 -> -0.0 1567db96d56Sopenharmony_ci 1577db96d56Sopenharmony_ci-- 0.5ers 1587db96d56Sopenharmony_cirmmx143 remaindernear 0.5 2 -> 0.5 1597db96d56Sopenharmony_cirmmx144 remaindernear 0.5 2.1 -> 0.5 1607db96d56Sopenharmony_cirmmx145 remaindernear 0.5 2.01 -> 0.50 1617db96d56Sopenharmony_cirmmx146 remaindernear 0.5 2.001 -> 0.500 1627db96d56Sopenharmony_cirmmx147 remaindernear 0.50 2 -> 0.50 1637db96d56Sopenharmony_cirmmx148 remaindernear 0.50 2.01 -> 0.50 1647db96d56Sopenharmony_cirmmx149 remaindernear 0.50 2.001 -> 0.500 1657db96d56Sopenharmony_ci 1667db96d56Sopenharmony_ci-- some differences from remainder 1677db96d56Sopenharmony_cirmnx150 remaindernear 0.4 1.020 -> 0.400 1687db96d56Sopenharmony_cirmnx151 remaindernear 0.50 1.020 -> 0.500 1697db96d56Sopenharmony_cirmnx152 remaindernear 0.51 1.020 -> 0.510 1707db96d56Sopenharmony_cirmnx153 remaindernear 0.52 1.020 -> -0.500 1717db96d56Sopenharmony_cirmnx154 remaindernear 0.6 1.020 -> -0.420 1727db96d56Sopenharmony_cirmnx155 remaindernear 0.49 1 -> 0.49 1737db96d56Sopenharmony_cirmnx156 remaindernear 0.50 1 -> 0.50 1747db96d56Sopenharmony_cirmnx157 remaindernear 1.50 1 -> -0.50 1757db96d56Sopenharmony_cirmnx158 remaindernear 2.50 1 -> 0.50 1767db96d56Sopenharmony_cirmnx159 remaindernear 9.50 1 -> -0.50 1777db96d56Sopenharmony_cirmnx160 remaindernear 0.51 1 -> -0.49 1787db96d56Sopenharmony_ci 1797db96d56Sopenharmony_ci-- the nasty division-by-1 cases 1807db96d56Sopenharmony_cirmnx161 remaindernear 0.4 1 -> 0.4 1817db96d56Sopenharmony_cirmnx162 remaindernear 0.45 1 -> 0.45 1827db96d56Sopenharmony_cirmnx163 remaindernear 0.455 1 -> 0.455 1837db96d56Sopenharmony_cirmnx164 remaindernear 0.4555 1 -> 0.4555 1847db96d56Sopenharmony_cirmnx165 remaindernear 0.45555 1 -> 0.45555 1857db96d56Sopenharmony_cirmnx166 remaindernear 0.455555 1 -> 0.455555 1867db96d56Sopenharmony_cirmnx167 remaindernear 0.4555555 1 -> 0.4555555 1877db96d56Sopenharmony_cirmnx168 remaindernear 0.45555555 1 -> 0.45555555 1887db96d56Sopenharmony_cirmnx169 remaindernear 0.455555555 1 -> 0.455555555 1897db96d56Sopenharmony_ci-- with spill... 1907db96d56Sopenharmony_cirmnx171 remaindernear 0.5 1 -> 0.5 1917db96d56Sopenharmony_cirmnx172 remaindernear 0.55 1 -> -0.45 1927db96d56Sopenharmony_cirmnx173 remaindernear 0.555 1 -> -0.445 1937db96d56Sopenharmony_cirmnx174 remaindernear 0.5555 1 -> -0.4445 1947db96d56Sopenharmony_cirmnx175 remaindernear 0.55555 1 -> -0.44445 1957db96d56Sopenharmony_cirmnx176 remaindernear 0.555555 1 -> -0.444445 1967db96d56Sopenharmony_cirmnx177 remaindernear 0.5555555 1 -> -0.4444445 1977db96d56Sopenharmony_cirmnx178 remaindernear 0.55555555 1 -> -0.44444445 1987db96d56Sopenharmony_cirmnx179 remaindernear 0.555555555 1 -> -0.444444445 1997db96d56Sopenharmony_ci 2007db96d56Sopenharmony_ci-- progression 2017db96d56Sopenharmony_cirmnx180 remaindernear 1 1 -> 0 2027db96d56Sopenharmony_cirmnx181 remaindernear 1 2 -> 1 2037db96d56Sopenharmony_cirmnx182 remaindernear 1 3 -> 1 2047db96d56Sopenharmony_cirmnx183 remaindernear 1 4 -> 1 2057db96d56Sopenharmony_cirmnx184 remaindernear 1 5 -> 1 2067db96d56Sopenharmony_cirmnx185 remaindernear 1 6 -> 1 2077db96d56Sopenharmony_cirmnx186 remaindernear 1 7 -> 1 2087db96d56Sopenharmony_cirmnx187 remaindernear 1 8 -> 1 2097db96d56Sopenharmony_cirmnx188 remaindernear 1 9 -> 1 2107db96d56Sopenharmony_cirmnx189 remaindernear 1 10 -> 1 2117db96d56Sopenharmony_cirmnx190 remaindernear 1 1 -> 0 2127db96d56Sopenharmony_cirmnx191 remaindernear 2 1 -> 0 2137db96d56Sopenharmony_cirmnx192 remaindernear 3 1 -> 0 2147db96d56Sopenharmony_cirmnx193 remaindernear 4 1 -> 0 2157db96d56Sopenharmony_cirmnx194 remaindernear 5 1 -> 0 2167db96d56Sopenharmony_cirmnx195 remaindernear 6 1 -> 0 2177db96d56Sopenharmony_cirmnx196 remaindernear 7 1 -> 0 2187db96d56Sopenharmony_cirmnx197 remaindernear 8 1 -> 0 2197db96d56Sopenharmony_cirmnx198 remaindernear 9 1 -> 0 2207db96d56Sopenharmony_cirmnx199 remaindernear 10 1 -> 0 2217db96d56Sopenharmony_ci 2227db96d56Sopenharmony_ci 2237db96d56Sopenharmony_ci-- Various flavours of remaindernear by 0 2247db96d56Sopenharmony_cimaxexponent: 999999999 2257db96d56Sopenharmony_ciminexponent: -999999999 2267db96d56Sopenharmony_cirmnx201 remaindernear 0 0 -> NaN Division_undefined 2277db96d56Sopenharmony_cirmnx202 remaindernear 0.0E5 0 -> NaN Division_undefined 2287db96d56Sopenharmony_cirmnx203 remaindernear 0.000 0 -> NaN Division_undefined 2297db96d56Sopenharmony_cirmnx204 remaindernear 0.0001 0 -> NaN Invalid_operation 2307db96d56Sopenharmony_cirmnx205 remaindernear 0.01 0 -> NaN Invalid_operation 2317db96d56Sopenharmony_cirmnx206 remaindernear 0.1 0 -> NaN Invalid_operation 2327db96d56Sopenharmony_cirmnx207 remaindernear 1 0 -> NaN Invalid_operation 2337db96d56Sopenharmony_cirmnx208 remaindernear 1 0.0 -> NaN Invalid_operation 2347db96d56Sopenharmony_cirmnx209 remaindernear 10 0.0 -> NaN Invalid_operation 2357db96d56Sopenharmony_cirmnx210 remaindernear 1E+100 0.0 -> NaN Invalid_operation 2367db96d56Sopenharmony_cirmnx211 remaindernear 1E+1000 0 -> NaN Invalid_operation 2377db96d56Sopenharmony_ci 2387db96d56Sopenharmony_ci-- tests from the extended specification 2397db96d56Sopenharmony_cirmnx221 remaindernear 2.1 3 -> -0.9 2407db96d56Sopenharmony_cirmnx222 remaindernear 10 6 -> -2 2417db96d56Sopenharmony_cirmnx223 remaindernear 10 3 -> 1 2427db96d56Sopenharmony_cirmnx224 remaindernear -10 3 -> -1 2437db96d56Sopenharmony_cirmnx225 remaindernear 10.2 1 -> 0.2 2447db96d56Sopenharmony_cirmnx226 remaindernear 10 0.3 -> 0.1 2457db96d56Sopenharmony_cirmnx227 remaindernear 3.6 1.3 -> -0.3 2467db96d56Sopenharmony_ci 2477db96d56Sopenharmony_ci-- some differences from remainder 2487db96d56Sopenharmony_cirmnx231 remaindernear 0.4 1.020 -> 0.400 2497db96d56Sopenharmony_cirmnx232 remaindernear 0.50 1.020 -> 0.500 2507db96d56Sopenharmony_cirmnx233 remaindernear 0.51 1.020 -> 0.510 2517db96d56Sopenharmony_cirmnx234 remaindernear 0.52 1.020 -> -0.500 2527db96d56Sopenharmony_cirmnx235 remaindernear 0.6 1.020 -> -0.420 2537db96d56Sopenharmony_ci 2547db96d56Sopenharmony_ci-- test some cases that are close to exponent overflow 2557db96d56Sopenharmony_cimaxexponent: 999999999 2567db96d56Sopenharmony_ciminexponent: -999999999 2577db96d56Sopenharmony_cirmnx270 remaindernear 1 1e999999999 -> 1 2587db96d56Sopenharmony_cirmnx271 remaindernear 1 0.9e999999999 -> 1 2597db96d56Sopenharmony_cirmnx272 remaindernear 1 0.99e999999999 -> 1 2607db96d56Sopenharmony_cirmnx273 remaindernear 1 0.999999999e999999999 -> 1 2617db96d56Sopenharmony_cirmnx274 remaindernear 9e999999999 1 -> NaN Division_impossible 2627db96d56Sopenharmony_cirmnx275 remaindernear 9.9e999999999 1 -> NaN Division_impossible 2637db96d56Sopenharmony_cirmnx276 remaindernear 9.99e999999999 1 -> NaN Division_impossible 2647db96d56Sopenharmony_cirmnx277 remaindernear 9.99999999e999999999 1 -> NaN Division_impossible 2657db96d56Sopenharmony_ci 2667db96d56Sopenharmony_cirmnx280 remaindernear 0.1 9e-999999999 -> NaN Division_impossible 2677db96d56Sopenharmony_cirmnx281 remaindernear 0.1 99e-999999999 -> NaN Division_impossible 2687db96d56Sopenharmony_cirmnx282 remaindernear 0.1 999e-999999999 -> NaN Division_impossible 2697db96d56Sopenharmony_ci 2707db96d56Sopenharmony_cirmnx283 remaindernear 0.1 9e-999999998 -> NaN Division_impossible 2717db96d56Sopenharmony_cirmnx284 remaindernear 0.1 99e-999999998 -> NaN Division_impossible 2727db96d56Sopenharmony_cirmnx285 remaindernear 0.1 999e-999999998 -> NaN Division_impossible 2737db96d56Sopenharmony_cirmnx286 remaindernear 0.1 999e-999999997 -> NaN Division_impossible 2747db96d56Sopenharmony_cirmnx287 remaindernear 0.1 9999e-999999997 -> NaN Division_impossible 2757db96d56Sopenharmony_cirmnx288 remaindernear 0.1 99999e-999999997 -> NaN Division_impossible 2767db96d56Sopenharmony_ci 2777db96d56Sopenharmony_ci-- rmnx3xx are from DiagBigDecimal 2787db96d56Sopenharmony_cirmnx301 remaindernear 1 3 -> 1 2797db96d56Sopenharmony_cirmnx302 remaindernear 5 5 -> 0 2807db96d56Sopenharmony_cirmnx303 remaindernear 13 10 -> 3 2817db96d56Sopenharmony_cirmnx304 remaindernear 13 50 -> 13 2827db96d56Sopenharmony_cirmnx305 remaindernear 13 100 -> 13 2837db96d56Sopenharmony_cirmnx306 remaindernear 13 1000 -> 13 2847db96d56Sopenharmony_cirmnx307 remaindernear .13 1 -> 0.13 2857db96d56Sopenharmony_cirmnx308 remaindernear 0.133 1 -> 0.133 2867db96d56Sopenharmony_cirmnx309 remaindernear 0.1033 1 -> 0.1033 2877db96d56Sopenharmony_cirmnx310 remaindernear 1.033 1 -> 0.033 2887db96d56Sopenharmony_cirmnx311 remaindernear 10.33 1 -> 0.33 2897db96d56Sopenharmony_cirmnx312 remaindernear 10.33 10 -> 0.33 2907db96d56Sopenharmony_cirmnx313 remaindernear 103.3 1 -> 0.3 2917db96d56Sopenharmony_cirmnx314 remaindernear 133 10 -> 3 2927db96d56Sopenharmony_cirmnx315 remaindernear 1033 10 -> 3 2937db96d56Sopenharmony_cirmnx316 remaindernear 1033 50 -> -17 2947db96d56Sopenharmony_cirmnx317 remaindernear 101.0 3 -> -1.0 2957db96d56Sopenharmony_cirmnx318 remaindernear 102.0 3 -> 0.0 2967db96d56Sopenharmony_cirmnx319 remaindernear 103.0 3 -> 1.0 2977db96d56Sopenharmony_cirmnx320 remaindernear 2.40 1 -> 0.40 2987db96d56Sopenharmony_cirmnx321 remaindernear 2.400 1 -> 0.400 2997db96d56Sopenharmony_cirmnx322 remaindernear 2.4 1 -> 0.4 3007db96d56Sopenharmony_cirmnx323 remaindernear 2.4 2 -> 0.4 3017db96d56Sopenharmony_cirmnx324 remaindernear 2.400 2 -> 0.400 3027db96d56Sopenharmony_cirmnx325 remaindernear 1 0.3 -> 0.1 3037db96d56Sopenharmony_cirmnx326 remaindernear 1 0.30 -> 0.10 3047db96d56Sopenharmony_cirmnx327 remaindernear 1 0.300 -> 0.100 3057db96d56Sopenharmony_cirmnx328 remaindernear 1 0.3000 -> 0.1000 3067db96d56Sopenharmony_cirmnx329 remaindernear 1.0 0.3 -> 0.1 3077db96d56Sopenharmony_cirmnx330 remaindernear 1.00 0.3 -> 0.10 3087db96d56Sopenharmony_cirmnx331 remaindernear 1.000 0.3 -> 0.100 3097db96d56Sopenharmony_cirmnx332 remaindernear 1.0000 0.3 -> 0.1000 3107db96d56Sopenharmony_cirmnx333 remaindernear 0.5 2 -> 0.5 3117db96d56Sopenharmony_cirmnx334 remaindernear 0.5 2.1 -> 0.5 3127db96d56Sopenharmony_cirmnx335 remaindernear 0.5 2.01 -> 0.50 3137db96d56Sopenharmony_cirmnx336 remaindernear 0.5 2.001 -> 0.500 3147db96d56Sopenharmony_cirmnx337 remaindernear 0.50 2 -> 0.50 3157db96d56Sopenharmony_cirmnx338 remaindernear 0.50 2.01 -> 0.50 3167db96d56Sopenharmony_cirmnx339 remaindernear 0.50 2.001 -> 0.500 3177db96d56Sopenharmony_ci 3187db96d56Sopenharmony_cirmnx340 remaindernear 0.5 0.5000001 -> -1E-7 3197db96d56Sopenharmony_cirmnx341 remaindernear 0.5 0.50000001 -> -1E-8 3207db96d56Sopenharmony_cirmnx342 remaindernear 0.5 0.500000001 -> -1E-9 3217db96d56Sopenharmony_cirmnx343 remaindernear 0.5 0.5000000001 -> -1E-10 3227db96d56Sopenharmony_cirmnx344 remaindernear 0.5 0.50000000001 -> -1E-11 3237db96d56Sopenharmony_cirmnx345 remaindernear 0.5 0.4999999 -> 1E-7 3247db96d56Sopenharmony_cirmnx346 remaindernear 0.5 0.49999999 -> 1E-8 3257db96d56Sopenharmony_cirmnx347 remaindernear 0.5 0.499999999 -> 1E-9 3267db96d56Sopenharmony_cirmnx348 remaindernear 0.5 0.4999999999 -> 1E-10 3277db96d56Sopenharmony_cirmnx349 remaindernear 0.5 0.49999999999 -> 1E-11 3287db96d56Sopenharmony_ci 3297db96d56Sopenharmony_cirmnx350 remaindernear 0.03 7 -> 0.03 3307db96d56Sopenharmony_cirmnx351 remaindernear 5 2 -> 1 3317db96d56Sopenharmony_cirmnx352 remaindernear 4.1 2 -> 0.1 3327db96d56Sopenharmony_cirmnx353 remaindernear 4.01 2 -> 0.01 3337db96d56Sopenharmony_cirmnx354 remaindernear 4.001 2 -> 0.001 3347db96d56Sopenharmony_cirmnx355 remaindernear 4.0001 2 -> 0.0001 3357db96d56Sopenharmony_cirmnx356 remaindernear 4.00001 2 -> 0.00001 3367db96d56Sopenharmony_cirmnx357 remaindernear 4.000001 2 -> 0.000001 3377db96d56Sopenharmony_cirmnx358 remaindernear 4.0000001 2 -> 1E-7 3387db96d56Sopenharmony_ci 3397db96d56Sopenharmony_cirmnx360 remaindernear 1.2 0.7345 -> -0.2690 3407db96d56Sopenharmony_cirmnx361 remaindernear 0.8 12 -> 0.8 3417db96d56Sopenharmony_cirmnx362 remaindernear 0.8 0.2 -> 0.0 3427db96d56Sopenharmony_cirmnx363 remaindernear 0.8 0.3 -> -0.1 3437db96d56Sopenharmony_cirmnx364 remaindernear 0.800 12 -> 0.800 3447db96d56Sopenharmony_cirmnx365 remaindernear 0.800 1.7 -> 0.800 3457db96d56Sopenharmony_cirmnx366 remaindernear 2.400 2 -> 0.400 3467db96d56Sopenharmony_ci 3477db96d56Sopenharmony_ciprecision: 6 3487db96d56Sopenharmony_cirmnx371 remaindernear 2.400 2 -> 0.400 3497db96d56Sopenharmony_ciprecision: 3 3507db96d56Sopenharmony_cirmnx372 remaindernear 12345678900000 12e+12 -> 3.46E+11 Inexact Rounded 3517db96d56Sopenharmony_ci 3527db96d56Sopenharmony_ciprecision: 5 3537db96d56Sopenharmony_cirmnx381 remaindernear 12345 1 -> 0 3547db96d56Sopenharmony_cirmnx382 remaindernear 12345 1.0001 -> -0.2344 3557db96d56Sopenharmony_cirmnx383 remaindernear 12345 1.001 -> -0.333 3567db96d56Sopenharmony_cirmnx384 remaindernear 12345 1.01 -> -0.23 3577db96d56Sopenharmony_cirmnx385 remaindernear 12345 1.1 -> -0.3 3587db96d56Sopenharmony_cirmnx386 remaindernear 12355 4 -> -1 3597db96d56Sopenharmony_cirmnx387 remaindernear 12345 4 -> 1 3607db96d56Sopenharmony_cirmnx388 remaindernear 12355 4.0001 -> -1.3089 3617db96d56Sopenharmony_cirmnx389 remaindernear 12345 4.0001 -> 0.6914 3627db96d56Sopenharmony_cirmnx390 remaindernear 12345 4.9 -> 1.9 3637db96d56Sopenharmony_cirmnx391 remaindernear 12345 4.99 -> -0.26 3647db96d56Sopenharmony_cirmnx392 remaindernear 12345 4.999 -> 2.469 3657db96d56Sopenharmony_cirmnx393 remaindernear 12345 4.9999 -> 0.2469 3667db96d56Sopenharmony_cirmnx394 remaindernear 12345 5 -> 0 3677db96d56Sopenharmony_cirmnx395 remaindernear 12345 5.0001 -> -0.2469 3687db96d56Sopenharmony_cirmnx396 remaindernear 12345 5.001 -> -2.469 3697db96d56Sopenharmony_cirmnx397 remaindernear 12345 5.01 -> 0.36 3707db96d56Sopenharmony_cirmnx398 remaindernear 12345 5.1 -> -2.1 3717db96d56Sopenharmony_ci 3727db96d56Sopenharmony_ciprecision: 9 3737db96d56Sopenharmony_ci-- some nasty division-by-1 cases [some similar above] 3747db96d56Sopenharmony_cirmnx401 remaindernear 0.4 1 -> 0.4 3757db96d56Sopenharmony_cirmnx402 remaindernear 0.45 1 -> 0.45 3767db96d56Sopenharmony_cirmnx403 remaindernear 0.455 1 -> 0.455 3777db96d56Sopenharmony_cirmnx404 remaindernear 0.4555 1 -> 0.4555 3787db96d56Sopenharmony_cirmnx405 remaindernear 0.45555 1 -> 0.45555 3797db96d56Sopenharmony_cirmnx406 remaindernear 0.455555 1 -> 0.455555 3807db96d56Sopenharmony_cirmnx407 remaindernear 0.4555555 1 -> 0.4555555 3817db96d56Sopenharmony_cirmnx408 remaindernear 0.45555555 1 -> 0.45555555 3827db96d56Sopenharmony_cirmnx409 remaindernear 0.455555555 1 -> 0.455555555 3837db96d56Sopenharmony_ci 3847db96d56Sopenharmony_ci-- some tricky LHSs 3857db96d56Sopenharmony_cirmnx420 remaindernear 99999999.999999999 1E+8 -> -1E-9 3867db96d56Sopenharmony_cirmnx421 remaindernear 999999999.999999999 1E+9 -> -1E-9 3877db96d56Sopenharmony_ciprecision: 9 3887db96d56Sopenharmony_cirmnx430 remaindernear 0.455555555 1 -> 0.455555555 3897db96d56Sopenharmony_ciprecision: 8 3907db96d56Sopenharmony_cirmnx431 remaindernear 0.455555555 1 -> 0.45555556 Inexact Rounded 3917db96d56Sopenharmony_ciprecision: 7 3927db96d56Sopenharmony_cirmnx432 remaindernear 0.455555555 1 -> 0.4555556 Inexact Rounded 3937db96d56Sopenharmony_ciprecision: 6 3947db96d56Sopenharmony_cirmnx433 remaindernear 0.455555555 1 -> 0.455556 Inexact Rounded 3957db96d56Sopenharmony_ciprecision: 5 3967db96d56Sopenharmony_cirmnx434 remaindernear 0.455555555 1 -> 0.45556 Inexact Rounded 3977db96d56Sopenharmony_ciprecision: 4 3987db96d56Sopenharmony_cirmnx435 remaindernear 0.455555555 1 -> 0.4556 Inexact Rounded 3997db96d56Sopenharmony_ciprecision: 3 4007db96d56Sopenharmony_cirmnx436 remaindernear 0.455555555 1 -> 0.456 Inexact Rounded 4017db96d56Sopenharmony_ciprecision: 2 4027db96d56Sopenharmony_cirmnx437 remaindernear 0.455555555 1 -> 0.46 Inexact Rounded 4037db96d56Sopenharmony_ciprecision: 1 4047db96d56Sopenharmony_cirmnx438 remaindernear 0.455555555 1 -> 0.5 Inexact Rounded 4057db96d56Sopenharmony_ci 4067db96d56Sopenharmony_ci-- early tests; from text descriptions 4077db96d56Sopenharmony_ciprecision: 9 4087db96d56Sopenharmony_cirmnx601 remaindernear 10 6 -> -2 4097db96d56Sopenharmony_cirmnx602 remaindernear -10 6 -> 2 4107db96d56Sopenharmony_cirmnx603 remaindernear 11 3 -> -1 4117db96d56Sopenharmony_cirmnx604 remaindernear 11 5 -> 1 4127db96d56Sopenharmony_cirmnx605 remaindernear 7.7 8 -> -0.3 4137db96d56Sopenharmony_cirmnx606 remaindernear 31.5 3 -> 1.5 -- i=10 4147db96d56Sopenharmony_cirmnx607 remaindernear 34.5 3 -> -1.5 -- i=11 4157db96d56Sopenharmony_ci 4167db96d56Sopenharmony_ci-- zero signs 4177db96d56Sopenharmony_cirmnx650 remaindernear 1 1 -> 0 4187db96d56Sopenharmony_cirmnx651 remaindernear -1 1 -> -0 4197db96d56Sopenharmony_cirmnx652 remaindernear 1 -1 -> 0 4207db96d56Sopenharmony_cirmnx653 remaindernear -1 -1 -> -0 4217db96d56Sopenharmony_cirmnx654 remaindernear 0 1 -> 0 4227db96d56Sopenharmony_cirmnx655 remaindernear -0 1 -> -0 4237db96d56Sopenharmony_cirmnx656 remaindernear 0 -1 -> 0 4247db96d56Sopenharmony_cirmnx657 remaindernear -0 -1 -> -0 4257db96d56Sopenharmony_cirmnx658 remaindernear 0.00 1 -> 0.00 4267db96d56Sopenharmony_cirmnx659 remaindernear -0.00 1 -> -0.00 4277db96d56Sopenharmony_ci 4287db96d56Sopenharmony_ci-- Specials 4297db96d56Sopenharmony_cirmnx680 remaindernear Inf -Inf -> NaN Invalid_operation 4307db96d56Sopenharmony_cirmnx681 remaindernear Inf -1000 -> NaN Invalid_operation 4317db96d56Sopenharmony_cirmnx682 remaindernear Inf -1 -> NaN Invalid_operation 4327db96d56Sopenharmony_cirmnx683 remaindernear Inf 0 -> NaN Invalid_operation 4337db96d56Sopenharmony_cirmnx684 remaindernear Inf -0 -> NaN Invalid_operation 4347db96d56Sopenharmony_cirmnx685 remaindernear Inf 1 -> NaN Invalid_operation 4357db96d56Sopenharmony_cirmnx686 remaindernear Inf 1000 -> NaN Invalid_operation 4367db96d56Sopenharmony_cirmnx687 remaindernear Inf Inf -> NaN Invalid_operation 4377db96d56Sopenharmony_cirmnx688 remaindernear -1000 Inf -> -1000 4387db96d56Sopenharmony_cirmnx689 remaindernear -Inf Inf -> NaN Invalid_operation 4397db96d56Sopenharmony_cirmnx691 remaindernear -1 Inf -> -1 4407db96d56Sopenharmony_cirmnx692 remaindernear 0 Inf -> 0 4417db96d56Sopenharmony_cirmnx693 remaindernear -0 Inf -> -0 4427db96d56Sopenharmony_cirmnx694 remaindernear 1 Inf -> 1 4437db96d56Sopenharmony_cirmnx695 remaindernear 1000 Inf -> 1000 4447db96d56Sopenharmony_cirmnx696 remaindernear Inf Inf -> NaN Invalid_operation 4457db96d56Sopenharmony_ci 4467db96d56Sopenharmony_cirmnx700 remaindernear -Inf -Inf -> NaN Invalid_operation 4477db96d56Sopenharmony_cirmnx701 remaindernear -Inf -1000 -> NaN Invalid_operation 4487db96d56Sopenharmony_cirmnx702 remaindernear -Inf -1 -> NaN Invalid_operation 4497db96d56Sopenharmony_cirmnx703 remaindernear -Inf -0 -> NaN Invalid_operation 4507db96d56Sopenharmony_cirmnx704 remaindernear -Inf 0 -> NaN Invalid_operation 4517db96d56Sopenharmony_cirmnx705 remaindernear -Inf 1 -> NaN Invalid_operation 4527db96d56Sopenharmony_cirmnx706 remaindernear -Inf 1000 -> NaN Invalid_operation 4537db96d56Sopenharmony_cirmnx707 remaindernear -Inf Inf -> NaN Invalid_operation 4547db96d56Sopenharmony_cirmnx708 remaindernear -Inf -Inf -> NaN Invalid_operation 4557db96d56Sopenharmony_cirmnx709 remaindernear -1000 Inf -> -1000 4567db96d56Sopenharmony_cirmnx710 remaindernear -1 -Inf -> -1 4577db96d56Sopenharmony_cirmnx711 remaindernear -0 -Inf -> -0 4587db96d56Sopenharmony_cirmnx712 remaindernear 0 -Inf -> 0 4597db96d56Sopenharmony_cirmnx713 remaindernear 1 -Inf -> 1 4607db96d56Sopenharmony_cirmnx714 remaindernear 1000 -Inf -> 1000 4617db96d56Sopenharmony_cirmnx715 remaindernear Inf -Inf -> NaN Invalid_operation 4627db96d56Sopenharmony_ci 4637db96d56Sopenharmony_cirmnx721 remaindernear NaN -Inf -> NaN 4647db96d56Sopenharmony_cirmnx722 remaindernear NaN -1000 -> NaN 4657db96d56Sopenharmony_cirmnx723 remaindernear NaN -1 -> NaN 4667db96d56Sopenharmony_cirmnx724 remaindernear NaN -0 -> NaN 4677db96d56Sopenharmony_cirmnx725 remaindernear NaN 0 -> NaN 4687db96d56Sopenharmony_cirmnx726 remaindernear NaN 1 -> NaN 4697db96d56Sopenharmony_cirmnx727 remaindernear NaN 1000 -> NaN 4707db96d56Sopenharmony_cirmnx728 remaindernear NaN Inf -> NaN 4717db96d56Sopenharmony_cirmnx729 remaindernear NaN NaN -> NaN 4727db96d56Sopenharmony_cirmnx730 remaindernear -Inf NaN -> NaN 4737db96d56Sopenharmony_cirmnx731 remaindernear -1000 NaN -> NaN 4747db96d56Sopenharmony_cirmnx732 remaindernear -1 -NaN -> -NaN 4757db96d56Sopenharmony_cirmnx733 remaindernear -0 NaN -> NaN 4767db96d56Sopenharmony_cirmnx734 remaindernear 0 NaN -> NaN 4777db96d56Sopenharmony_cirmnx735 remaindernear 1 NaN -> NaN 4787db96d56Sopenharmony_cirmnx736 remaindernear 1000 NaN -> NaN 4797db96d56Sopenharmony_cirmnx737 remaindernear Inf NaN -> NaN 4807db96d56Sopenharmony_ci 4817db96d56Sopenharmony_cirmnx741 remaindernear sNaN -Inf -> NaN Invalid_operation 4827db96d56Sopenharmony_cirmnx742 remaindernear sNaN -1000 -> NaN Invalid_operation 4837db96d56Sopenharmony_cirmnx743 remaindernear -sNaN -1 -> -NaN Invalid_operation 4847db96d56Sopenharmony_cirmnx744 remaindernear sNaN -0 -> NaN Invalid_operation 4857db96d56Sopenharmony_cirmnx745 remaindernear sNaN 0 -> NaN Invalid_operation 4867db96d56Sopenharmony_cirmnx746 remaindernear sNaN 1 -> NaN Invalid_operation 4877db96d56Sopenharmony_cirmnx747 remaindernear sNaN 1000 -> NaN Invalid_operation 4887db96d56Sopenharmony_cirmnx749 remaindernear sNaN NaN -> NaN Invalid_operation 4897db96d56Sopenharmony_cirmnx750 remaindernear sNaN sNaN -> NaN Invalid_operation 4907db96d56Sopenharmony_cirmnx751 remaindernear NaN sNaN -> NaN Invalid_operation 4917db96d56Sopenharmony_cirmnx752 remaindernear -Inf sNaN -> NaN Invalid_operation 4927db96d56Sopenharmony_cirmnx753 remaindernear -1000 sNaN -> NaN Invalid_operation 4937db96d56Sopenharmony_cirmnx754 remaindernear -1 sNaN -> NaN Invalid_operation 4947db96d56Sopenharmony_cirmnx755 remaindernear -0 -sNaN -> -NaN Invalid_operation 4957db96d56Sopenharmony_cirmnx756 remaindernear 0 sNaN -> NaN Invalid_operation 4967db96d56Sopenharmony_cirmnx757 remaindernear 1 sNaN -> NaN Invalid_operation 4977db96d56Sopenharmony_cirmnx758 remaindernear 1000 sNaN -> NaN Invalid_operation 4987db96d56Sopenharmony_cirmnx759 remaindernear Inf sNaN -> NaN Invalid_operation 4997db96d56Sopenharmony_cirmnx760 remaindernear NaN sNaN -> NaN Invalid_operation 5007db96d56Sopenharmony_ci 5017db96d56Sopenharmony_ci-- propaging NaNs 5027db96d56Sopenharmony_cirmnx761 remaindernear NaN1 NaN7 -> NaN1 5037db96d56Sopenharmony_cirmnx762 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation 5047db96d56Sopenharmony_cirmnx763 remaindernear NaN3 -sNaN9 -> -NaN9 Invalid_operation 5057db96d56Sopenharmony_cirmnx764 remaindernear sNaN4 sNaN10 -> NaN4 Invalid_operation 5067db96d56Sopenharmony_cirmnx765 remaindernear 15 NaN11 -> NaN11 5077db96d56Sopenharmony_cirmnx766 remaindernear NaN6 NaN12 -> NaN6 5087db96d56Sopenharmony_cirmnx767 remaindernear Inf -NaN13 -> -NaN13 5097db96d56Sopenharmony_cirmnx768 remaindernear NaN14 -Inf -> NaN14 5107db96d56Sopenharmony_cirmnx769 remaindernear 0 NaN15 -> NaN15 5117db96d56Sopenharmony_cirmnx770 remaindernear -NaN16 -0 -> -NaN16 5127db96d56Sopenharmony_ci 5137db96d56Sopenharmony_ci-- test some cases that are close to exponent overflow 5147db96d56Sopenharmony_cimaxexponent: 999999999 5157db96d56Sopenharmony_ciminexponent: -999999999 5167db96d56Sopenharmony_cirmnx780 remaindernear 1 1e999999999 -> 1 5177db96d56Sopenharmony_cirmnx781 remaindernear 1 0.9e999999999 -> 1 5187db96d56Sopenharmony_cirmnx782 remaindernear 1 0.99e999999999 -> 1 5197db96d56Sopenharmony_cirmnx783 remaindernear 1 0.999999999e999999999 -> 1 5207db96d56Sopenharmony_cirmnx784 remaindernear 9e999999999 1 -> NaN Division_impossible 5217db96d56Sopenharmony_cirmnx785 remaindernear 9.9e999999999 1 -> NaN Division_impossible 5227db96d56Sopenharmony_cirmnx786 remaindernear 9.99e999999999 1 -> NaN Division_impossible 5237db96d56Sopenharmony_cirmnx787 remaindernear 9.99999999e999999999 1 -> NaN Division_impossible 5247db96d56Sopenharmony_ci 5257db96d56Sopenharmony_ci 5267db96d56Sopenharmony_ci-- overflow and underflow tests [from divide] 5277db96d56Sopenharmony_ciprecision: 9 5287db96d56Sopenharmony_cimaxexponent: 999999999 5297db96d56Sopenharmony_ciminexponent: -999999999 5307db96d56Sopenharmony_cirmnx790 remaindernear +1.23456789012345E-0 9E+999999999 -> 1.23456789 Inexact Rounded 5317db96d56Sopenharmony_cirmnx791 remaindernear 9E+999999999 +0.23456789012345E-0 -> NaN Division_impossible 5327db96d56Sopenharmony_cirmnx792 remaindernear +0.100 9E+999999999 -> 0.100 5337db96d56Sopenharmony_cirmnx793 remaindernear 9E-999999999 +9.100 -> 9E-999999999 5347db96d56Sopenharmony_cirmnx795 remaindernear -1.23456789012345E-0 9E+999999999 -> -1.23456789 Inexact Rounded 5357db96d56Sopenharmony_cirmnx796 remaindernear 9E+999999999 -0.83456789012345E-0 -> NaN Division_impossible 5367db96d56Sopenharmony_cirmnx797 remaindernear -0.100 9E+999999999 -> -0.100 5377db96d56Sopenharmony_cirmnx798 remaindernear 9E-999999999 -9.100 -> 9E-999999999 5387db96d56Sopenharmony_ci 5397db96d56Sopenharmony_ci-- long operands checks 5407db96d56Sopenharmony_cimaxexponent: 999 5417db96d56Sopenharmony_ciminexponent: -999 5427db96d56Sopenharmony_ciprecision: 9 5437db96d56Sopenharmony_cirmnx801 remaindernear 12345678000 100 -> 0 5447db96d56Sopenharmony_cirmnx802 remaindernear 1 12345678000 -> 1 5457db96d56Sopenharmony_cirmnx803 remaindernear 1234567800 10 -> 0 5467db96d56Sopenharmony_cirmnx804 remaindernear 1 1234567800 -> 1 5477db96d56Sopenharmony_cirmnx805 remaindernear 1234567890 10 -> 0 5487db96d56Sopenharmony_cirmnx806 remaindernear 1 1234567890 -> 1 5497db96d56Sopenharmony_cirmnx807 remaindernear 1234567891 10 -> 1 5507db96d56Sopenharmony_cirmnx808 remaindernear 1 1234567891 -> 1 5517db96d56Sopenharmony_cirmnx809 remaindernear 12345678901 100 -> 1 5527db96d56Sopenharmony_cirmnx810 remaindernear 1 12345678901 -> 1 5537db96d56Sopenharmony_cirmnx811 remaindernear 1234567896 10 -> -4 5547db96d56Sopenharmony_cirmnx812 remaindernear 1 1234567896 -> 1 5557db96d56Sopenharmony_ci 5567db96d56Sopenharmony_ciprecision: 15 5577db96d56Sopenharmony_cirmnx841 remaindernear 12345678000 100 -> 0 5587db96d56Sopenharmony_cirmnx842 remaindernear 1 12345678000 -> 1 5597db96d56Sopenharmony_cirmnx843 remaindernear 1234567800 10 -> 0 5607db96d56Sopenharmony_cirmnx844 remaindernear 1 1234567800 -> 1 5617db96d56Sopenharmony_cirmnx845 remaindernear 1234567890 10 -> 0 5627db96d56Sopenharmony_cirmnx846 remaindernear 1 1234567890 -> 1 5637db96d56Sopenharmony_cirmnx847 remaindernear 1234567891 10 -> 1 5647db96d56Sopenharmony_cirmnx848 remaindernear 1 1234567891 -> 1 5657db96d56Sopenharmony_cirmnx849 remaindernear 12345678901 100 -> 1 5667db96d56Sopenharmony_cirmnx850 remaindernear 1 12345678901 -> 1 5677db96d56Sopenharmony_cirmnx851 remaindernear 1234567896 10 -> -4 5687db96d56Sopenharmony_cirmnx852 remaindernear 1 1234567896 -> 1 5697db96d56Sopenharmony_ci 5707db96d56Sopenharmony_ci-- Null tests 5717db96d56Sopenharmony_cirmnx900 remaindernear 10 # -> NaN Invalid_operation 5727db96d56Sopenharmony_cirmnx901 remaindernear # 10 -> NaN Invalid_operation 573