17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- dqRemainder.decTest -- decQuad 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_ciclamp: 1 247db96d56Sopenharmony_ciprecision: 34 257db96d56Sopenharmony_cimaxExponent: 6144 267db96d56Sopenharmony_ciminExponent: -6143 277db96d56Sopenharmony_cirounding: half_even 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci-- sanity checks (as base, above) 307db96d56Sopenharmony_cidqrem001 remainder 1 1 -> 0 317db96d56Sopenharmony_cidqrem002 remainder 2 1 -> 0 327db96d56Sopenharmony_cidqrem003 remainder 1 2 -> 1 337db96d56Sopenharmony_cidqrem004 remainder 2 2 -> 0 347db96d56Sopenharmony_cidqrem005 remainder 0 1 -> 0 357db96d56Sopenharmony_cidqrem006 remainder 0 2 -> 0 367db96d56Sopenharmony_cidqrem007 remainder 1 3 -> 1 377db96d56Sopenharmony_cidqrem008 remainder 2 3 -> 2 387db96d56Sopenharmony_cidqrem009 remainder 3 3 -> 0 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_cidqrem010 remainder 2.4 1 -> 0.4 417db96d56Sopenharmony_cidqrem011 remainder 2.4 -1 -> 0.4 427db96d56Sopenharmony_cidqrem012 remainder -2.4 1 -> -0.4 437db96d56Sopenharmony_cidqrem013 remainder -2.4 -1 -> -0.4 447db96d56Sopenharmony_cidqrem014 remainder 2.40 1 -> 0.40 457db96d56Sopenharmony_cidqrem015 remainder 2.400 1 -> 0.400 467db96d56Sopenharmony_cidqrem016 remainder 2.4 2 -> 0.4 477db96d56Sopenharmony_cidqrem017 remainder 2.400 2 -> 0.400 487db96d56Sopenharmony_cidqrem018 remainder 2. 2 -> 0 497db96d56Sopenharmony_cidqrem019 remainder 20 20 -> 0 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_cidqrem020 remainder 187 187 -> 0 527db96d56Sopenharmony_cidqrem021 remainder 5 2 -> 1 537db96d56Sopenharmony_cidqrem022 remainder 5 2.0 -> 1.0 547db96d56Sopenharmony_cidqrem023 remainder 5 2.000 -> 1.000 557db96d56Sopenharmony_cidqrem024 remainder 5 0.200 -> 0.000 567db96d56Sopenharmony_cidqrem025 remainder 5 0.200 -> 0.000 577db96d56Sopenharmony_ci 587db96d56Sopenharmony_cidqrem030 remainder 1 2 -> 1 597db96d56Sopenharmony_cidqrem031 remainder 1 4 -> 1 607db96d56Sopenharmony_cidqrem032 remainder 1 8 -> 1 617db96d56Sopenharmony_ci 627db96d56Sopenharmony_cidqrem033 remainder 1 16 -> 1 637db96d56Sopenharmony_cidqrem034 remainder 1 32 -> 1 647db96d56Sopenharmony_cidqrem035 remainder 1 64 -> 1 657db96d56Sopenharmony_cidqrem040 remainder 1 -2 -> 1 667db96d56Sopenharmony_cidqrem041 remainder 1 -4 -> 1 677db96d56Sopenharmony_cidqrem042 remainder 1 -8 -> 1 687db96d56Sopenharmony_cidqrem043 remainder 1 -16 -> 1 697db96d56Sopenharmony_cidqrem044 remainder 1 -32 -> 1 707db96d56Sopenharmony_cidqrem045 remainder 1 -64 -> 1 717db96d56Sopenharmony_cidqrem050 remainder -1 2 -> -1 727db96d56Sopenharmony_cidqrem051 remainder -1 4 -> -1 737db96d56Sopenharmony_cidqrem052 remainder -1 8 -> -1 747db96d56Sopenharmony_cidqrem053 remainder -1 16 -> -1 757db96d56Sopenharmony_cidqrem054 remainder -1 32 -> -1 767db96d56Sopenharmony_cidqrem055 remainder -1 64 -> -1 777db96d56Sopenharmony_cidqrem060 remainder -1 -2 -> -1 787db96d56Sopenharmony_cidqrem061 remainder -1 -4 -> -1 797db96d56Sopenharmony_cidqrem062 remainder -1 -8 -> -1 807db96d56Sopenharmony_cidqrem063 remainder -1 -16 -> -1 817db96d56Sopenharmony_cidqrem064 remainder -1 -32 -> -1 827db96d56Sopenharmony_cidqrem065 remainder -1 -64 -> -1 837db96d56Sopenharmony_ci 847db96d56Sopenharmony_cidqrem066 remainder 999999999 1 -> 0 857db96d56Sopenharmony_cidqrem067 remainder 999999999.4 1 -> 0.4 867db96d56Sopenharmony_cidqrem068 remainder 999999999.5 1 -> 0.5 877db96d56Sopenharmony_cidqrem069 remainder 999999999.9 1 -> 0.9 887db96d56Sopenharmony_cidqrem070 remainder 999999999.999 1 -> 0.999 897db96d56Sopenharmony_cidqrem071 remainder 999999.999999 1 -> 0.999999 907db96d56Sopenharmony_cidqrem072 remainder 9 1 -> 0 917db96d56Sopenharmony_ci 927db96d56Sopenharmony_cidqrem080 remainder 0. 1 -> 0 937db96d56Sopenharmony_cidqrem081 remainder .0 1 -> 0.0 947db96d56Sopenharmony_cidqrem082 remainder 0.00 1 -> 0.00 957db96d56Sopenharmony_cidqrem083 remainder 0.00E+9 1 -> 0 967db96d56Sopenharmony_cidqrem084 remainder 0.00E+3 1 -> 0 977db96d56Sopenharmony_cidqrem085 remainder 0.00E+2 1 -> 0 987db96d56Sopenharmony_cidqrem086 remainder 0.00E+1 1 -> 0.0 997db96d56Sopenharmony_cidqrem087 remainder 0.00E+0 1 -> 0.00 1007db96d56Sopenharmony_cidqrem088 remainder 0.00E-0 1 -> 0.00 1017db96d56Sopenharmony_cidqrem089 remainder 0.00E-1 1 -> 0.000 1027db96d56Sopenharmony_cidqrem090 remainder 0.00E-2 1 -> 0.0000 1037db96d56Sopenharmony_cidqrem091 remainder 0.00E-3 1 -> 0.00000 1047db96d56Sopenharmony_cidqrem092 remainder 0.00E-4 1 -> 0.000000 1057db96d56Sopenharmony_cidqrem093 remainder 0.00E-5 1 -> 0E-7 1067db96d56Sopenharmony_cidqrem094 remainder 0.00E-6 1 -> 0E-8 1077db96d56Sopenharmony_cidqrem095 remainder 0.0000E-50 1 -> 0E-54 1087db96d56Sopenharmony_ci 1097db96d56Sopenharmony_ci-- Various flavours of remainder by 0 1107db96d56Sopenharmony_cidqrem101 remainder 0 0 -> NaN Division_undefined 1117db96d56Sopenharmony_cidqrem102 remainder 0 -0 -> NaN Division_undefined 1127db96d56Sopenharmony_cidqrem103 remainder -0 0 -> NaN Division_undefined 1137db96d56Sopenharmony_cidqrem104 remainder -0 -0 -> NaN Division_undefined 1147db96d56Sopenharmony_cidqrem105 remainder 0.0E5 0 -> NaN Division_undefined 1157db96d56Sopenharmony_cidqrem106 remainder 0.000 0 -> NaN Division_undefined 1167db96d56Sopenharmony_ci-- [Some think this next group should be Division_by_zero exception, but 1177db96d56Sopenharmony_ci-- IEEE 854 is explicit that it is Invalid operation .. for 1187db96d56Sopenharmony_ci-- remainder-near, anyway] 1197db96d56Sopenharmony_cidqrem107 remainder 0.0001 0 -> NaN Invalid_operation 1207db96d56Sopenharmony_cidqrem108 remainder 0.01 0 -> NaN Invalid_operation 1217db96d56Sopenharmony_cidqrem109 remainder 0.1 0 -> NaN Invalid_operation 1227db96d56Sopenharmony_cidqrem110 remainder 1 0 -> NaN Invalid_operation 1237db96d56Sopenharmony_cidqrem111 remainder 1 0.0 -> NaN Invalid_operation 1247db96d56Sopenharmony_cidqrem112 remainder 10 0.0 -> NaN Invalid_operation 1257db96d56Sopenharmony_cidqrem113 remainder 1E+100 0.0 -> NaN Invalid_operation 1267db96d56Sopenharmony_cidqrem114 remainder 1E+380 0 -> NaN Invalid_operation 1277db96d56Sopenharmony_cidqrem115 remainder 0.0001 -0 -> NaN Invalid_operation 1287db96d56Sopenharmony_cidqrem116 remainder 0.01 -0 -> NaN Invalid_operation 1297db96d56Sopenharmony_cidqrem119 remainder 0.1 -0 -> NaN Invalid_operation 1307db96d56Sopenharmony_cidqrem120 remainder 1 -0 -> NaN Invalid_operation 1317db96d56Sopenharmony_cidqrem121 remainder 1 -0.0 -> NaN Invalid_operation 1327db96d56Sopenharmony_cidqrem122 remainder 10 -0.0 -> NaN Invalid_operation 1337db96d56Sopenharmony_cidqrem123 remainder 1E+100 -0.0 -> NaN Invalid_operation 1347db96d56Sopenharmony_cidqrem124 remainder 1E+384 -0 -> NaN Invalid_operation 1357db96d56Sopenharmony_ci-- and zeros on left 1367db96d56Sopenharmony_cidqrem130 remainder 0 1 -> 0 1377db96d56Sopenharmony_cidqrem131 remainder 0 -1 -> 0 1387db96d56Sopenharmony_cidqrem132 remainder 0.0 1 -> 0.0 1397db96d56Sopenharmony_cidqrem133 remainder 0.0 -1 -> 0.0 1407db96d56Sopenharmony_cidqrem134 remainder -0 1 -> -0 1417db96d56Sopenharmony_cidqrem135 remainder -0 -1 -> -0 1427db96d56Sopenharmony_cidqrem136 remainder -0.0 1 -> -0.0 1437db96d56Sopenharmony_cidqrem137 remainder -0.0 -1 -> -0.0 1447db96d56Sopenharmony_ci 1457db96d56Sopenharmony_ci-- 0.5ers 1467db96d56Sopenharmony_cidqrem143 remainder 0.5 2 -> 0.5 1477db96d56Sopenharmony_cidqrem144 remainder 0.5 2.1 -> 0.5 1487db96d56Sopenharmony_cidqrem145 remainder 0.5 2.01 -> 0.50 1497db96d56Sopenharmony_cidqrem146 remainder 0.5 2.001 -> 0.500 1507db96d56Sopenharmony_cidqrem147 remainder 0.50 2 -> 0.50 1517db96d56Sopenharmony_cidqrem148 remainder 0.50 2.01 -> 0.50 1527db96d56Sopenharmony_cidqrem149 remainder 0.50 2.001 -> 0.500 1537db96d56Sopenharmony_ci 1547db96d56Sopenharmony_ci-- steadies 1557db96d56Sopenharmony_cidqrem150 remainder 1 1 -> 0 1567db96d56Sopenharmony_cidqrem151 remainder 1 2 -> 1 1577db96d56Sopenharmony_cidqrem152 remainder 1 3 -> 1 1587db96d56Sopenharmony_cidqrem153 remainder 1 4 -> 1 1597db96d56Sopenharmony_cidqrem154 remainder 1 5 -> 1 1607db96d56Sopenharmony_cidqrem155 remainder 1 6 -> 1 1617db96d56Sopenharmony_cidqrem156 remainder 1 7 -> 1 1627db96d56Sopenharmony_cidqrem157 remainder 1 8 -> 1 1637db96d56Sopenharmony_cidqrem158 remainder 1 9 -> 1 1647db96d56Sopenharmony_cidqrem159 remainder 1 10 -> 1 1657db96d56Sopenharmony_cidqrem160 remainder 1 1 -> 0 1667db96d56Sopenharmony_cidqrem161 remainder 2 1 -> 0 1677db96d56Sopenharmony_cidqrem162 remainder 3 1 -> 0 1687db96d56Sopenharmony_cidqrem163 remainder 4 1 -> 0 1697db96d56Sopenharmony_cidqrem164 remainder 5 1 -> 0 1707db96d56Sopenharmony_cidqrem165 remainder 6 1 -> 0 1717db96d56Sopenharmony_cidqrem166 remainder 7 1 -> 0 1727db96d56Sopenharmony_cidqrem167 remainder 8 1 -> 0 1737db96d56Sopenharmony_cidqrem168 remainder 9 1 -> 0 1747db96d56Sopenharmony_cidqrem169 remainder 10 1 -> 0 1757db96d56Sopenharmony_ci 1767db96d56Sopenharmony_ci-- some differences from remainderNear 1777db96d56Sopenharmony_cidqrem171 remainder 0.4 1.020 -> 0.400 1787db96d56Sopenharmony_cidqrem172 remainder 0.50 1.020 -> 0.500 1797db96d56Sopenharmony_cidqrem173 remainder 0.51 1.020 -> 0.510 1807db96d56Sopenharmony_cidqrem174 remainder 0.52 1.020 -> 0.520 1817db96d56Sopenharmony_cidqrem175 remainder 0.6 1.020 -> 0.600 1827db96d56Sopenharmony_ci 1837db96d56Sopenharmony_ci-- More flavours of remainder by 0 1847db96d56Sopenharmony_cidqrem201 remainder 0 0 -> NaN Division_undefined 1857db96d56Sopenharmony_cidqrem202 remainder 0.0E5 0 -> NaN Division_undefined 1867db96d56Sopenharmony_cidqrem203 remainder 0.000 0 -> NaN Division_undefined 1877db96d56Sopenharmony_cidqrem204 remainder 0.0001 0 -> NaN Invalid_operation 1887db96d56Sopenharmony_cidqrem205 remainder 0.01 0 -> NaN Invalid_operation 1897db96d56Sopenharmony_cidqrem206 remainder 0.1 0 -> NaN Invalid_operation 1907db96d56Sopenharmony_cidqrem207 remainder 1 0 -> NaN Invalid_operation 1917db96d56Sopenharmony_cidqrem208 remainder 1 0.0 -> NaN Invalid_operation 1927db96d56Sopenharmony_cidqrem209 remainder 10 0.0 -> NaN Invalid_operation 1937db96d56Sopenharmony_cidqrem210 remainder 1E+100 0.0 -> NaN Invalid_operation 1947db96d56Sopenharmony_cidqrem211 remainder 1E+380 0 -> NaN Invalid_operation 1957db96d56Sopenharmony_ci 1967db96d56Sopenharmony_ci-- some differences from remainderNear 1977db96d56Sopenharmony_cidqrem231 remainder -0.4 1.020 -> -0.400 1987db96d56Sopenharmony_cidqrem232 remainder -0.50 1.020 -> -0.500 1997db96d56Sopenharmony_cidqrem233 remainder -0.51 1.020 -> -0.510 2007db96d56Sopenharmony_cidqrem234 remainder -0.52 1.020 -> -0.520 2017db96d56Sopenharmony_cidqrem235 remainder -0.6 1.020 -> -0.600 2027db96d56Sopenharmony_ci 2037db96d56Sopenharmony_ci-- high Xs 2047db96d56Sopenharmony_cidqrem240 remainder 1E+2 1.00 -> 0.00 2057db96d56Sopenharmony_ci 2067db96d56Sopenharmony_ci-- dqrem3xx are from DiagBigDecimal 2077db96d56Sopenharmony_cidqrem301 remainder 1 3 -> 1 2087db96d56Sopenharmony_cidqrem302 remainder 5 5 -> 0 2097db96d56Sopenharmony_cidqrem303 remainder 13 10 -> 3 2107db96d56Sopenharmony_cidqrem304 remainder 13 50 -> 13 2117db96d56Sopenharmony_cidqrem305 remainder 13 100 -> 13 2127db96d56Sopenharmony_cidqrem306 remainder 13 1000 -> 13 2137db96d56Sopenharmony_cidqrem307 remainder .13 1 -> 0.13 2147db96d56Sopenharmony_cidqrem308 remainder 0.133 1 -> 0.133 2157db96d56Sopenharmony_cidqrem309 remainder 0.1033 1 -> 0.1033 2167db96d56Sopenharmony_cidqrem310 remainder 1.033 1 -> 0.033 2177db96d56Sopenharmony_cidqrem311 remainder 10.33 1 -> 0.33 2187db96d56Sopenharmony_cidqrem312 remainder 10.33 10 -> 0.33 2197db96d56Sopenharmony_cidqrem313 remainder 103.3 1 -> 0.3 2207db96d56Sopenharmony_cidqrem314 remainder 133 10 -> 3 2217db96d56Sopenharmony_cidqrem315 remainder 1033 10 -> 3 2227db96d56Sopenharmony_cidqrem316 remainder 1033 50 -> 33 2237db96d56Sopenharmony_cidqrem317 remainder 101.0 3 -> 2.0 2247db96d56Sopenharmony_cidqrem318 remainder 102.0 3 -> 0.0 2257db96d56Sopenharmony_cidqrem319 remainder 103.0 3 -> 1.0 2267db96d56Sopenharmony_cidqrem320 remainder 2.40 1 -> 0.40 2277db96d56Sopenharmony_cidqrem321 remainder 2.400 1 -> 0.400 2287db96d56Sopenharmony_cidqrem322 remainder 2.4 1 -> 0.4 2297db96d56Sopenharmony_cidqrem323 remainder 2.4 2 -> 0.4 2307db96d56Sopenharmony_cidqrem324 remainder 2.400 2 -> 0.400 2317db96d56Sopenharmony_cidqrem325 remainder 1 0.3 -> 0.1 2327db96d56Sopenharmony_cidqrem326 remainder 1 0.30 -> 0.10 2337db96d56Sopenharmony_cidqrem327 remainder 1 0.300 -> 0.100 2347db96d56Sopenharmony_cidqrem328 remainder 1 0.3000 -> 0.1000 2357db96d56Sopenharmony_cidqrem329 remainder 1.0 0.3 -> 0.1 2367db96d56Sopenharmony_cidqrem330 remainder 1.00 0.3 -> 0.10 2377db96d56Sopenharmony_cidqrem331 remainder 1.000 0.3 -> 0.100 2387db96d56Sopenharmony_cidqrem332 remainder 1.0000 0.3 -> 0.1000 2397db96d56Sopenharmony_cidqrem333 remainder 0.5 2 -> 0.5 2407db96d56Sopenharmony_cidqrem334 remainder 0.5 2.1 -> 0.5 2417db96d56Sopenharmony_cidqrem335 remainder 0.5 2.01 -> 0.50 2427db96d56Sopenharmony_cidqrem336 remainder 0.5 2.001 -> 0.500 2437db96d56Sopenharmony_cidqrem337 remainder 0.50 2 -> 0.50 2447db96d56Sopenharmony_cidqrem338 remainder 0.50 2.01 -> 0.50 2457db96d56Sopenharmony_cidqrem339 remainder 0.50 2.001 -> 0.500 2467db96d56Sopenharmony_ci 2477db96d56Sopenharmony_cidqrem340 remainder 0.5 0.5000001 -> 0.5000000 2487db96d56Sopenharmony_cidqrem341 remainder 0.5 0.50000001 -> 0.50000000 2497db96d56Sopenharmony_cidqrem342 remainder 0.5 0.500000001 -> 0.500000000 2507db96d56Sopenharmony_cidqrem343 remainder 0.5 0.5000000001 -> 0.5000000000 2517db96d56Sopenharmony_cidqrem344 remainder 0.5 0.50000000001 -> 0.50000000000 2527db96d56Sopenharmony_cidqrem345 remainder 0.5 0.4999999 -> 1E-7 2537db96d56Sopenharmony_cidqrem346 remainder 0.5 0.49999999 -> 1E-8 2547db96d56Sopenharmony_cidqrem347 remainder 0.5 0.499999999 -> 1E-9 2557db96d56Sopenharmony_cidqrem348 remainder 0.5 0.4999999999 -> 1E-10 2567db96d56Sopenharmony_cidqrem349 remainder 0.5 0.49999999999 -> 1E-11 2577db96d56Sopenharmony_cidqrem350 remainder 0.5 0.499999999999 -> 1E-12 2587db96d56Sopenharmony_ci 2597db96d56Sopenharmony_cidqrem351 remainder 0.03 7 -> 0.03 2607db96d56Sopenharmony_cidqrem352 remainder 5 2 -> 1 2617db96d56Sopenharmony_cidqrem353 remainder 4.1 2 -> 0.1 2627db96d56Sopenharmony_cidqrem354 remainder 4.01 2 -> 0.01 2637db96d56Sopenharmony_cidqrem355 remainder 4.001 2 -> 0.001 2647db96d56Sopenharmony_cidqrem356 remainder 4.0001 2 -> 0.0001 2657db96d56Sopenharmony_cidqrem357 remainder 4.00001 2 -> 0.00001 2667db96d56Sopenharmony_cidqrem358 remainder 4.000001 2 -> 0.000001 2677db96d56Sopenharmony_cidqrem359 remainder 4.0000001 2 -> 1E-7 2687db96d56Sopenharmony_ci 2697db96d56Sopenharmony_cidqrem360 remainder 1.2 0.7345 -> 0.4655 2707db96d56Sopenharmony_cidqrem361 remainder 0.8 12 -> 0.8 2717db96d56Sopenharmony_cidqrem362 remainder 0.8 0.2 -> 0.0 2727db96d56Sopenharmony_cidqrem363 remainder 0.8 0.3 -> 0.2 2737db96d56Sopenharmony_cidqrem364 remainder 0.800 12 -> 0.800 2747db96d56Sopenharmony_cidqrem365 remainder 0.800 1.7 -> 0.800 2757db96d56Sopenharmony_cidqrem366 remainder 2.400 2 -> 0.400 2767db96d56Sopenharmony_ci 2777db96d56Sopenharmony_cidqrem371 remainder 2.400 2 -> 0.400 2787db96d56Sopenharmony_ci 2797db96d56Sopenharmony_cidqrem381 remainder 12345 1 -> 0 2807db96d56Sopenharmony_cidqrem382 remainder 12345 1.0001 -> 0.7657 2817db96d56Sopenharmony_cidqrem383 remainder 12345 1.001 -> 0.668 2827db96d56Sopenharmony_cidqrem384 remainder 12345 1.01 -> 0.78 2837db96d56Sopenharmony_cidqrem385 remainder 12345 1.1 -> 0.8 2847db96d56Sopenharmony_cidqrem386 remainder 12355 4 -> 3 2857db96d56Sopenharmony_cidqrem387 remainder 12345 4 -> 1 2867db96d56Sopenharmony_cidqrem388 remainder 12355 4.0001 -> 2.6912 2877db96d56Sopenharmony_cidqrem389 remainder 12345 4.0001 -> 0.6914 2887db96d56Sopenharmony_cidqrem390 remainder 12345 4.9 -> 1.9 2897db96d56Sopenharmony_cidqrem391 remainder 12345 4.99 -> 4.73 2907db96d56Sopenharmony_cidqrem392 remainder 12345 4.999 -> 2.469 2917db96d56Sopenharmony_cidqrem393 remainder 12345 4.9999 -> 0.2469 2927db96d56Sopenharmony_cidqrem394 remainder 12345 5 -> 0 2937db96d56Sopenharmony_cidqrem395 remainder 12345 5.0001 -> 4.7532 2947db96d56Sopenharmony_cidqrem396 remainder 12345 5.001 -> 2.532 2957db96d56Sopenharmony_cidqrem397 remainder 12345 5.01 -> 0.36 2967db96d56Sopenharmony_cidqrem398 remainder 12345 5.1 -> 3.0 2977db96d56Sopenharmony_ci 2987db96d56Sopenharmony_ci-- the nasty division-by-1 cases 2997db96d56Sopenharmony_cidqrem401 remainder 0.5 1 -> 0.5 3007db96d56Sopenharmony_cidqrem402 remainder 0.55 1 -> 0.55 3017db96d56Sopenharmony_cidqrem403 remainder 0.555 1 -> 0.555 3027db96d56Sopenharmony_cidqrem404 remainder 0.5555 1 -> 0.5555 3037db96d56Sopenharmony_cidqrem405 remainder 0.55555 1 -> 0.55555 3047db96d56Sopenharmony_cidqrem406 remainder 0.555555 1 -> 0.555555 3057db96d56Sopenharmony_cidqrem407 remainder 0.5555555 1 -> 0.5555555 3067db96d56Sopenharmony_cidqrem408 remainder 0.55555555 1 -> 0.55555555 3077db96d56Sopenharmony_cidqrem409 remainder 0.555555555 1 -> 0.555555555 3087db96d56Sopenharmony_ci 3097db96d56Sopenharmony_ci-- folddowns 3107db96d56Sopenharmony_cidqrem421 remainder 1E+6144 1 -> NaN Division_impossible 3117db96d56Sopenharmony_cidqrem422 remainder 1E+6144 1E+6143 -> 0E+6111 Clamped 3127db96d56Sopenharmony_cidqrem423 remainder 1E+6144 2E+6143 -> 0E+6111 Clamped 3137db96d56Sopenharmony_cidqrem424 remainder 1E+6144 3E+6143 -> 1.00000000000000000000000000000000E+6143 Clamped 3147db96d56Sopenharmony_cidqrem425 remainder 1E+6144 4E+6143 -> 2.00000000000000000000000000000000E+6143 Clamped 3157db96d56Sopenharmony_cidqrem426 remainder 1E+6144 5E+6143 -> 0E+6111 Clamped 3167db96d56Sopenharmony_cidqrem427 remainder 1E+6144 6E+6143 -> 4.00000000000000000000000000000000E+6143 Clamped 3177db96d56Sopenharmony_cidqrem428 remainder 1E+6144 7E+6143 -> 3.00000000000000000000000000000000E+6143 Clamped 3187db96d56Sopenharmony_cidqrem429 remainder 1E+6144 8E+6143 -> 2.00000000000000000000000000000000E+6143 Clamped 3197db96d56Sopenharmony_cidqrem430 remainder 1E+6144 9E+6143 -> 1.00000000000000000000000000000000E+6143 Clamped 3207db96d56Sopenharmony_ci-- tinies 3217db96d56Sopenharmony_cidqrem431 remainder 1E-6175 1E-6176 -> 0E-6176 3227db96d56Sopenharmony_cidqrem432 remainder 1E-6175 2E-6176 -> 0E-6176 3237db96d56Sopenharmony_cidqrem433 remainder 1E-6175 3E-6176 -> 1E-6176 Subnormal 3247db96d56Sopenharmony_cidqrem434 remainder 1E-6175 4E-6176 -> 2E-6176 Subnormal 3257db96d56Sopenharmony_cidqrem435 remainder 1E-6175 5E-6176 -> 0E-6176 3267db96d56Sopenharmony_cidqrem436 remainder 1E-6175 6E-6176 -> 4E-6176 Subnormal 3277db96d56Sopenharmony_cidqrem437 remainder 1E-6175 7E-6176 -> 3E-6176 Subnormal 3287db96d56Sopenharmony_cidqrem438 remainder 1E-6175 8E-6176 -> 2E-6176 Subnormal 3297db96d56Sopenharmony_cidqrem439 remainder 1E-6175 9E-6176 -> 1E-6176 Subnormal 3307db96d56Sopenharmony_cidqrem440 remainder 1E-6175 10E-6176 -> 0E-6176 3317db96d56Sopenharmony_cidqrem441 remainder 1E-6175 11E-6176 -> 1.0E-6175 Subnormal 3327db96d56Sopenharmony_cidqrem442 remainder 100E-6175 11E-6176 -> 1.0E-6175 Subnormal 3337db96d56Sopenharmony_cidqrem443 remainder 100E-6175 20E-6176 -> 0E-6176 3347db96d56Sopenharmony_cidqrem444 remainder 100E-6175 21E-6176 -> 1.3E-6175 Subnormal 3357db96d56Sopenharmony_cidqrem445 remainder 100E-6175 30E-6176 -> 1.0E-6175 Subnormal 3367db96d56Sopenharmony_ci 3377db96d56Sopenharmony_ci-- zero signs 3387db96d56Sopenharmony_cidqrem650 remainder 1 1 -> 0 3397db96d56Sopenharmony_cidqrem651 remainder -1 1 -> -0 3407db96d56Sopenharmony_cidqrem652 remainder 1 -1 -> 0 3417db96d56Sopenharmony_cidqrem653 remainder -1 -1 -> -0 3427db96d56Sopenharmony_cidqrem654 remainder 0 1 -> 0 3437db96d56Sopenharmony_cidqrem655 remainder -0 1 -> -0 3447db96d56Sopenharmony_cidqrem656 remainder 0 -1 -> 0 3457db96d56Sopenharmony_cidqrem657 remainder -0 -1 -> -0 3467db96d56Sopenharmony_cidqrem658 remainder 0.00 1 -> 0.00 3477db96d56Sopenharmony_cidqrem659 remainder -0.00 1 -> -0.00 3487db96d56Sopenharmony_ci 3497db96d56Sopenharmony_ci-- Specials 3507db96d56Sopenharmony_cidqrem680 remainder Inf -Inf -> NaN Invalid_operation 3517db96d56Sopenharmony_cidqrem681 remainder Inf -1000 -> NaN Invalid_operation 3527db96d56Sopenharmony_cidqrem682 remainder Inf -1 -> NaN Invalid_operation 3537db96d56Sopenharmony_cidqrem683 remainder Inf 0 -> NaN Invalid_operation 3547db96d56Sopenharmony_cidqrem684 remainder Inf -0 -> NaN Invalid_operation 3557db96d56Sopenharmony_cidqrem685 remainder Inf 1 -> NaN Invalid_operation 3567db96d56Sopenharmony_cidqrem686 remainder Inf 1000 -> NaN Invalid_operation 3577db96d56Sopenharmony_cidqrem687 remainder Inf Inf -> NaN Invalid_operation 3587db96d56Sopenharmony_cidqrem688 remainder -1000 Inf -> -1000 3597db96d56Sopenharmony_cidqrem689 remainder -Inf Inf -> NaN Invalid_operation 3607db96d56Sopenharmony_cidqrem691 remainder -1 Inf -> -1 3617db96d56Sopenharmony_cidqrem692 remainder 0 Inf -> 0 3627db96d56Sopenharmony_cidqrem693 remainder -0 Inf -> -0 3637db96d56Sopenharmony_cidqrem694 remainder 1 Inf -> 1 3647db96d56Sopenharmony_cidqrem695 remainder 1000 Inf -> 1000 3657db96d56Sopenharmony_cidqrem696 remainder Inf Inf -> NaN Invalid_operation 3667db96d56Sopenharmony_ci 3677db96d56Sopenharmony_cidqrem700 remainder -Inf -Inf -> NaN Invalid_operation 3687db96d56Sopenharmony_cidqrem701 remainder -Inf -1000 -> NaN Invalid_operation 3697db96d56Sopenharmony_cidqrem702 remainder -Inf -1 -> NaN Invalid_operation 3707db96d56Sopenharmony_cidqrem703 remainder -Inf -0 -> NaN Invalid_operation 3717db96d56Sopenharmony_cidqrem704 remainder -Inf 0 -> NaN Invalid_operation 3727db96d56Sopenharmony_cidqrem705 remainder -Inf 1 -> NaN Invalid_operation 3737db96d56Sopenharmony_cidqrem706 remainder -Inf 1000 -> NaN Invalid_operation 3747db96d56Sopenharmony_cidqrem707 remainder -Inf Inf -> NaN Invalid_operation 3757db96d56Sopenharmony_cidqrem708 remainder -Inf -Inf -> NaN Invalid_operation 3767db96d56Sopenharmony_cidqrem709 remainder -1000 Inf -> -1000 3777db96d56Sopenharmony_cidqrem710 remainder -1 -Inf -> -1 3787db96d56Sopenharmony_cidqrem711 remainder -0 -Inf -> -0 3797db96d56Sopenharmony_cidqrem712 remainder 0 -Inf -> 0 3807db96d56Sopenharmony_cidqrem713 remainder 1 -Inf -> 1 3817db96d56Sopenharmony_cidqrem714 remainder 1000 -Inf -> 1000 3827db96d56Sopenharmony_cidqrem715 remainder Inf -Inf -> NaN Invalid_operation 3837db96d56Sopenharmony_ci 3847db96d56Sopenharmony_cidqrem721 remainder NaN -Inf -> NaN 3857db96d56Sopenharmony_cidqrem722 remainder NaN -1000 -> NaN 3867db96d56Sopenharmony_cidqrem723 remainder NaN -1 -> NaN 3877db96d56Sopenharmony_cidqrem724 remainder NaN -0 -> NaN 3887db96d56Sopenharmony_cidqrem725 remainder -NaN 0 -> -NaN 3897db96d56Sopenharmony_cidqrem726 remainder NaN 1 -> NaN 3907db96d56Sopenharmony_cidqrem727 remainder NaN 1000 -> NaN 3917db96d56Sopenharmony_cidqrem728 remainder NaN Inf -> NaN 3927db96d56Sopenharmony_cidqrem729 remainder NaN -NaN -> NaN 3937db96d56Sopenharmony_cidqrem730 remainder -Inf NaN -> NaN 3947db96d56Sopenharmony_cidqrem731 remainder -1000 NaN -> NaN 3957db96d56Sopenharmony_cidqrem732 remainder -1 NaN -> NaN 3967db96d56Sopenharmony_cidqrem733 remainder -0 -NaN -> -NaN 3977db96d56Sopenharmony_cidqrem734 remainder 0 NaN -> NaN 3987db96d56Sopenharmony_cidqrem735 remainder 1 -NaN -> -NaN 3997db96d56Sopenharmony_cidqrem736 remainder 1000 NaN -> NaN 4007db96d56Sopenharmony_cidqrem737 remainder Inf NaN -> NaN 4017db96d56Sopenharmony_ci 4027db96d56Sopenharmony_cidqrem741 remainder sNaN -Inf -> NaN Invalid_operation 4037db96d56Sopenharmony_cidqrem742 remainder sNaN -1000 -> NaN Invalid_operation 4047db96d56Sopenharmony_cidqrem743 remainder -sNaN -1 -> -NaN Invalid_operation 4057db96d56Sopenharmony_cidqrem744 remainder sNaN -0 -> NaN Invalid_operation 4067db96d56Sopenharmony_cidqrem745 remainder sNaN 0 -> NaN Invalid_operation 4077db96d56Sopenharmony_cidqrem746 remainder sNaN 1 -> NaN Invalid_operation 4087db96d56Sopenharmony_cidqrem747 remainder sNaN 1000 -> NaN Invalid_operation 4097db96d56Sopenharmony_cidqrem749 remainder sNaN NaN -> NaN Invalid_operation 4107db96d56Sopenharmony_cidqrem750 remainder sNaN sNaN -> NaN Invalid_operation 4117db96d56Sopenharmony_cidqrem751 remainder NaN sNaN -> NaN Invalid_operation 4127db96d56Sopenharmony_cidqrem752 remainder -Inf sNaN -> NaN Invalid_operation 4137db96d56Sopenharmony_cidqrem753 remainder -1000 sNaN -> NaN Invalid_operation 4147db96d56Sopenharmony_cidqrem754 remainder -1 sNaN -> NaN Invalid_operation 4157db96d56Sopenharmony_cidqrem755 remainder -0 sNaN -> NaN Invalid_operation 4167db96d56Sopenharmony_cidqrem756 remainder 0 sNaN -> NaN Invalid_operation 4177db96d56Sopenharmony_cidqrem757 remainder 1 sNaN -> NaN Invalid_operation 4187db96d56Sopenharmony_cidqrem758 remainder 1000 sNaN -> NaN Invalid_operation 4197db96d56Sopenharmony_cidqrem759 remainder Inf -sNaN -> -NaN Invalid_operation 4207db96d56Sopenharmony_ci 4217db96d56Sopenharmony_ci-- propaging NaNs 4227db96d56Sopenharmony_cidqrem760 remainder NaN1 NaN7 -> NaN1 4237db96d56Sopenharmony_cidqrem761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation 4247db96d56Sopenharmony_cidqrem762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation 4257db96d56Sopenharmony_cidqrem763 remainder sNaN4 sNaN10 -> NaN4 Invalid_operation 4267db96d56Sopenharmony_cidqrem764 remainder 15 NaN11 -> NaN11 4277db96d56Sopenharmony_cidqrem765 remainder NaN6 NaN12 -> NaN6 4287db96d56Sopenharmony_cidqrem766 remainder Inf NaN13 -> NaN13 4297db96d56Sopenharmony_cidqrem767 remainder NaN14 -Inf -> NaN14 4307db96d56Sopenharmony_cidqrem768 remainder 0 NaN15 -> NaN15 4317db96d56Sopenharmony_cidqrem769 remainder NaN16 -0 -> NaN16 4327db96d56Sopenharmony_ci 4337db96d56Sopenharmony_ci-- edge cases of impossible 4347db96d56Sopenharmony_cidqrem770 remainder 1234568888888887777777777890123456 10 -> 6 4357db96d56Sopenharmony_cidqrem771 remainder 1234568888888887777777777890123456 1 -> 0 4367db96d56Sopenharmony_cidqrem772 remainder 1234568888888887777777777890123456 0.1 -> NaN Division_impossible 4377db96d56Sopenharmony_cidqrem773 remainder 1234568888888887777777777890123456 0.01 -> NaN Division_impossible 4387db96d56Sopenharmony_ci 4397db96d56Sopenharmony_ci-- long operand checks 4407db96d56Sopenharmony_cidqrem801 remainder 12345678000 100 -> 0 4417db96d56Sopenharmony_cidqrem802 remainder 1 12345678000 -> 1 4427db96d56Sopenharmony_cidqrem803 remainder 1234567800 10 -> 0 4437db96d56Sopenharmony_cidqrem804 remainder 1 1234567800 -> 1 4447db96d56Sopenharmony_cidqrem805 remainder 1234567890 10 -> 0 4457db96d56Sopenharmony_cidqrem806 remainder 1 1234567890 -> 1 4467db96d56Sopenharmony_cidqrem807 remainder 1234567891 10 -> 1 4477db96d56Sopenharmony_cidqrem808 remainder 1 1234567891 -> 1 4487db96d56Sopenharmony_cidqrem809 remainder 12345678901 100 -> 1 4497db96d56Sopenharmony_cidqrem810 remainder 1 12345678901 -> 1 4507db96d56Sopenharmony_cidqrem811 remainder 1234567896 10 -> 6 4517db96d56Sopenharmony_cidqrem812 remainder 1 1234567896 -> 1 4527db96d56Sopenharmony_ci 4537db96d56Sopenharmony_cidqrem821 remainder 12345678000 100 -> 0 4547db96d56Sopenharmony_cidqrem822 remainder 1 12345678000 -> 1 4557db96d56Sopenharmony_cidqrem823 remainder 1234567800 10 -> 0 4567db96d56Sopenharmony_cidqrem824 remainder 1 1234567800 -> 1 4577db96d56Sopenharmony_cidqrem825 remainder 1234567890 10 -> 0 4587db96d56Sopenharmony_cidqrem826 remainder 1 1234567890 -> 1 4597db96d56Sopenharmony_cidqrem827 remainder 1234567891 10 -> 1 4607db96d56Sopenharmony_cidqrem828 remainder 1 1234567891 -> 1 4617db96d56Sopenharmony_cidqrem829 remainder 12345678901 100 -> 1 4627db96d56Sopenharmony_cidqrem830 remainder 1 12345678901 -> 1 4637db96d56Sopenharmony_cidqrem831 remainder 1234567896 10 -> 6 4647db96d56Sopenharmony_cidqrem832 remainder 1 1234567896 -> 1 4657db96d56Sopenharmony_ci 4667db96d56Sopenharmony_ci-- from divideint 4677db96d56Sopenharmony_cidqrem840 remainder 100000000.0 1 -> 0.0 4687db96d56Sopenharmony_cidqrem841 remainder 100000000.4 1 -> 0.4 4697db96d56Sopenharmony_cidqrem842 remainder 100000000.5 1 -> 0.5 4707db96d56Sopenharmony_cidqrem843 remainder 100000000.9 1 -> 0.9 4717db96d56Sopenharmony_cidqrem844 remainder 100000000.999 1 -> 0.999 4727db96d56Sopenharmony_cidqrem850 remainder 100000003 5 -> 3 4737db96d56Sopenharmony_cidqrem851 remainder 10000003 5 -> 3 4747db96d56Sopenharmony_cidqrem852 remainder 1000003 5 -> 3 4757db96d56Sopenharmony_cidqrem853 remainder 100003 5 -> 3 4767db96d56Sopenharmony_cidqrem854 remainder 10003 5 -> 3 4777db96d56Sopenharmony_cidqrem855 remainder 1003 5 -> 3 4787db96d56Sopenharmony_cidqrem856 remainder 103 5 -> 3 4797db96d56Sopenharmony_cidqrem857 remainder 13 5 -> 3 4807db96d56Sopenharmony_cidqrem858 remainder 1 5 -> 1 4817db96d56Sopenharmony_ci 4827db96d56Sopenharmony_ci-- Vladimir's cases 1234567890123456 4837db96d56Sopenharmony_cidqrem860 remainder 123.0e1 1000000000000000 -> 1230 4847db96d56Sopenharmony_cidqrem861 remainder 1230 1000000000000000 -> 1230 4857db96d56Sopenharmony_cidqrem862 remainder 12.3e2 1000000000000000 -> 1230 4867db96d56Sopenharmony_cidqrem863 remainder 1.23e3 1000000000000000 -> 1230 4877db96d56Sopenharmony_cidqrem864 remainder 123e1 1000000000000000 -> 1230 4887db96d56Sopenharmony_cidqrem870 remainder 123e1 1000000000000000 -> 1230 4897db96d56Sopenharmony_cidqrem871 remainder 123e1 100000000000000 -> 1230 4907db96d56Sopenharmony_cidqrem872 remainder 123e1 10000000000000 -> 1230 4917db96d56Sopenharmony_cidqrem873 remainder 123e1 1000000000000 -> 1230 4927db96d56Sopenharmony_cidqrem874 remainder 123e1 100000000000 -> 1230 4937db96d56Sopenharmony_cidqrem875 remainder 123e1 10000000000 -> 1230 4947db96d56Sopenharmony_cidqrem876 remainder 123e1 1000000000 -> 1230 4957db96d56Sopenharmony_cidqrem877 remainder 123e1 100000000 -> 1230 4967db96d56Sopenharmony_cidqrem878 remainder 1230 100000000 -> 1230 4977db96d56Sopenharmony_cidqrem879 remainder 123e1 10000000 -> 1230 4987db96d56Sopenharmony_cidqrem880 remainder 123e1 1000000 -> 1230 4997db96d56Sopenharmony_cidqrem881 remainder 123e1 100000 -> 1230 5007db96d56Sopenharmony_cidqrem882 remainder 123e1 10000 -> 1230 5017db96d56Sopenharmony_cidqrem883 remainder 123e1 1000 -> 230 5027db96d56Sopenharmony_cidqrem884 remainder 123e1 100 -> 30 5037db96d56Sopenharmony_cidqrem885 remainder 123e1 10 -> 0 5047db96d56Sopenharmony_cidqrem886 remainder 123e1 1 -> 0 5057db96d56Sopenharmony_ci 5067db96d56Sopenharmony_cidqrem890 remainder 123e1 2000000000000000 -> 1230 5077db96d56Sopenharmony_cidqrem891 remainder 123e1 200000000000000 -> 1230 5087db96d56Sopenharmony_cidqrem892 remainder 123e1 20000000000000 -> 1230 5097db96d56Sopenharmony_cidqrem893 remainder 123e1 2000000000000 -> 1230 5107db96d56Sopenharmony_cidqrem894 remainder 123e1 200000000000 -> 1230 5117db96d56Sopenharmony_cidqrem895 remainder 123e1 20000000000 -> 1230 5127db96d56Sopenharmony_cidqrem896 remainder 123e1 2000000000 -> 1230 5137db96d56Sopenharmony_cidqrem897 remainder 123e1 200000000 -> 1230 5147db96d56Sopenharmony_cidqrem899 remainder 123e1 20000000 -> 1230 5157db96d56Sopenharmony_cidqrem900 remainder 123e1 2000000 -> 1230 5167db96d56Sopenharmony_cidqrem901 remainder 123e1 200000 -> 1230 5177db96d56Sopenharmony_cidqrem902 remainder 123e1 20000 -> 1230 5187db96d56Sopenharmony_cidqrem903 remainder 123e1 2000 -> 1230 5197db96d56Sopenharmony_cidqrem904 remainder 123e1 200 -> 30 5207db96d56Sopenharmony_cidqrem905 remainder 123e1 20 -> 10 5217db96d56Sopenharmony_cidqrem906 remainder 123e1 2 -> 0 5227db96d56Sopenharmony_ci 5237db96d56Sopenharmony_cidqrem910 remainder 123e1 5000000000000000 -> 1230 5247db96d56Sopenharmony_cidqrem911 remainder 123e1 500000000000000 -> 1230 5257db96d56Sopenharmony_cidqrem912 remainder 123e1 50000000000000 -> 1230 5267db96d56Sopenharmony_cidqrem913 remainder 123e1 5000000000000 -> 1230 5277db96d56Sopenharmony_cidqrem914 remainder 123e1 500000000000 -> 1230 5287db96d56Sopenharmony_cidqrem915 remainder 123e1 50000000000 -> 1230 5297db96d56Sopenharmony_cidqrem916 remainder 123e1 5000000000 -> 1230 5307db96d56Sopenharmony_cidqrem917 remainder 123e1 500000000 -> 1230 5317db96d56Sopenharmony_cidqrem919 remainder 123e1 50000000 -> 1230 5327db96d56Sopenharmony_cidqrem920 remainder 123e1 5000000 -> 1230 5337db96d56Sopenharmony_cidqrem921 remainder 123e1 500000 -> 1230 5347db96d56Sopenharmony_cidqrem922 remainder 123e1 50000 -> 1230 5357db96d56Sopenharmony_cidqrem923 remainder 123e1 5000 -> 1230 5367db96d56Sopenharmony_cidqrem924 remainder 123e1 500 -> 230 5377db96d56Sopenharmony_cidqrem925 remainder 123e1 50 -> 30 5387db96d56Sopenharmony_cidqrem926 remainder 123e1 5 -> 0 5397db96d56Sopenharmony_ci 5407db96d56Sopenharmony_cidqrem930 remainder 123e1 9000000000000000 -> 1230 5417db96d56Sopenharmony_cidqrem931 remainder 123e1 900000000000000 -> 1230 5427db96d56Sopenharmony_cidqrem932 remainder 123e1 90000000000000 -> 1230 5437db96d56Sopenharmony_cidqrem933 remainder 123e1 9000000000000 -> 1230 5447db96d56Sopenharmony_cidqrem934 remainder 123e1 900000000000 -> 1230 5457db96d56Sopenharmony_cidqrem935 remainder 123e1 90000000000 -> 1230 5467db96d56Sopenharmony_cidqrem936 remainder 123e1 9000000000 -> 1230 5477db96d56Sopenharmony_cidqrem937 remainder 123e1 900000000 -> 1230 5487db96d56Sopenharmony_cidqrem939 remainder 123e1 90000000 -> 1230 5497db96d56Sopenharmony_cidqrem940 remainder 123e1 9000000 -> 1230 5507db96d56Sopenharmony_cidqrem941 remainder 123e1 900000 -> 1230 5517db96d56Sopenharmony_cidqrem942 remainder 123e1 90000 -> 1230 5527db96d56Sopenharmony_cidqrem943 remainder 123e1 9000 -> 1230 5537db96d56Sopenharmony_cidqrem944 remainder 123e1 900 -> 330 5547db96d56Sopenharmony_cidqrem945 remainder 123e1 90 -> 60 5557db96d56Sopenharmony_cidqrem946 remainder 123e1 9 -> 6 5567db96d56Sopenharmony_ci 5577db96d56Sopenharmony_cidqrem950 remainder 123e1 1000000000000000 -> 1230 5587db96d56Sopenharmony_cidqrem961 remainder 123e1 2999999999999999 -> 1230 5597db96d56Sopenharmony_cidqrem962 remainder 123e1 3999999999999999 -> 1230 5607db96d56Sopenharmony_cidqrem963 remainder 123e1 4999999999999999 -> 1230 5617db96d56Sopenharmony_cidqrem964 remainder 123e1 5999999999999999 -> 1230 5627db96d56Sopenharmony_cidqrem965 remainder 123e1 6999999999999999 -> 1230 5637db96d56Sopenharmony_cidqrem966 remainder 123e1 7999999999999999 -> 1230 5647db96d56Sopenharmony_cidqrem967 remainder 123e1 8999999999999999 -> 1230 5657db96d56Sopenharmony_cidqrem968 remainder 123e1 9999999999999999 -> 1230 5667db96d56Sopenharmony_cidqrem969 remainder 123e1 9876543210987654 -> 1230 5677db96d56Sopenharmony_ci 5687db96d56Sopenharmony_cidqrem980 remainder 123e1 1000E299 -> 1.23E+3 -- 123E+1 internally 5697db96d56Sopenharmony_ci 5707db96d56Sopenharmony_ci-- overflow and underflow tests [from divide] 5717db96d56Sopenharmony_cidqrem1051 remainder 1e+277 1e-311 -> NaN Division_impossible 5727db96d56Sopenharmony_cidqrem1052 remainder 1e+277 -1e-311 -> NaN Division_impossible 5737db96d56Sopenharmony_cidqrem1053 remainder -1e+277 1e-311 -> NaN Division_impossible 5747db96d56Sopenharmony_cidqrem1054 remainder -1e+277 -1e-311 -> NaN Division_impossible 5757db96d56Sopenharmony_cidqrem1055 remainder 1e-277 1e+311 -> 1E-277 5767db96d56Sopenharmony_cidqrem1056 remainder 1e-277 -1e+311 -> 1E-277 5777db96d56Sopenharmony_cidqrem1057 remainder -1e-277 1e+311 -> -1E-277 5787db96d56Sopenharmony_cidqrem1058 remainder -1e-277 -1e+311 -> -1E-277 5797db96d56Sopenharmony_ci 5807db96d56Sopenharmony_ci-- Gyuris example 5817db96d56Sopenharmony_cidqrem1070 remainder 8.336804418094040989630006819881709E-6143 8.336804418094040989630006819889000E-6143 -> 8.336804418094040989630006819881709E-6143 5827db96d56Sopenharmony_ci 5837db96d56Sopenharmony_ci-- destructive subtract 5847db96d56Sopenharmony_cidqrem1120 remainder 1234567890123456789012345678901234 1.000000000000000000000000000000001 -> 0.765432109876543210987654321098768 5857db96d56Sopenharmony_cidqrem1121 remainder 1234567890123456789012345678901234 1.00000000000000000000000000000001 -> 0.65432109876543210987654321098779 5867db96d56Sopenharmony_cidqrem1122 remainder 1234567890123456789012345678901234 1.0000000000000000000000000000001 -> 0.5432109876543210987654321098890 5877db96d56Sopenharmony_cidqrem1123 remainder 1234567890123456789012345678901255 4.000000000000000000000000000000001 -> 2.691358027469135802746913580274687 5887db96d56Sopenharmony_cidqrem1124 remainder 1234567890123456789012345678901234 4.000000000000000000000000000000001 -> 1.691358027469135802746913580274692 5897db96d56Sopenharmony_cidqrem1125 remainder 1234567890123456789012345678901234 4.9999999999999999999999999999999 -> 3.6913578024691357802469135780251 5907db96d56Sopenharmony_cidqrem1126 remainder 1234567890123456789012345678901234 4.99999999999999999999999999999999 -> 1.46913578024691357802469135780247 5917db96d56Sopenharmony_cidqrem1127 remainder 1234567890123456789012345678901234 4.999999999999999999999999999999999 -> 4.246913578024691357802469135780246 5927db96d56Sopenharmony_cidqrem1128 remainder 1234567890123456789012345678901234 5.0000000000000000000000000000001 -> 4.3086421975308642197530864219759 5937db96d56Sopenharmony_ci 5947db96d56Sopenharmony_ci-- Null tests 5957db96d56Sopenharmony_cidqrem1000 remainder 10 # -> NaN Invalid_operation 5967db96d56Sopenharmony_cidqrem1001 remainder # 10 -> NaN Invalid_operation 5977db96d56Sopenharmony_ci 598