17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- ddRemainderNear.decTest -- decDouble remainder-near -- 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_ciprecision: 16 237db96d56Sopenharmony_cimaxExponent: 384 247db96d56Sopenharmony_ciminExponent: -383 257db96d56Sopenharmony_ciextended: 1 267db96d56Sopenharmony_ciclamp: 1 277db96d56Sopenharmony_cirounding: half_even 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci-- sanity checks (as base, above) 307db96d56Sopenharmony_ciddrmn001 remaindernear 1 1 -> 0 317db96d56Sopenharmony_ciddrmn002 remaindernear 2 1 -> 0 327db96d56Sopenharmony_ciddrmn003 remaindernear 1 2 -> 1 337db96d56Sopenharmony_ciddrmn004 remaindernear 2 2 -> 0 347db96d56Sopenharmony_ciddrmn005 remaindernear 0 1 -> 0 357db96d56Sopenharmony_ciddrmn006 remaindernear 0 2 -> 0 367db96d56Sopenharmony_ciddrmn007 remaindernear 1 3 -> 1 377db96d56Sopenharmony_ciddrmn008 remaindernear 2 3 -> -1 387db96d56Sopenharmony_ciddrmn009 remaindernear 3 3 -> 0 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ciddrmn010 remaindernear 2.4 1 -> 0.4 417db96d56Sopenharmony_ciddrmn011 remaindernear 2.4 -1 -> 0.4 427db96d56Sopenharmony_ciddrmn012 remaindernear -2.4 1 -> -0.4 437db96d56Sopenharmony_ciddrmn013 remaindernear -2.4 -1 -> -0.4 447db96d56Sopenharmony_ciddrmn014 remaindernear 2.40 1 -> 0.40 457db96d56Sopenharmony_ciddrmn015 remaindernear 2.400 1 -> 0.400 467db96d56Sopenharmony_ciddrmn016 remaindernear 2.4 2 -> 0.4 477db96d56Sopenharmony_ciddrmn017 remaindernear 2.400 2 -> 0.400 487db96d56Sopenharmony_ciddrmn018 remaindernear 2. 2 -> 0 497db96d56Sopenharmony_ciddrmn019 remaindernear 20 20 -> 0 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_ciddrmn020 remaindernear 187 187 -> 0 527db96d56Sopenharmony_ciddrmn021 remaindernear 5 2 -> 1 537db96d56Sopenharmony_ciddrmn022 remaindernear 5 2.0 -> 1.0 547db96d56Sopenharmony_ciddrmn023 remaindernear 5 2.000 -> 1.000 557db96d56Sopenharmony_ciddrmn024 remaindernear 5 0.200 -> 0.000 567db96d56Sopenharmony_ciddrmn025 remaindernear 5 0.200 -> 0.000 577db96d56Sopenharmony_ci 587db96d56Sopenharmony_ciddrmn030 remaindernear 1 2 -> 1 597db96d56Sopenharmony_ciddrmn031 remaindernear 1 4 -> 1 607db96d56Sopenharmony_ciddrmn032 remaindernear 1 8 -> 1 617db96d56Sopenharmony_ci 627db96d56Sopenharmony_ciddrmn033 remaindernear 1 16 -> 1 637db96d56Sopenharmony_ciddrmn034 remaindernear 1 32 -> 1 647db96d56Sopenharmony_ciddrmn035 remaindernear 1 64 -> 1 657db96d56Sopenharmony_ciddrmn040 remaindernear 1 -2 -> 1 667db96d56Sopenharmony_ciddrmn041 remaindernear 1 -4 -> 1 677db96d56Sopenharmony_ciddrmn042 remaindernear 1 -8 -> 1 687db96d56Sopenharmony_ciddrmn043 remaindernear 1 -16 -> 1 697db96d56Sopenharmony_ciddrmn044 remaindernear 1 -32 -> 1 707db96d56Sopenharmony_ciddrmn045 remaindernear 1 -64 -> 1 717db96d56Sopenharmony_ciddrmn050 remaindernear -1 2 -> -1 727db96d56Sopenharmony_ciddrmn051 remaindernear -1 4 -> -1 737db96d56Sopenharmony_ciddrmn052 remaindernear -1 8 -> -1 747db96d56Sopenharmony_ciddrmn053 remaindernear -1 16 -> -1 757db96d56Sopenharmony_ciddrmn054 remaindernear -1 32 -> -1 767db96d56Sopenharmony_ciddrmn055 remaindernear -1 64 -> -1 777db96d56Sopenharmony_ciddrmn060 remaindernear -1 -2 -> -1 787db96d56Sopenharmony_ciddrmn061 remaindernear -1 -4 -> -1 797db96d56Sopenharmony_ciddrmn062 remaindernear -1 -8 -> -1 807db96d56Sopenharmony_ciddrmn063 remaindernear -1 -16 -> -1 817db96d56Sopenharmony_ciddrmn064 remaindernear -1 -32 -> -1 827db96d56Sopenharmony_ciddrmn065 remaindernear -1 -64 -> -1 837db96d56Sopenharmony_ci 847db96d56Sopenharmony_ciddrmn066 remaindernear 9.9 1 -> -0.1 857db96d56Sopenharmony_ciddrmn067 remaindernear 99.7 1 -> -0.3 867db96d56Sopenharmony_ciddrmn068 remaindernear 999999999 1 -> 0 877db96d56Sopenharmony_ciddrmn069 remaindernear 999999999.4 1 -> 0.4 887db96d56Sopenharmony_ciddrmn070 remaindernear 999999999.5 1 -> -0.5 897db96d56Sopenharmony_ciddrmn071 remaindernear 999999999.9 1 -> -0.1 907db96d56Sopenharmony_ciddrmn072 remaindernear 999999999.999 1 -> -0.001 917db96d56Sopenharmony_ciddrmn073 remaindernear 999999.999999 1 -> -0.000001 927db96d56Sopenharmony_ciddrmn074 remaindernear 9 1 -> 0 937db96d56Sopenharmony_ciddrmn075 remaindernear 9999999999999999 1 -> 0 947db96d56Sopenharmony_ciddrmn076 remaindernear 9999999999999999 2 -> -1 957db96d56Sopenharmony_ciddrmn077 remaindernear 9999999999999999 3 -> 0 967db96d56Sopenharmony_ciddrmn078 remaindernear 9999999999999999 4 -> -1 977db96d56Sopenharmony_ci 987db96d56Sopenharmony_ciddrmn080 remaindernear 0. 1 -> 0 997db96d56Sopenharmony_ciddrmn081 remaindernear .0 1 -> 0.0 1007db96d56Sopenharmony_ciddrmn082 remaindernear 0.00 1 -> 0.00 1017db96d56Sopenharmony_ciddrmn083 remaindernear 0.00E+9 1 -> 0 1027db96d56Sopenharmony_ciddrmn084 remaindernear 0.00E+3 1 -> 0 1037db96d56Sopenharmony_ciddrmn085 remaindernear 0.00E+2 1 -> 0 1047db96d56Sopenharmony_ciddrmn086 remaindernear 0.00E+1 1 -> 0.0 1057db96d56Sopenharmony_ciddrmn087 remaindernear 0.00E+0 1 -> 0.00 1067db96d56Sopenharmony_ciddrmn088 remaindernear 0.00E-0 1 -> 0.00 1077db96d56Sopenharmony_ciddrmn089 remaindernear 0.00E-1 1 -> 0.000 1087db96d56Sopenharmony_ciddrmn090 remaindernear 0.00E-2 1 -> 0.0000 1097db96d56Sopenharmony_ciddrmn091 remaindernear 0.00E-3 1 -> 0.00000 1107db96d56Sopenharmony_ciddrmn092 remaindernear 0.00E-4 1 -> 0.000000 1117db96d56Sopenharmony_ciddrmn093 remaindernear 0.00E-5 1 -> 0E-7 1127db96d56Sopenharmony_ciddrmn094 remaindernear 0.00E-6 1 -> 0E-8 1137db96d56Sopenharmony_ciddrmn095 remaindernear 0.0000E-50 1 -> 0E-54 1147db96d56Sopenharmony_ci 1157db96d56Sopenharmony_ci-- Various flavours of remaindernear by 0 1167db96d56Sopenharmony_ciddrmn101 remaindernear 0 0 -> NaN Division_undefined 1177db96d56Sopenharmony_ciddrmn102 remaindernear 0 -0 -> NaN Division_undefined 1187db96d56Sopenharmony_ciddrmn103 remaindernear -0 0 -> NaN Division_undefined 1197db96d56Sopenharmony_ciddrmn104 remaindernear -0 -0 -> NaN Division_undefined 1207db96d56Sopenharmony_ciddrmn105 remaindernear 0.0E5 0 -> NaN Division_undefined 1217db96d56Sopenharmony_ciddrmn106 remaindernear 0.000 0 -> NaN Division_undefined 1227db96d56Sopenharmony_ci-- [Some think this next group should be Division_by_zero exception, but 1237db96d56Sopenharmony_ci-- IEEE 854 is explicit that it is Invalid operation .. for 1247db96d56Sopenharmony_ci-- remainder-near, anyway] 1257db96d56Sopenharmony_ciddrmn107 remaindernear 0.0001 0 -> NaN Invalid_operation 1267db96d56Sopenharmony_ciddrmn108 remaindernear 0.01 0 -> NaN Invalid_operation 1277db96d56Sopenharmony_ciddrmn109 remaindernear 0.1 0 -> NaN Invalid_operation 1287db96d56Sopenharmony_ciddrmn110 remaindernear 1 0 -> NaN Invalid_operation 1297db96d56Sopenharmony_ciddrmn111 remaindernear 1 0.0 -> NaN Invalid_operation 1307db96d56Sopenharmony_ciddrmn112 remaindernear 10 0.0 -> NaN Invalid_operation 1317db96d56Sopenharmony_ciddrmn113 remaindernear 1E+100 0.0 -> NaN Invalid_operation 1327db96d56Sopenharmony_ciddrmn114 remaindernear 1E+380 0 -> NaN Invalid_operation 1337db96d56Sopenharmony_ciddrmn115 remaindernear 0.0001 -0 -> NaN Invalid_operation 1347db96d56Sopenharmony_ciddrmn116 remaindernear 0.01 -0 -> NaN Invalid_operation 1357db96d56Sopenharmony_ciddrmn119 remaindernear 0.1 -0 -> NaN Invalid_operation 1367db96d56Sopenharmony_ciddrmn120 remaindernear 1 -0 -> NaN Invalid_operation 1377db96d56Sopenharmony_ciddrmn121 remaindernear 1 -0.0 -> NaN Invalid_operation 1387db96d56Sopenharmony_ciddrmn122 remaindernear 10 -0.0 -> NaN Invalid_operation 1397db96d56Sopenharmony_ciddrmn123 remaindernear 1E+100 -0.0 -> NaN Invalid_operation 1407db96d56Sopenharmony_ciddrmn124 remaindernear 1E+384 -0 -> NaN Invalid_operation 1417db96d56Sopenharmony_ci-- and zeros on left 1427db96d56Sopenharmony_ciddrmn130 remaindernear 0 1 -> 0 1437db96d56Sopenharmony_ciddrmn131 remaindernear 0 -1 -> 0 1447db96d56Sopenharmony_ciddrmn132 remaindernear 0.0 1 -> 0.0 1457db96d56Sopenharmony_ciddrmn133 remaindernear 0.0 -1 -> 0.0 1467db96d56Sopenharmony_ciddrmn134 remaindernear -0 1 -> -0 1477db96d56Sopenharmony_ciddrmn135 remaindernear -0 -1 -> -0 1487db96d56Sopenharmony_ciddrmn136 remaindernear -0.0 1 -> -0.0 1497db96d56Sopenharmony_ciddrmn137 remaindernear -0.0 -1 -> -0.0 1507db96d56Sopenharmony_ci 1517db96d56Sopenharmony_ci-- 0.5ers 1527db96d56Sopenharmony_ciddrmn143 remaindernear 0.5 2 -> 0.5 1537db96d56Sopenharmony_ciddrmn144 remaindernear 0.5 2.1 -> 0.5 1547db96d56Sopenharmony_ciddrmn145 remaindernear 0.5 2.01 -> 0.50 1557db96d56Sopenharmony_ciddrmn146 remaindernear 0.5 2.001 -> 0.500 1567db96d56Sopenharmony_ciddrmn147 remaindernear 0.50 2 -> 0.50 1577db96d56Sopenharmony_ciddrmn148 remaindernear 0.50 2.01 -> 0.50 1587db96d56Sopenharmony_ciddrmn149 remaindernear 0.50 2.001 -> 0.500 1597db96d56Sopenharmony_ci 1607db96d56Sopenharmony_ci-- steadies 1617db96d56Sopenharmony_ciddrmn150 remaindernear 1 1 -> 0 1627db96d56Sopenharmony_ciddrmn151 remaindernear 1 2 -> 1 1637db96d56Sopenharmony_ciddrmn152 remaindernear 1 3 -> 1 1647db96d56Sopenharmony_ciddrmn153 remaindernear 1 4 -> 1 1657db96d56Sopenharmony_ciddrmn154 remaindernear 1 5 -> 1 1667db96d56Sopenharmony_ciddrmn155 remaindernear 1 6 -> 1 1677db96d56Sopenharmony_ciddrmn156 remaindernear 1 7 -> 1 1687db96d56Sopenharmony_ciddrmn157 remaindernear 1 8 -> 1 1697db96d56Sopenharmony_ciddrmn158 remaindernear 1 9 -> 1 1707db96d56Sopenharmony_ciddrmn159 remaindernear 1 10 -> 1 1717db96d56Sopenharmony_ciddrmn160 remaindernear 1 1 -> 0 1727db96d56Sopenharmony_ciddrmn161 remaindernear 2 1 -> 0 1737db96d56Sopenharmony_ciddrmn162 remaindernear 3 1 -> 0 1747db96d56Sopenharmony_ciddrmn163 remaindernear 4 1 -> 0 1757db96d56Sopenharmony_ciddrmn164 remaindernear 5 1 -> 0 1767db96d56Sopenharmony_ciddrmn165 remaindernear 6 1 -> 0 1777db96d56Sopenharmony_ciddrmn166 remaindernear 7 1 -> 0 1787db96d56Sopenharmony_ciddrmn167 remaindernear 8 1 -> 0 1797db96d56Sopenharmony_ciddrmn168 remaindernear 9 1 -> 0 1807db96d56Sopenharmony_ciddrmn169 remaindernear 10 1 -> 0 1817db96d56Sopenharmony_ci 1827db96d56Sopenharmony_ci-- some differences from remainder 1837db96d56Sopenharmony_ciddrmn171 remaindernear 0.4 1.020 -> 0.400 1847db96d56Sopenharmony_ciddrmn172 remaindernear 0.50 1.020 -> 0.500 1857db96d56Sopenharmony_ciddrmn173 remaindernear 0.51 1.020 -> 0.510 1867db96d56Sopenharmony_ciddrmn174 remaindernear 0.52 1.020 -> -0.500 1877db96d56Sopenharmony_ciddrmn175 remaindernear 0.6 1.020 -> -0.420 1887db96d56Sopenharmony_ci 1897db96d56Sopenharmony_ci-- More flavours of remaindernear by 0 1907db96d56Sopenharmony_ciddrmn201 remaindernear 0 0 -> NaN Division_undefined 1917db96d56Sopenharmony_ciddrmn202 remaindernear 0.0E5 0 -> NaN Division_undefined 1927db96d56Sopenharmony_ciddrmn203 remaindernear 0.000 0 -> NaN Division_undefined 1937db96d56Sopenharmony_ciddrmn204 remaindernear 0.0001 0 -> NaN Invalid_operation 1947db96d56Sopenharmony_ciddrmn205 remaindernear 0.01 0 -> NaN Invalid_operation 1957db96d56Sopenharmony_ciddrmn206 remaindernear 0.1 0 -> NaN Invalid_operation 1967db96d56Sopenharmony_ciddrmn207 remaindernear 1 0 -> NaN Invalid_operation 1977db96d56Sopenharmony_ciddrmn208 remaindernear 1 0.0 -> NaN Invalid_operation 1987db96d56Sopenharmony_ciddrmn209 remaindernear 10 0.0 -> NaN Invalid_operation 1997db96d56Sopenharmony_ciddrmn210 remaindernear 1E+100 0.0 -> NaN Invalid_operation 2007db96d56Sopenharmony_ciddrmn211 remaindernear 1E+380 0 -> NaN Invalid_operation 2017db96d56Sopenharmony_ci 2027db96d56Sopenharmony_ci-- tests from the extended specification 2037db96d56Sopenharmony_ciddrmn221 remaindernear 2.1 3 -> -0.9 2047db96d56Sopenharmony_ciddrmn222 remaindernear 10 6 -> -2 2057db96d56Sopenharmony_ciddrmn223 remaindernear 10 3 -> 1 2067db96d56Sopenharmony_ciddrmn224 remaindernear -10 3 -> -1 2077db96d56Sopenharmony_ciddrmn225 remaindernear 10.2 1 -> 0.2 2087db96d56Sopenharmony_ciddrmn226 remaindernear 10 0.3 -> 0.1 2097db96d56Sopenharmony_ciddrmn227 remaindernear 3.6 1.3 -> -0.3 2107db96d56Sopenharmony_ci 2117db96d56Sopenharmony_ci-- some differences from remainder 2127db96d56Sopenharmony_ciddrmn231 remaindernear -0.4 1.020 -> -0.400 2137db96d56Sopenharmony_ciddrmn232 remaindernear -0.50 1.020 -> -0.500 2147db96d56Sopenharmony_ciddrmn233 remaindernear -0.51 1.020 -> -0.510 2157db96d56Sopenharmony_ciddrmn234 remaindernear -0.52 1.020 -> 0.500 2167db96d56Sopenharmony_ciddrmn235 remaindernear -0.6 1.020 -> 0.420 2177db96d56Sopenharmony_ci 2187db96d56Sopenharmony_ci-- high Xs 2197db96d56Sopenharmony_ciddrmn240 remaindernear 1E+2 1.00 -> 0.00 2207db96d56Sopenharmony_ci 2217db96d56Sopenharmony_ci-- ddrmn3xx are from DiagBigDecimal 2227db96d56Sopenharmony_ciddrmn301 remaindernear 1 3 -> 1 2237db96d56Sopenharmony_ciddrmn302 remaindernear 5 5 -> 0 2247db96d56Sopenharmony_ciddrmn303 remaindernear 13 10 -> 3 2257db96d56Sopenharmony_ciddrmn304 remaindernear 13 50 -> 13 2267db96d56Sopenharmony_ciddrmn305 remaindernear 13 100 -> 13 2277db96d56Sopenharmony_ciddrmn306 remaindernear 13 1000 -> 13 2287db96d56Sopenharmony_ciddrmn307 remaindernear .13 1 -> 0.13 2297db96d56Sopenharmony_ciddrmn308 remaindernear 0.133 1 -> 0.133 2307db96d56Sopenharmony_ciddrmn309 remaindernear 0.1033 1 -> 0.1033 2317db96d56Sopenharmony_ciddrmn310 remaindernear 1.033 1 -> 0.033 2327db96d56Sopenharmony_ciddrmn311 remaindernear 10.33 1 -> 0.33 2337db96d56Sopenharmony_ciddrmn312 remaindernear 10.33 10 -> 0.33 2347db96d56Sopenharmony_ciddrmn313 remaindernear 103.3 1 -> 0.3 2357db96d56Sopenharmony_ciddrmn314 remaindernear 133 10 -> 3 2367db96d56Sopenharmony_ciddrmn315 remaindernear 1033 10 -> 3 2377db96d56Sopenharmony_ciddrmn316 remaindernear 1033 50 -> -17 2387db96d56Sopenharmony_ciddrmn317 remaindernear 101.0 3 -> -1.0 2397db96d56Sopenharmony_ciddrmn318 remaindernear 102.0 3 -> 0.0 2407db96d56Sopenharmony_ciddrmn319 remaindernear 103.0 3 -> 1.0 2417db96d56Sopenharmony_ciddrmn320 remaindernear 2.40 1 -> 0.40 2427db96d56Sopenharmony_ciddrmn321 remaindernear 2.400 1 -> 0.400 2437db96d56Sopenharmony_ciddrmn322 remaindernear 2.4 1 -> 0.4 2447db96d56Sopenharmony_ciddrmn323 remaindernear 2.4 2 -> 0.4 2457db96d56Sopenharmony_ciddrmn324 remaindernear 2.400 2 -> 0.400 2467db96d56Sopenharmony_ciddrmn325 remaindernear 1 0.3 -> 0.1 2477db96d56Sopenharmony_ciddrmn326 remaindernear 1 0.30 -> 0.10 2487db96d56Sopenharmony_ciddrmn327 remaindernear 1 0.300 -> 0.100 2497db96d56Sopenharmony_ciddrmn328 remaindernear 1 0.3000 -> 0.1000 2507db96d56Sopenharmony_ciddrmn329 remaindernear 1.0 0.3 -> 0.1 2517db96d56Sopenharmony_ciddrmn330 remaindernear 1.00 0.3 -> 0.10 2527db96d56Sopenharmony_ciddrmn331 remaindernear 1.000 0.3 -> 0.100 2537db96d56Sopenharmony_ciddrmn332 remaindernear 1.0000 0.3 -> 0.1000 2547db96d56Sopenharmony_ciddrmn333 remaindernear 0.5 2 -> 0.5 2557db96d56Sopenharmony_ciddrmn334 remaindernear 0.5 2.1 -> 0.5 2567db96d56Sopenharmony_ciddrmn335 remaindernear 0.5 2.01 -> 0.50 2577db96d56Sopenharmony_ciddrmn336 remaindernear 0.5 2.001 -> 0.500 2587db96d56Sopenharmony_ciddrmn337 remaindernear 0.50 2 -> 0.50 2597db96d56Sopenharmony_ciddrmn338 remaindernear 0.50 2.01 -> 0.50 2607db96d56Sopenharmony_ciddrmn339 remaindernear 0.50 2.001 -> 0.500 2617db96d56Sopenharmony_ci 2627db96d56Sopenharmony_ciddrmn340 remaindernear 0.5 0.5000001 -> -1E-7 2637db96d56Sopenharmony_ciddrmn341 remaindernear 0.5 0.50000001 -> -1E-8 2647db96d56Sopenharmony_ciddrmn342 remaindernear 0.5 0.500000001 -> -1E-9 2657db96d56Sopenharmony_ciddrmn343 remaindernear 0.5 0.5000000001 -> -1E-10 2667db96d56Sopenharmony_ciddrmn344 remaindernear 0.5 0.50000000001 -> -1E-11 2677db96d56Sopenharmony_ciddrmn345 remaindernear 0.5 0.4999999 -> 1E-7 2687db96d56Sopenharmony_ciddrmn346 remaindernear 0.5 0.49999999 -> 1E-8 2697db96d56Sopenharmony_ciddrmn347 remaindernear 0.5 0.499999999 -> 1E-9 2707db96d56Sopenharmony_ciddrmn348 remaindernear 0.5 0.4999999999 -> 1E-10 2717db96d56Sopenharmony_ciddrmn349 remaindernear 0.5 0.49999999999 -> 1E-11 2727db96d56Sopenharmony_ciddrmn350 remaindernear 0.5 0.499999999999 -> 1E-12 2737db96d56Sopenharmony_ci 2747db96d56Sopenharmony_ciddrmn351 remaindernear 0.03 7 -> 0.03 2757db96d56Sopenharmony_ciddrmn352 remaindernear 5 2 -> 1 2767db96d56Sopenharmony_ciddrmn353 remaindernear 4.1 2 -> 0.1 2777db96d56Sopenharmony_ciddrmn354 remaindernear 4.01 2 -> 0.01 2787db96d56Sopenharmony_ciddrmn355 remaindernear 4.001 2 -> 0.001 2797db96d56Sopenharmony_ciddrmn356 remaindernear 4.0001 2 -> 0.0001 2807db96d56Sopenharmony_ciddrmn357 remaindernear 4.00001 2 -> 0.00001 2817db96d56Sopenharmony_ciddrmn358 remaindernear 4.000001 2 -> 0.000001 2827db96d56Sopenharmony_ciddrmn359 remaindernear 4.0000001 2 -> 1E-7 2837db96d56Sopenharmony_ci 2847db96d56Sopenharmony_ciddrmn360 remaindernear 1.2 0.7345 -> -0.2690 2857db96d56Sopenharmony_ciddrmn361 remaindernear 0.8 12 -> 0.8 2867db96d56Sopenharmony_ciddrmn362 remaindernear 0.8 0.2 -> 0.0 2877db96d56Sopenharmony_ciddrmn363 remaindernear 0.8 0.3 -> -0.1 2887db96d56Sopenharmony_ciddrmn364 remaindernear 0.800 12 -> 0.800 2897db96d56Sopenharmony_ciddrmn365 remaindernear 0.800 1.7 -> 0.800 2907db96d56Sopenharmony_ciddrmn366 remaindernear 2.400 2 -> 0.400 2917db96d56Sopenharmony_ci 2927db96d56Sopenharmony_ci-- round to even 2937db96d56Sopenharmony_ciddrmn371 remaindernear 121 2 -> 1 2947db96d56Sopenharmony_ciddrmn372 remaindernear 122 2 -> 0 2957db96d56Sopenharmony_ciddrmn373 remaindernear 123 2 -> -1 2967db96d56Sopenharmony_ciddrmn374 remaindernear 124 2 -> 0 2977db96d56Sopenharmony_ciddrmn375 remaindernear 125 2 -> 1 2987db96d56Sopenharmony_ciddrmn376 remaindernear 126 2 -> 0 2997db96d56Sopenharmony_ciddrmn377 remaindernear 127 2 -> -1 3007db96d56Sopenharmony_ci 3017db96d56Sopenharmony_ciddrmn381 remaindernear 12345 1 -> 0 3027db96d56Sopenharmony_ciddrmn382 remaindernear 12345 1.0001 -> -0.2344 3037db96d56Sopenharmony_ciddrmn383 remaindernear 12345 1.001 -> -0.333 3047db96d56Sopenharmony_ciddrmn384 remaindernear 12345 1.01 -> -0.23 3057db96d56Sopenharmony_ciddrmn385 remaindernear 12345 1.1 -> -0.3 3067db96d56Sopenharmony_ciddrmn386 remaindernear 12355 4 -> -1 3077db96d56Sopenharmony_ciddrmn387 remaindernear 12345 4 -> 1 3087db96d56Sopenharmony_ciddrmn388 remaindernear 12355 4.0001 -> -1.3089 3097db96d56Sopenharmony_ciddrmn389 remaindernear 12345 4.0001 -> 0.6914 3107db96d56Sopenharmony_ciddrmn390 remaindernear 12345 4.9 -> 1.9 3117db96d56Sopenharmony_ciddrmn391 remaindernear 12345 4.99 -> -0.26 3127db96d56Sopenharmony_ciddrmn392 remaindernear 12345 4.999 -> 2.469 3137db96d56Sopenharmony_ciddrmn393 remaindernear 12345 4.9999 -> 0.2469 3147db96d56Sopenharmony_ciddrmn394 remaindernear 12345 5 -> 0 3157db96d56Sopenharmony_ciddrmn395 remaindernear 12345 5.0001 -> -0.2469 3167db96d56Sopenharmony_ciddrmn396 remaindernear 12345 5.001 -> -2.469 3177db96d56Sopenharmony_ciddrmn397 remaindernear 12345 5.01 -> 0.36 3187db96d56Sopenharmony_ciddrmn398 remaindernear 12345 5.1 -> -2.1 3197db96d56Sopenharmony_ci 3207db96d56Sopenharmony_ci-- the nasty division-by-1 cases 3217db96d56Sopenharmony_ciddrmn401 remaindernear 0.4 1 -> 0.4 3227db96d56Sopenharmony_ciddrmn402 remaindernear 0.45 1 -> 0.45 3237db96d56Sopenharmony_ciddrmn403 remaindernear 0.455 1 -> 0.455 3247db96d56Sopenharmony_ciddrmn404 remaindernear 0.4555 1 -> 0.4555 3257db96d56Sopenharmony_ciddrmn405 remaindernear 0.45555 1 -> 0.45555 3267db96d56Sopenharmony_ciddrmn406 remaindernear 0.455555 1 -> 0.455555 3277db96d56Sopenharmony_ciddrmn407 remaindernear 0.4555555 1 -> 0.4555555 3287db96d56Sopenharmony_ciddrmn408 remaindernear 0.45555555 1 -> 0.45555555 3297db96d56Sopenharmony_ciddrmn409 remaindernear 0.455555555 1 -> 0.455555555 3307db96d56Sopenharmony_ci-- with spill... [412 exercises sticktab loop] 3317db96d56Sopenharmony_ciddrmn411 remaindernear 0.5 1 -> 0.5 3327db96d56Sopenharmony_ciddrmn412 remaindernear 0.55 1 -> -0.45 3337db96d56Sopenharmony_ciddrmn413 remaindernear 0.555 1 -> -0.445 3347db96d56Sopenharmony_ciddrmn414 remaindernear 0.5555 1 -> -0.4445 3357db96d56Sopenharmony_ciddrmn415 remaindernear 0.55555 1 -> -0.44445 3367db96d56Sopenharmony_ciddrmn416 remaindernear 0.555555 1 -> -0.444445 3377db96d56Sopenharmony_ciddrmn417 remaindernear 0.5555555 1 -> -0.4444445 3387db96d56Sopenharmony_ciddrmn418 remaindernear 0.55555555 1 -> -0.44444445 3397db96d56Sopenharmony_ciddrmn419 remaindernear 0.555555555 1 -> -0.444444445 3407db96d56Sopenharmony_ci 3417db96d56Sopenharmony_ci-- folddowns 3427db96d56Sopenharmony_ciddrmn421 remaindernear 1E+384 1 -> NaN Division_impossible 3437db96d56Sopenharmony_ciddrmn422 remaindernear 1E+384 1E+383 -> 0E+369 Clamped 3447db96d56Sopenharmony_ciddrmn423 remaindernear 1E+384 2E+383 -> 0E+369 Clamped 3457db96d56Sopenharmony_ciddrmn424 remaindernear 1E+384 3E+383 -> 1.00000000000000E+383 Clamped 3467db96d56Sopenharmony_ciddrmn425 remaindernear 1E+384 4E+383 -> 2.00000000000000E+383 Clamped 3477db96d56Sopenharmony_ciddrmn426 remaindernear 1E+384 5E+383 -> 0E+369 Clamped 3487db96d56Sopenharmony_ciddrmn427 remaindernear 1E+384 6E+383 -> -2.00000000000000E+383 Clamped 3497db96d56Sopenharmony_ciddrmn428 remaindernear 1E+384 7E+383 -> 3.00000000000000E+383 Clamped 3507db96d56Sopenharmony_ciddrmn429 remaindernear 1E+384 8E+383 -> 2.00000000000000E+383 Clamped 3517db96d56Sopenharmony_ciddrmn430 remaindernear 1E+384 9E+383 -> 1.00000000000000E+383 Clamped 3527db96d56Sopenharmony_ci-- tinies 3537db96d56Sopenharmony_ciddrmn431 remaindernear 1E-397 1E-398 -> 0E-398 3547db96d56Sopenharmony_ciddrmn432 remaindernear 1E-397 2E-398 -> 0E-398 3557db96d56Sopenharmony_ciddrmn433 remaindernear 1E-397 3E-398 -> 1E-398 Subnormal 3567db96d56Sopenharmony_ciddrmn434 remaindernear 1E-397 4E-398 -> 2E-398 Subnormal 3577db96d56Sopenharmony_ciddrmn435 remaindernear 1E-397 5E-398 -> 0E-398 3587db96d56Sopenharmony_ciddrmn436 remaindernear 1E-397 6E-398 -> -2E-398 Subnormal 3597db96d56Sopenharmony_ciddrmn437 remaindernear 1E-397 7E-398 -> 3E-398 Subnormal 3607db96d56Sopenharmony_ciddrmn438 remaindernear 1E-397 8E-398 -> 2E-398 Subnormal 3617db96d56Sopenharmony_ciddrmn439 remaindernear 1E-397 9E-398 -> 1E-398 Subnormal 3627db96d56Sopenharmony_ciddrmn440 remaindernear 1E-397 10E-398 -> 0E-398 3637db96d56Sopenharmony_ciddrmn441 remaindernear 1E-397 11E-398 -> -1E-398 Subnormal 3647db96d56Sopenharmony_ciddrmn442 remaindernear 100E-397 11E-398 -> -1E-398 Subnormal 3657db96d56Sopenharmony_ciddrmn443 remaindernear 100E-397 20E-398 -> 0E-398 3667db96d56Sopenharmony_ciddrmn444 remaindernear 100E-397 21E-398 -> -8E-398 Subnormal 3677db96d56Sopenharmony_ciddrmn445 remaindernear 100E-397 30E-398 -> 1.0E-397 Subnormal 3687db96d56Sopenharmony_ci 3697db96d56Sopenharmony_ci-- zero signs 3707db96d56Sopenharmony_ciddrmn650 remaindernear 1 1 -> 0 3717db96d56Sopenharmony_ciddrmn651 remaindernear -1 1 -> -0 3727db96d56Sopenharmony_ciddrmn652 remaindernear 1 -1 -> 0 3737db96d56Sopenharmony_ciddrmn653 remaindernear -1 -1 -> -0 3747db96d56Sopenharmony_ciddrmn654 remaindernear 0 1 -> 0 3757db96d56Sopenharmony_ciddrmn655 remaindernear -0 1 -> -0 3767db96d56Sopenharmony_ciddrmn656 remaindernear 0 -1 -> 0 3777db96d56Sopenharmony_ciddrmn657 remaindernear -0 -1 -> -0 3787db96d56Sopenharmony_ciddrmn658 remaindernear 0.00 1 -> 0.00 3797db96d56Sopenharmony_ciddrmn659 remaindernear -0.00 1 -> -0.00 3807db96d56Sopenharmony_ci 3817db96d56Sopenharmony_ci-- Specials 3827db96d56Sopenharmony_ciddrmn680 remaindernear Inf -Inf -> NaN Invalid_operation 3837db96d56Sopenharmony_ciddrmn681 remaindernear Inf -1000 -> NaN Invalid_operation 3847db96d56Sopenharmony_ciddrmn682 remaindernear Inf -1 -> NaN Invalid_operation 3857db96d56Sopenharmony_ciddrmn683 remaindernear Inf 0 -> NaN Invalid_operation 3867db96d56Sopenharmony_ciddrmn684 remaindernear Inf -0 -> NaN Invalid_operation 3877db96d56Sopenharmony_ciddrmn685 remaindernear Inf 1 -> NaN Invalid_operation 3887db96d56Sopenharmony_ciddrmn686 remaindernear Inf 1000 -> NaN Invalid_operation 3897db96d56Sopenharmony_ciddrmn687 remaindernear Inf Inf -> NaN Invalid_operation 3907db96d56Sopenharmony_ciddrmn688 remaindernear -1000 Inf -> -1000 3917db96d56Sopenharmony_ciddrmn689 remaindernear -Inf Inf -> NaN Invalid_operation 3927db96d56Sopenharmony_ciddrmn691 remaindernear -1 Inf -> -1 3937db96d56Sopenharmony_ciddrmn692 remaindernear 0 Inf -> 0 3947db96d56Sopenharmony_ciddrmn693 remaindernear -0 Inf -> -0 3957db96d56Sopenharmony_ciddrmn694 remaindernear 1 Inf -> 1 3967db96d56Sopenharmony_ciddrmn695 remaindernear 1000 Inf -> 1000 3977db96d56Sopenharmony_ciddrmn696 remaindernear Inf Inf -> NaN Invalid_operation 3987db96d56Sopenharmony_ci 3997db96d56Sopenharmony_ciddrmn700 remaindernear -Inf -Inf -> NaN Invalid_operation 4007db96d56Sopenharmony_ciddrmn701 remaindernear -Inf -1000 -> NaN Invalid_operation 4017db96d56Sopenharmony_ciddrmn702 remaindernear -Inf -1 -> NaN Invalid_operation 4027db96d56Sopenharmony_ciddrmn703 remaindernear -Inf -0 -> NaN Invalid_operation 4037db96d56Sopenharmony_ciddrmn704 remaindernear -Inf 0 -> NaN Invalid_operation 4047db96d56Sopenharmony_ciddrmn705 remaindernear -Inf 1 -> NaN Invalid_operation 4057db96d56Sopenharmony_ciddrmn706 remaindernear -Inf 1000 -> NaN Invalid_operation 4067db96d56Sopenharmony_ciddrmn707 remaindernear -Inf Inf -> NaN Invalid_operation 4077db96d56Sopenharmony_ciddrmn708 remaindernear -Inf -Inf -> NaN Invalid_operation 4087db96d56Sopenharmony_ciddrmn709 remaindernear -1000 Inf -> -1000 4097db96d56Sopenharmony_ciddrmn710 remaindernear -1 -Inf -> -1 4107db96d56Sopenharmony_ciddrmn711 remaindernear -0 -Inf -> -0 4117db96d56Sopenharmony_ciddrmn712 remaindernear 0 -Inf -> 0 4127db96d56Sopenharmony_ciddrmn713 remaindernear 1 -Inf -> 1 4137db96d56Sopenharmony_ciddrmn714 remaindernear 1000 -Inf -> 1000 4147db96d56Sopenharmony_ciddrmn715 remaindernear Inf -Inf -> NaN Invalid_operation 4157db96d56Sopenharmony_ci 4167db96d56Sopenharmony_ciddrmn721 remaindernear NaN -Inf -> NaN 4177db96d56Sopenharmony_ciddrmn722 remaindernear NaN -1000 -> NaN 4187db96d56Sopenharmony_ciddrmn723 remaindernear NaN -1 -> NaN 4197db96d56Sopenharmony_ciddrmn724 remaindernear NaN -0 -> NaN 4207db96d56Sopenharmony_ciddrmn725 remaindernear -NaN 0 -> -NaN 4217db96d56Sopenharmony_ciddrmn726 remaindernear NaN 1 -> NaN 4227db96d56Sopenharmony_ciddrmn727 remaindernear NaN 1000 -> NaN 4237db96d56Sopenharmony_ciddrmn728 remaindernear NaN Inf -> NaN 4247db96d56Sopenharmony_ciddrmn729 remaindernear NaN -NaN -> NaN 4257db96d56Sopenharmony_ciddrmn730 remaindernear -Inf NaN -> NaN 4267db96d56Sopenharmony_ciddrmn731 remaindernear -1000 NaN -> NaN 4277db96d56Sopenharmony_ciddrmn732 remaindernear -1 NaN -> NaN 4287db96d56Sopenharmony_ciddrmn733 remaindernear -0 -NaN -> -NaN 4297db96d56Sopenharmony_ciddrmn734 remaindernear 0 NaN -> NaN 4307db96d56Sopenharmony_ciddrmn735 remaindernear 1 -NaN -> -NaN 4317db96d56Sopenharmony_ciddrmn736 remaindernear 1000 NaN -> NaN 4327db96d56Sopenharmony_ciddrmn737 remaindernear Inf NaN -> NaN 4337db96d56Sopenharmony_ci 4347db96d56Sopenharmony_ciddrmn741 remaindernear sNaN -Inf -> NaN Invalid_operation 4357db96d56Sopenharmony_ciddrmn742 remaindernear sNaN -1000 -> NaN Invalid_operation 4367db96d56Sopenharmony_ciddrmn743 remaindernear -sNaN -1 -> -NaN Invalid_operation 4377db96d56Sopenharmony_ciddrmn744 remaindernear sNaN -0 -> NaN Invalid_operation 4387db96d56Sopenharmony_ciddrmn745 remaindernear sNaN 0 -> NaN Invalid_operation 4397db96d56Sopenharmony_ciddrmn746 remaindernear sNaN 1 -> NaN Invalid_operation 4407db96d56Sopenharmony_ciddrmn747 remaindernear sNaN 1000 -> NaN Invalid_operation 4417db96d56Sopenharmony_ciddrmn749 remaindernear sNaN NaN -> NaN Invalid_operation 4427db96d56Sopenharmony_ciddrmn750 remaindernear sNaN sNaN -> NaN Invalid_operation 4437db96d56Sopenharmony_ciddrmn751 remaindernear NaN sNaN -> NaN Invalid_operation 4447db96d56Sopenharmony_ciddrmn752 remaindernear -Inf sNaN -> NaN Invalid_operation 4457db96d56Sopenharmony_ciddrmn753 remaindernear -1000 sNaN -> NaN Invalid_operation 4467db96d56Sopenharmony_ciddrmn754 remaindernear -1 sNaN -> NaN Invalid_operation 4477db96d56Sopenharmony_ciddrmn755 remaindernear -0 sNaN -> NaN Invalid_operation 4487db96d56Sopenharmony_ciddrmn756 remaindernear 0 sNaN -> NaN Invalid_operation 4497db96d56Sopenharmony_ciddrmn757 remaindernear 1 sNaN -> NaN Invalid_operation 4507db96d56Sopenharmony_ciddrmn758 remaindernear 1000 sNaN -> NaN Invalid_operation 4517db96d56Sopenharmony_ciddrmn759 remaindernear Inf -sNaN -> -NaN Invalid_operation 4527db96d56Sopenharmony_ci 4537db96d56Sopenharmony_ci-- propaging NaNs 4547db96d56Sopenharmony_ciddrmn760 remaindernear NaN1 NaN7 -> NaN1 4557db96d56Sopenharmony_ciddrmn761 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation 4567db96d56Sopenharmony_ciddrmn762 remaindernear NaN3 sNaN9 -> NaN9 Invalid_operation 4577db96d56Sopenharmony_ciddrmn763 remaindernear sNaN4 sNaN10 -> NaN4 Invalid_operation 4587db96d56Sopenharmony_ciddrmn764 remaindernear 15 NaN11 -> NaN11 4597db96d56Sopenharmony_ciddrmn765 remaindernear NaN6 NaN12 -> NaN6 4607db96d56Sopenharmony_ciddrmn766 remaindernear Inf NaN13 -> NaN13 4617db96d56Sopenharmony_ciddrmn767 remaindernear NaN14 -Inf -> NaN14 4627db96d56Sopenharmony_ciddrmn768 remaindernear 0 NaN15 -> NaN15 4637db96d56Sopenharmony_ciddrmn769 remaindernear NaN16 -0 -> NaN16 4647db96d56Sopenharmony_ci 4657db96d56Sopenharmony_ci-- edge cases of impossible 4667db96d56Sopenharmony_ciddrmn770 remaindernear 1234567890123456 10 -> -4 4677db96d56Sopenharmony_ciddrmn771 remaindernear 1234567890123456 1 -> 0 4687db96d56Sopenharmony_ciddrmn772 remaindernear 1234567890123456 0.1 -> NaN Division_impossible 4697db96d56Sopenharmony_ciddrmn773 remaindernear 1234567890123456 0.01 -> NaN Division_impossible 4707db96d56Sopenharmony_ci 4717db96d56Sopenharmony_ci-- long operand checks 4727db96d56Sopenharmony_ciddrmn801 remaindernear 12345678000 100 -> 0 4737db96d56Sopenharmony_ciddrmn802 remaindernear 1 12345678000 -> 1 4747db96d56Sopenharmony_ciddrmn803 remaindernear 1234567800 10 -> 0 4757db96d56Sopenharmony_ciddrmn804 remaindernear 1 1234567800 -> 1 4767db96d56Sopenharmony_ciddrmn805 remaindernear 1234567890 10 -> 0 4777db96d56Sopenharmony_ciddrmn806 remaindernear 1 1234567890 -> 1 4787db96d56Sopenharmony_ciddrmn807 remaindernear 1234567891 10 -> 1 4797db96d56Sopenharmony_ciddrmn808 remaindernear 1 1234567891 -> 1 4807db96d56Sopenharmony_ciddrmn809 remaindernear 12345678901 100 -> 1 4817db96d56Sopenharmony_ciddrmn810 remaindernear 1 12345678901 -> 1 4827db96d56Sopenharmony_ciddrmn811 remaindernear 1234567896 10 -> -4 4837db96d56Sopenharmony_ciddrmn812 remaindernear 1 1234567896 -> 1 4847db96d56Sopenharmony_ci 4857db96d56Sopenharmony_ciddrmn821 remaindernear 12345678000 100 -> 0 4867db96d56Sopenharmony_ciddrmn822 remaindernear 1 12345678000 -> 1 4877db96d56Sopenharmony_ciddrmn823 remaindernear 1234567800 10 -> 0 4887db96d56Sopenharmony_ciddrmn824 remaindernear 1 1234567800 -> 1 4897db96d56Sopenharmony_ciddrmn825 remaindernear 1234567890 10 -> 0 4907db96d56Sopenharmony_ciddrmn826 remaindernear 1 1234567890 -> 1 4917db96d56Sopenharmony_ciddrmn827 remaindernear 1234567891 10 -> 1 4927db96d56Sopenharmony_ciddrmn828 remaindernear 1 1234567891 -> 1 4937db96d56Sopenharmony_ciddrmn829 remaindernear 12345678901 100 -> 1 4947db96d56Sopenharmony_ciddrmn830 remaindernear 1 12345678901 -> 1 4957db96d56Sopenharmony_ciddrmn831 remaindernear 1234567896 10 -> -4 4967db96d56Sopenharmony_ciddrmn832 remaindernear 1 1234567896 -> 1 4977db96d56Sopenharmony_ci 4987db96d56Sopenharmony_ci-- from divideint 4997db96d56Sopenharmony_ciddrmn840 remaindernear 100000000.0 1 -> 0.0 5007db96d56Sopenharmony_ciddrmn841 remaindernear 100000000.4 1 -> 0.4 5017db96d56Sopenharmony_ciddrmn842 remaindernear 100000000.5 1 -> 0.5 5027db96d56Sopenharmony_ciddrmn843 remaindernear 100000000.9 1 -> -0.1 5037db96d56Sopenharmony_ciddrmn844 remaindernear 100000000.999 1 -> -0.001 5047db96d56Sopenharmony_ciddrmn850 remaindernear 100000003 5 -> -2 5057db96d56Sopenharmony_ciddrmn851 remaindernear 10000003 5 -> -2 5067db96d56Sopenharmony_ciddrmn852 remaindernear 1000003 5 -> -2 5077db96d56Sopenharmony_ciddrmn853 remaindernear 100003 5 -> -2 5087db96d56Sopenharmony_ciddrmn854 remaindernear 10003 5 -> -2 5097db96d56Sopenharmony_ciddrmn855 remaindernear 1003 5 -> -2 5107db96d56Sopenharmony_ciddrmn856 remaindernear 103 5 -> -2 5117db96d56Sopenharmony_ciddrmn857 remaindernear 13 5 -> -2 5127db96d56Sopenharmony_ciddrmn858 remaindernear 1 5 -> 1 5137db96d56Sopenharmony_ci 5147db96d56Sopenharmony_ci-- Vladimir's cases 1234567890123456 5157db96d56Sopenharmony_ciddrmn860 remaindernear 123.0e1 1000000000000000 -> 1230 5167db96d56Sopenharmony_ciddrmn861 remaindernear 1230 1000000000000000 -> 1230 5177db96d56Sopenharmony_ciddrmn862 remaindernear 12.3e2 1000000000000000 -> 1230 5187db96d56Sopenharmony_ciddrmn863 remaindernear 1.23e3 1000000000000000 -> 1230 5197db96d56Sopenharmony_ciddrmn864 remaindernear 123e1 1000000000000000 -> 1230 5207db96d56Sopenharmony_ciddrmn870 remaindernear 123e1 1000000000000000 -> 1230 5217db96d56Sopenharmony_ciddrmn871 remaindernear 123e1 100000000000000 -> 1230 5227db96d56Sopenharmony_ciddrmn872 remaindernear 123e1 10000000000000 -> 1230 5237db96d56Sopenharmony_ciddrmn873 remaindernear 123e1 1000000000000 -> 1230 5247db96d56Sopenharmony_ciddrmn874 remaindernear 123e1 100000000000 -> 1230 5257db96d56Sopenharmony_ciddrmn875 remaindernear 123e1 10000000000 -> 1230 5267db96d56Sopenharmony_ciddrmn876 remaindernear 123e1 1000000000 -> 1230 5277db96d56Sopenharmony_ciddrmn877 remaindernear 123e1 100000000 -> 1230 5287db96d56Sopenharmony_ciddrmn878 remaindernear 1230 100000000 -> 1230 5297db96d56Sopenharmony_ciddrmn879 remaindernear 123e1 10000000 -> 1230 5307db96d56Sopenharmony_ciddrmn880 remaindernear 123e1 1000000 -> 1230 5317db96d56Sopenharmony_ciddrmn881 remaindernear 123e1 100000 -> 1230 5327db96d56Sopenharmony_ciddrmn882 remaindernear 123e1 10000 -> 1230 5337db96d56Sopenharmony_ciddrmn883 remaindernear 123e1 1000 -> 230 5347db96d56Sopenharmony_ciddrmn884 remaindernear 123e1 100 -> 30 5357db96d56Sopenharmony_ciddrmn885 remaindernear 123e1 10 -> 0 5367db96d56Sopenharmony_ciddrmn886 remaindernear 123e1 1 -> 0 5377db96d56Sopenharmony_ci 5387db96d56Sopenharmony_ciddrmn890 remaindernear 123e1 2000000000000000 -> 1230 5397db96d56Sopenharmony_ciddrmn891 remaindernear 123e1 200000000000000 -> 1230 5407db96d56Sopenharmony_ciddrmn892 remaindernear 123e1 20000000000000 -> 1230 5417db96d56Sopenharmony_ciddrmn893 remaindernear 123e1 2000000000000 -> 1230 5427db96d56Sopenharmony_ciddrmn894 remaindernear 123e1 200000000000 -> 1230 5437db96d56Sopenharmony_ciddrmn895 remaindernear 123e1 20000000000 -> 1230 5447db96d56Sopenharmony_ciddrmn896 remaindernear 123e1 2000000000 -> 1230 5457db96d56Sopenharmony_ciddrmn897 remaindernear 123e1 200000000 -> 1230 5467db96d56Sopenharmony_ciddrmn899 remaindernear 123e1 20000000 -> 1230 5477db96d56Sopenharmony_ciddrmn900 remaindernear 123e1 2000000 -> 1230 5487db96d56Sopenharmony_ciddrmn901 remaindernear 123e1 200000 -> 1230 5497db96d56Sopenharmony_ciddrmn902 remaindernear 123e1 20000 -> 1230 5507db96d56Sopenharmony_ciddrmn903 remaindernear 123e1 2000 -> -770 5517db96d56Sopenharmony_ciddrmn904 remaindernear 123e1 200 -> 30 5527db96d56Sopenharmony_ciddrmn905 remaindernear 123e1 20 -> -10 5537db96d56Sopenharmony_ciddrmn906 remaindernear 123e1 2 -> 0 5547db96d56Sopenharmony_ci 5557db96d56Sopenharmony_ciddrmn910 remaindernear 123e1 5000000000000000 -> 1230 5567db96d56Sopenharmony_ciddrmn911 remaindernear 123e1 500000000000000 -> 1230 5577db96d56Sopenharmony_ciddrmn912 remaindernear 123e1 50000000000000 -> 1230 5587db96d56Sopenharmony_ciddrmn913 remaindernear 123e1 5000000000000 -> 1230 5597db96d56Sopenharmony_ciddrmn914 remaindernear 123e1 500000000000 -> 1230 5607db96d56Sopenharmony_ciddrmn915 remaindernear 123e1 50000000000 -> 1230 5617db96d56Sopenharmony_ciddrmn916 remaindernear 123e1 5000000000 -> 1230 5627db96d56Sopenharmony_ciddrmn917 remaindernear 123e1 500000000 -> 1230 5637db96d56Sopenharmony_ciddrmn919 remaindernear 123e1 50000000 -> 1230 5647db96d56Sopenharmony_ciddrmn920 remaindernear 123e1 5000000 -> 1230 5657db96d56Sopenharmony_ciddrmn921 remaindernear 123e1 500000 -> 1230 5667db96d56Sopenharmony_ciddrmn922 remaindernear 123e1 50000 -> 1230 5677db96d56Sopenharmony_ciddrmn923 remaindernear 123e1 5000 -> 1230 5687db96d56Sopenharmony_ciddrmn924 remaindernear 123e1 500 -> 230 5697db96d56Sopenharmony_ciddrmn925 remaindernear 123e1 50 -> -20 5707db96d56Sopenharmony_ciddrmn926 remaindernear 123e1 5 -> 0 5717db96d56Sopenharmony_ci 5727db96d56Sopenharmony_ciddrmn930 remaindernear 123e1 9000000000000000 -> 1230 5737db96d56Sopenharmony_ciddrmn931 remaindernear 123e1 900000000000000 -> 1230 5747db96d56Sopenharmony_ciddrmn932 remaindernear 123e1 90000000000000 -> 1230 5757db96d56Sopenharmony_ciddrmn933 remaindernear 123e1 9000000000000 -> 1230 5767db96d56Sopenharmony_ciddrmn934 remaindernear 123e1 900000000000 -> 1230 5777db96d56Sopenharmony_ciddrmn935 remaindernear 123e1 90000000000 -> 1230 5787db96d56Sopenharmony_ciddrmn936 remaindernear 123e1 9000000000 -> 1230 5797db96d56Sopenharmony_ciddrmn937 remaindernear 123e1 900000000 -> 1230 5807db96d56Sopenharmony_ciddrmn939 remaindernear 123e1 90000000 -> 1230 5817db96d56Sopenharmony_ciddrmn940 remaindernear 123e1 9000000 -> 1230 5827db96d56Sopenharmony_ciddrmn941 remaindernear 123e1 900000 -> 1230 5837db96d56Sopenharmony_ciddrmn942 remaindernear 123e1 90000 -> 1230 5847db96d56Sopenharmony_ciddrmn943 remaindernear 123e1 9000 -> 1230 5857db96d56Sopenharmony_ciddrmn944 remaindernear 123e1 900 -> 330 5867db96d56Sopenharmony_ciddrmn945 remaindernear 123e1 90 -> -30 5877db96d56Sopenharmony_ciddrmn946 remaindernear 123e1 9 -> -3 5887db96d56Sopenharmony_ci 5897db96d56Sopenharmony_ciddrmn950 remaindernear 123e1 1000000000000000 -> 1230 5907db96d56Sopenharmony_ciddrmn961 remaindernear 123e1 2999999999999999 -> 1230 5917db96d56Sopenharmony_ciddrmn962 remaindernear 123e1 3999999999999999 -> 1230 5927db96d56Sopenharmony_ciddrmn963 remaindernear 123e1 4999999999999999 -> 1230 5937db96d56Sopenharmony_ciddrmn964 remaindernear 123e1 5999999999999999 -> 1230 5947db96d56Sopenharmony_ciddrmn965 remaindernear 123e1 6999999999999999 -> 1230 5957db96d56Sopenharmony_ciddrmn966 remaindernear 123e1 7999999999999999 -> 1230 5967db96d56Sopenharmony_ciddrmn967 remaindernear 123e1 8999999999999999 -> 1230 5977db96d56Sopenharmony_ciddrmn968 remaindernear 123e1 9999999999999999 -> 1230 5987db96d56Sopenharmony_ciddrmn969 remaindernear 123e1 9876543210987654 -> 1230 5997db96d56Sopenharmony_ci 6007db96d56Sopenharmony_ciddrmn980 remaindernear 123e1 1000E299 -> 1.23E+3 -- 123E+1 internally 6017db96d56Sopenharmony_ci 6027db96d56Sopenharmony_ci 6037db96d56Sopenharmony_ci-- overflow and underflow tests [from divide] 6047db96d56Sopenharmony_ciddrmn1051 remaindernear 1e+277 1e-311 -> NaN Division_impossible 6057db96d56Sopenharmony_ciddrmn1052 remaindernear 1e+277 -1e-311 -> NaN Division_impossible 6067db96d56Sopenharmony_ciddrmn1053 remaindernear -1e+277 1e-311 -> NaN Division_impossible 6077db96d56Sopenharmony_ciddrmn1054 remaindernear -1e+277 -1e-311 -> NaN Division_impossible 6087db96d56Sopenharmony_ciddrmn1055 remaindernear 1e-277 1e+311 -> 1E-277 6097db96d56Sopenharmony_ciddrmn1056 remaindernear 1e-277 -1e+311 -> 1E-277 6107db96d56Sopenharmony_ciddrmn1057 remaindernear -1e-277 1e+311 -> -1E-277 6117db96d56Sopenharmony_ciddrmn1058 remaindernear -1e-277 -1e+311 -> -1E-277 6127db96d56Sopenharmony_ci 6137db96d56Sopenharmony_ci-- destructive subtract 6147db96d56Sopenharmony_ciddrmn1100 remainderNear 1234567890123456 1.000000000000001 -> -0.234567890123455 6157db96d56Sopenharmony_ciddrmn1101 remainderNear 1234567890123456 1.00000000000001 -> -0.34567890123444 6167db96d56Sopenharmony_ciddrmn1102 remainderNear 1234567890123456 1.0000000000001 -> -0.4567890123333 6177db96d56Sopenharmony_ciddrmn1103 remainderNear 1234567890123455 4.000000000000001 -> -1.308641972530864 6187db96d56Sopenharmony_ciddrmn1104 remainderNear 1234567890123456 4.000000000000001 -> -0.308641972530864 6197db96d56Sopenharmony_ciddrmn1115 remainderNear 1234567890123456 4.9999999999999 -> 0.6913578024696 6207db96d56Sopenharmony_ciddrmn1116 remainderNear 1234567890123456 4.99999999999999 -> -1.53086421975308 6217db96d56Sopenharmony_ciddrmn1117 remainderNear 1234567890123456 4.999999999999999 -> 1.246913578024691 6227db96d56Sopenharmony_ciddrmn1118 remainderNear 1234567890123456 5.000000000000001 -> 0.753086421975309 6237db96d56Sopenharmony_ciddrmn1119 remainderNear 1234567890123456 5.00000000000001 -> -1.46913578024691 6247db96d56Sopenharmony_ciddrmn1110 remainderNear 1234567890123456 5.0000000000001 -> 1.3086421975314 6257db96d56Sopenharmony_ci 6267db96d56Sopenharmony_ci-- Null tests 6277db96d56Sopenharmony_ciddrmn1000 remaindernear 10 # -> NaN Invalid_operation 6287db96d56Sopenharmony_ciddrmn1001 remaindernear # 10 -> NaN Invalid_operation 6297db96d56Sopenharmony_ci 630