17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- ddRemainder.decTest -- decDouble 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_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_ciddrem001 remainder 1 1 -> 0 317db96d56Sopenharmony_ciddrem002 remainder 2 1 -> 0 327db96d56Sopenharmony_ciddrem003 remainder 1 2 -> 1 337db96d56Sopenharmony_ciddrem004 remainder 2 2 -> 0 347db96d56Sopenharmony_ciddrem005 remainder 0 1 -> 0 357db96d56Sopenharmony_ciddrem006 remainder 0 2 -> 0 367db96d56Sopenharmony_ciddrem007 remainder 1 3 -> 1 377db96d56Sopenharmony_ciddrem008 remainder 2 3 -> 2 387db96d56Sopenharmony_ciddrem009 remainder 3 3 -> 0 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ciddrem010 remainder 2.4 1 -> 0.4 417db96d56Sopenharmony_ciddrem011 remainder 2.4 -1 -> 0.4 427db96d56Sopenharmony_ciddrem012 remainder -2.4 1 -> -0.4 437db96d56Sopenharmony_ciddrem013 remainder -2.4 -1 -> -0.4 447db96d56Sopenharmony_ciddrem014 remainder 2.40 1 -> 0.40 457db96d56Sopenharmony_ciddrem015 remainder 2.400 1 -> 0.400 467db96d56Sopenharmony_ciddrem016 remainder 2.4 2 -> 0.4 477db96d56Sopenharmony_ciddrem017 remainder 2.400 2 -> 0.400 487db96d56Sopenharmony_ciddrem018 remainder 2. 2 -> 0 497db96d56Sopenharmony_ciddrem019 remainder 20 20 -> 0 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_ciddrem020 remainder 187 187 -> 0 527db96d56Sopenharmony_ciddrem021 remainder 5 2 -> 1 537db96d56Sopenharmony_ciddrem022 remainder 5 2.0 -> 1.0 547db96d56Sopenharmony_ciddrem023 remainder 5 2.000 -> 1.000 557db96d56Sopenharmony_ciddrem024 remainder 5 0.200 -> 0.000 567db96d56Sopenharmony_ciddrem025 remainder 5 0.200 -> 0.000 577db96d56Sopenharmony_ci 587db96d56Sopenharmony_ciddrem030 remainder 1 2 -> 1 597db96d56Sopenharmony_ciddrem031 remainder 1 4 -> 1 607db96d56Sopenharmony_ciddrem032 remainder 1 8 -> 1 617db96d56Sopenharmony_ci 627db96d56Sopenharmony_ciddrem033 remainder 1 16 -> 1 637db96d56Sopenharmony_ciddrem034 remainder 1 32 -> 1 647db96d56Sopenharmony_ciddrem035 remainder 1 64 -> 1 657db96d56Sopenharmony_ciddrem040 remainder 1 -2 -> 1 667db96d56Sopenharmony_ciddrem041 remainder 1 -4 -> 1 677db96d56Sopenharmony_ciddrem042 remainder 1 -8 -> 1 687db96d56Sopenharmony_ciddrem043 remainder 1 -16 -> 1 697db96d56Sopenharmony_ciddrem044 remainder 1 -32 -> 1 707db96d56Sopenharmony_ciddrem045 remainder 1 -64 -> 1 717db96d56Sopenharmony_ciddrem050 remainder -1 2 -> -1 727db96d56Sopenharmony_ciddrem051 remainder -1 4 -> -1 737db96d56Sopenharmony_ciddrem052 remainder -1 8 -> -1 747db96d56Sopenharmony_ciddrem053 remainder -1 16 -> -1 757db96d56Sopenharmony_ciddrem054 remainder -1 32 -> -1 767db96d56Sopenharmony_ciddrem055 remainder -1 64 -> -1 777db96d56Sopenharmony_ciddrem060 remainder -1 -2 -> -1 787db96d56Sopenharmony_ciddrem061 remainder -1 -4 -> -1 797db96d56Sopenharmony_ciddrem062 remainder -1 -8 -> -1 807db96d56Sopenharmony_ciddrem063 remainder -1 -16 -> -1 817db96d56Sopenharmony_ciddrem064 remainder -1 -32 -> -1 827db96d56Sopenharmony_ciddrem065 remainder -1 -64 -> -1 837db96d56Sopenharmony_ci 847db96d56Sopenharmony_ciddrem066 remainder 999999999 1 -> 0 857db96d56Sopenharmony_ciddrem067 remainder 999999999.4 1 -> 0.4 867db96d56Sopenharmony_ciddrem068 remainder 999999999.5 1 -> 0.5 877db96d56Sopenharmony_ciddrem069 remainder 999999999.9 1 -> 0.9 887db96d56Sopenharmony_ciddrem070 remainder 999999999.999 1 -> 0.999 897db96d56Sopenharmony_ciddrem071 remainder 999999.999999 1 -> 0.999999 907db96d56Sopenharmony_ciddrem072 remainder 9 1 -> 0 917db96d56Sopenharmony_ciddrem073 remainder 9999999999999999 1 -> 0 927db96d56Sopenharmony_ciddrem074 remainder 9999999999999999 2 -> 1 937db96d56Sopenharmony_ciddrem075 remainder 9999999999999999 3 -> 0 947db96d56Sopenharmony_ciddrem076 remainder 9999999999999999 4 -> 3 957db96d56Sopenharmony_ci 967db96d56Sopenharmony_ciddrem080 remainder 0. 1 -> 0 977db96d56Sopenharmony_ciddrem081 remainder .0 1 -> 0.0 987db96d56Sopenharmony_ciddrem082 remainder 0.00 1 -> 0.00 997db96d56Sopenharmony_ciddrem083 remainder 0.00E+9 1 -> 0 1007db96d56Sopenharmony_ciddrem084 remainder 0.00E+3 1 -> 0 1017db96d56Sopenharmony_ciddrem085 remainder 0.00E+2 1 -> 0 1027db96d56Sopenharmony_ciddrem086 remainder 0.00E+1 1 -> 0.0 1037db96d56Sopenharmony_ciddrem087 remainder 0.00E+0 1 -> 0.00 1047db96d56Sopenharmony_ciddrem088 remainder 0.00E-0 1 -> 0.00 1057db96d56Sopenharmony_ciddrem089 remainder 0.00E-1 1 -> 0.000 1067db96d56Sopenharmony_ciddrem090 remainder 0.00E-2 1 -> 0.0000 1077db96d56Sopenharmony_ciddrem091 remainder 0.00E-3 1 -> 0.00000 1087db96d56Sopenharmony_ciddrem092 remainder 0.00E-4 1 -> 0.000000 1097db96d56Sopenharmony_ciddrem093 remainder 0.00E-5 1 -> 0E-7 1107db96d56Sopenharmony_ciddrem094 remainder 0.00E-6 1 -> 0E-8 1117db96d56Sopenharmony_ciddrem095 remainder 0.0000E-50 1 -> 0E-54 1127db96d56Sopenharmony_ci 1137db96d56Sopenharmony_ci-- Various flavours of remainder by 0 1147db96d56Sopenharmony_ciddrem101 remainder 0 0 -> NaN Division_undefined 1157db96d56Sopenharmony_ciddrem102 remainder 0 -0 -> NaN Division_undefined 1167db96d56Sopenharmony_ciddrem103 remainder -0 0 -> NaN Division_undefined 1177db96d56Sopenharmony_ciddrem104 remainder -0 -0 -> NaN Division_undefined 1187db96d56Sopenharmony_ciddrem105 remainder 0.0E5 0 -> NaN Division_undefined 1197db96d56Sopenharmony_ciddrem106 remainder 0.000 0 -> NaN Division_undefined 1207db96d56Sopenharmony_ci-- [Some think this next group should be Division_by_zero exception, but 1217db96d56Sopenharmony_ci-- IEEE 854 is explicit that it is Invalid operation .. for 1227db96d56Sopenharmony_ci-- remainder-near, anyway] 1237db96d56Sopenharmony_ciddrem107 remainder 0.0001 0 -> NaN Invalid_operation 1247db96d56Sopenharmony_ciddrem108 remainder 0.01 0 -> NaN Invalid_operation 1257db96d56Sopenharmony_ciddrem109 remainder 0.1 0 -> NaN Invalid_operation 1267db96d56Sopenharmony_ciddrem110 remainder 1 0 -> NaN Invalid_operation 1277db96d56Sopenharmony_ciddrem111 remainder 1 0.0 -> NaN Invalid_operation 1287db96d56Sopenharmony_ciddrem112 remainder 10 0.0 -> NaN Invalid_operation 1297db96d56Sopenharmony_ciddrem113 remainder 1E+100 0.0 -> NaN Invalid_operation 1307db96d56Sopenharmony_ciddrem114 remainder 1E+380 0 -> NaN Invalid_operation 1317db96d56Sopenharmony_ciddrem115 remainder 0.0001 -0 -> NaN Invalid_operation 1327db96d56Sopenharmony_ciddrem116 remainder 0.01 -0 -> NaN Invalid_operation 1337db96d56Sopenharmony_ciddrem119 remainder 0.1 -0 -> NaN Invalid_operation 1347db96d56Sopenharmony_ciddrem120 remainder 1 -0 -> NaN Invalid_operation 1357db96d56Sopenharmony_ciddrem121 remainder 1 -0.0 -> NaN Invalid_operation 1367db96d56Sopenharmony_ciddrem122 remainder 10 -0.0 -> NaN Invalid_operation 1377db96d56Sopenharmony_ciddrem123 remainder 1E+100 -0.0 -> NaN Invalid_operation 1387db96d56Sopenharmony_ciddrem124 remainder 1E+384 -0 -> NaN Invalid_operation 1397db96d56Sopenharmony_ci-- and zeros on left 1407db96d56Sopenharmony_ciddrem130 remainder 0 1 -> 0 1417db96d56Sopenharmony_ciddrem131 remainder 0 -1 -> 0 1427db96d56Sopenharmony_ciddrem132 remainder 0.0 1 -> 0.0 1437db96d56Sopenharmony_ciddrem133 remainder 0.0 -1 -> 0.0 1447db96d56Sopenharmony_ciddrem134 remainder -0 1 -> -0 1457db96d56Sopenharmony_ciddrem135 remainder -0 -1 -> -0 1467db96d56Sopenharmony_ciddrem136 remainder -0.0 1 -> -0.0 1477db96d56Sopenharmony_ciddrem137 remainder -0.0 -1 -> -0.0 1487db96d56Sopenharmony_ci 1497db96d56Sopenharmony_ci-- 0.5ers 1507db96d56Sopenharmony_ciddrem143 remainder 0.5 2 -> 0.5 1517db96d56Sopenharmony_ciddrem144 remainder 0.5 2.1 -> 0.5 1527db96d56Sopenharmony_ciddrem145 remainder 0.5 2.01 -> 0.50 1537db96d56Sopenharmony_ciddrem146 remainder 0.5 2.001 -> 0.500 1547db96d56Sopenharmony_ciddrem147 remainder 0.50 2 -> 0.50 1557db96d56Sopenharmony_ciddrem148 remainder 0.50 2.01 -> 0.50 1567db96d56Sopenharmony_ciddrem149 remainder 0.50 2.001 -> 0.500 1577db96d56Sopenharmony_ci 1587db96d56Sopenharmony_ci-- steadies 1597db96d56Sopenharmony_ciddrem150 remainder 1 1 -> 0 1607db96d56Sopenharmony_ciddrem151 remainder 1 2 -> 1 1617db96d56Sopenharmony_ciddrem152 remainder 1 3 -> 1 1627db96d56Sopenharmony_ciddrem153 remainder 1 4 -> 1 1637db96d56Sopenharmony_ciddrem154 remainder 1 5 -> 1 1647db96d56Sopenharmony_ciddrem155 remainder 1 6 -> 1 1657db96d56Sopenharmony_ciddrem156 remainder 1 7 -> 1 1667db96d56Sopenharmony_ciddrem157 remainder 1 8 -> 1 1677db96d56Sopenharmony_ciddrem158 remainder 1 9 -> 1 1687db96d56Sopenharmony_ciddrem159 remainder 1 10 -> 1 1697db96d56Sopenharmony_ciddrem160 remainder 1 1 -> 0 1707db96d56Sopenharmony_ciddrem161 remainder 2 1 -> 0 1717db96d56Sopenharmony_ciddrem162 remainder 3 1 -> 0 1727db96d56Sopenharmony_ciddrem163 remainder 4 1 -> 0 1737db96d56Sopenharmony_ciddrem164 remainder 5 1 -> 0 1747db96d56Sopenharmony_ciddrem165 remainder 6 1 -> 0 1757db96d56Sopenharmony_ciddrem166 remainder 7 1 -> 0 1767db96d56Sopenharmony_ciddrem167 remainder 8 1 -> 0 1777db96d56Sopenharmony_ciddrem168 remainder 9 1 -> 0 1787db96d56Sopenharmony_ciddrem169 remainder 10 1 -> 0 1797db96d56Sopenharmony_ci 1807db96d56Sopenharmony_ci-- some differences from remainderNear 1817db96d56Sopenharmony_ciddrem171 remainder 0.4 1.020 -> 0.400 1827db96d56Sopenharmony_ciddrem172 remainder 0.50 1.020 -> 0.500 1837db96d56Sopenharmony_ciddrem173 remainder 0.51 1.020 -> 0.510 1847db96d56Sopenharmony_ciddrem174 remainder 0.52 1.020 -> 0.520 1857db96d56Sopenharmony_ciddrem175 remainder 0.6 1.020 -> 0.600 1867db96d56Sopenharmony_ci 1877db96d56Sopenharmony_ci-- More flavours of remainder by 0 1887db96d56Sopenharmony_ciddrem201 remainder 0 0 -> NaN Division_undefined 1897db96d56Sopenharmony_ciddrem202 remainder 0.0E5 0 -> NaN Division_undefined 1907db96d56Sopenharmony_ciddrem203 remainder 0.000 0 -> NaN Division_undefined 1917db96d56Sopenharmony_ciddrem204 remainder 0.0001 0 -> NaN Invalid_operation 1927db96d56Sopenharmony_ciddrem205 remainder 0.01 0 -> NaN Invalid_operation 1937db96d56Sopenharmony_ciddrem206 remainder 0.1 0 -> NaN Invalid_operation 1947db96d56Sopenharmony_ciddrem207 remainder 1 0 -> NaN Invalid_operation 1957db96d56Sopenharmony_ciddrem208 remainder 1 0.0 -> NaN Invalid_operation 1967db96d56Sopenharmony_ciddrem209 remainder 10 0.0 -> NaN Invalid_operation 1977db96d56Sopenharmony_ciddrem210 remainder 1E+100 0.0 -> NaN Invalid_operation 1987db96d56Sopenharmony_ciddrem211 remainder 1E+380 0 -> NaN Invalid_operation 1997db96d56Sopenharmony_ci 2007db96d56Sopenharmony_ci-- some differences from remainderNear 2017db96d56Sopenharmony_ciddrem231 remainder -0.4 1.020 -> -0.400 2027db96d56Sopenharmony_ciddrem232 remainder -0.50 1.020 -> -0.500 2037db96d56Sopenharmony_ciddrem233 remainder -0.51 1.020 -> -0.510 2047db96d56Sopenharmony_ciddrem234 remainder -0.52 1.020 -> -0.520 2057db96d56Sopenharmony_ciddrem235 remainder -0.6 1.020 -> -0.600 2067db96d56Sopenharmony_ci 2077db96d56Sopenharmony_ci-- high Xs 2087db96d56Sopenharmony_ciddrem240 remainder 1E+2 1.00 -> 0.00 2097db96d56Sopenharmony_ci 2107db96d56Sopenharmony_ci-- ddrem3xx are from DiagBigDecimal 2117db96d56Sopenharmony_ciddrem301 remainder 1 3 -> 1 2127db96d56Sopenharmony_ciddrem302 remainder 5 5 -> 0 2137db96d56Sopenharmony_ciddrem303 remainder 13 10 -> 3 2147db96d56Sopenharmony_ciddrem304 remainder 13 50 -> 13 2157db96d56Sopenharmony_ciddrem305 remainder 13 100 -> 13 2167db96d56Sopenharmony_ciddrem306 remainder 13 1000 -> 13 2177db96d56Sopenharmony_ciddrem307 remainder .13 1 -> 0.13 2187db96d56Sopenharmony_ciddrem308 remainder 0.133 1 -> 0.133 2197db96d56Sopenharmony_ciddrem309 remainder 0.1033 1 -> 0.1033 2207db96d56Sopenharmony_ciddrem310 remainder 1.033 1 -> 0.033 2217db96d56Sopenharmony_ciddrem311 remainder 10.33 1 -> 0.33 2227db96d56Sopenharmony_ciddrem312 remainder 10.33 10 -> 0.33 2237db96d56Sopenharmony_ciddrem313 remainder 103.3 1 -> 0.3 2247db96d56Sopenharmony_ciddrem314 remainder 133 10 -> 3 2257db96d56Sopenharmony_ciddrem315 remainder 1033 10 -> 3 2267db96d56Sopenharmony_ciddrem316 remainder 1033 50 -> 33 2277db96d56Sopenharmony_ciddrem317 remainder 101.0 3 -> 2.0 2287db96d56Sopenharmony_ciddrem318 remainder 102.0 3 -> 0.0 2297db96d56Sopenharmony_ciddrem319 remainder 103.0 3 -> 1.0 2307db96d56Sopenharmony_ciddrem320 remainder 2.40 1 -> 0.40 2317db96d56Sopenharmony_ciddrem321 remainder 2.400 1 -> 0.400 2327db96d56Sopenharmony_ciddrem322 remainder 2.4 1 -> 0.4 2337db96d56Sopenharmony_ciddrem323 remainder 2.4 2 -> 0.4 2347db96d56Sopenharmony_ciddrem324 remainder 2.400 2 -> 0.400 2357db96d56Sopenharmony_ciddrem325 remainder 1 0.3 -> 0.1 2367db96d56Sopenharmony_ciddrem326 remainder 1 0.30 -> 0.10 2377db96d56Sopenharmony_ciddrem327 remainder 1 0.300 -> 0.100 2387db96d56Sopenharmony_ciddrem328 remainder 1 0.3000 -> 0.1000 2397db96d56Sopenharmony_ciddrem329 remainder 1.0 0.3 -> 0.1 2407db96d56Sopenharmony_ciddrem330 remainder 1.00 0.3 -> 0.10 2417db96d56Sopenharmony_ciddrem331 remainder 1.000 0.3 -> 0.100 2427db96d56Sopenharmony_ciddrem332 remainder 1.0000 0.3 -> 0.1000 2437db96d56Sopenharmony_ciddrem333 remainder 0.5 2 -> 0.5 2447db96d56Sopenharmony_ciddrem334 remainder 0.5 2.1 -> 0.5 2457db96d56Sopenharmony_ciddrem335 remainder 0.5 2.01 -> 0.50 2467db96d56Sopenharmony_ciddrem336 remainder 0.5 2.001 -> 0.500 2477db96d56Sopenharmony_ciddrem337 remainder 0.50 2 -> 0.50 2487db96d56Sopenharmony_ciddrem338 remainder 0.50 2.01 -> 0.50 2497db96d56Sopenharmony_ciddrem339 remainder 0.50 2.001 -> 0.500 2507db96d56Sopenharmony_ci 2517db96d56Sopenharmony_ciddrem340 remainder 0.5 0.5000001 -> 0.5000000 2527db96d56Sopenharmony_ciddrem341 remainder 0.5 0.50000001 -> 0.50000000 2537db96d56Sopenharmony_ciddrem342 remainder 0.5 0.500000001 -> 0.500000000 2547db96d56Sopenharmony_ciddrem343 remainder 0.5 0.5000000001 -> 0.5000000000 2557db96d56Sopenharmony_ciddrem344 remainder 0.5 0.50000000001 -> 0.50000000000 2567db96d56Sopenharmony_ciddrem345 remainder 0.5 0.4999999 -> 1E-7 2577db96d56Sopenharmony_ciddrem346 remainder 0.5 0.49999999 -> 1E-8 2587db96d56Sopenharmony_ciddrem347 remainder 0.5 0.499999999 -> 1E-9 2597db96d56Sopenharmony_ciddrem348 remainder 0.5 0.4999999999 -> 1E-10 2607db96d56Sopenharmony_ciddrem349 remainder 0.5 0.49999999999 -> 1E-11 2617db96d56Sopenharmony_ciddrem350 remainder 0.5 0.499999999999 -> 1E-12 2627db96d56Sopenharmony_ci 2637db96d56Sopenharmony_ciddrem351 remainder 0.03 7 -> 0.03 2647db96d56Sopenharmony_ciddrem352 remainder 5 2 -> 1 2657db96d56Sopenharmony_ciddrem353 remainder 4.1 2 -> 0.1 2667db96d56Sopenharmony_ciddrem354 remainder 4.01 2 -> 0.01 2677db96d56Sopenharmony_ciddrem355 remainder 4.001 2 -> 0.001 2687db96d56Sopenharmony_ciddrem356 remainder 4.0001 2 -> 0.0001 2697db96d56Sopenharmony_ciddrem357 remainder 4.00001 2 -> 0.00001 2707db96d56Sopenharmony_ciddrem358 remainder 4.000001 2 -> 0.000001 2717db96d56Sopenharmony_ciddrem359 remainder 4.0000001 2 -> 1E-7 2727db96d56Sopenharmony_ci 2737db96d56Sopenharmony_ciddrem360 remainder 1.2 0.7345 -> 0.4655 2747db96d56Sopenharmony_ciddrem361 remainder 0.8 12 -> 0.8 2757db96d56Sopenharmony_ciddrem362 remainder 0.8 0.2 -> 0.0 2767db96d56Sopenharmony_ciddrem363 remainder 0.8 0.3 -> 0.2 2777db96d56Sopenharmony_ciddrem364 remainder 0.800 12 -> 0.800 2787db96d56Sopenharmony_ciddrem365 remainder 0.800 1.7 -> 0.800 2797db96d56Sopenharmony_ciddrem366 remainder 2.400 2 -> 0.400 2807db96d56Sopenharmony_ci 2817db96d56Sopenharmony_ciddrem371 remainder 2.400 2 -> 0.400 2827db96d56Sopenharmony_ci 2837db96d56Sopenharmony_ciddrem381 remainder 12345 1 -> 0 2847db96d56Sopenharmony_ciddrem382 remainder 12345 1.0001 -> 0.7657 2857db96d56Sopenharmony_ciddrem383 remainder 12345 1.001 -> 0.668 2867db96d56Sopenharmony_ciddrem384 remainder 12345 1.01 -> 0.78 2877db96d56Sopenharmony_ciddrem385 remainder 12345 1.1 -> 0.8 2887db96d56Sopenharmony_ciddrem386 remainder 12355 4 -> 3 2897db96d56Sopenharmony_ciddrem387 remainder 12345 4 -> 1 2907db96d56Sopenharmony_ciddrem388 remainder 12355 4.0001 -> 2.6912 2917db96d56Sopenharmony_ciddrem389 remainder 12345 4.0001 -> 0.6914 2927db96d56Sopenharmony_ciddrem390 remainder 12345 4.9 -> 1.9 2937db96d56Sopenharmony_ciddrem391 remainder 12345 4.99 -> 4.73 2947db96d56Sopenharmony_ciddrem392 remainder 12345 4.999 -> 2.469 2957db96d56Sopenharmony_ciddrem393 remainder 12345 4.9999 -> 0.2469 2967db96d56Sopenharmony_ciddrem394 remainder 12345 5 -> 0 2977db96d56Sopenharmony_ciddrem395 remainder 12345 5.0001 -> 4.7532 2987db96d56Sopenharmony_ciddrem396 remainder 12345 5.001 -> 2.532 2997db96d56Sopenharmony_ciddrem397 remainder 12345 5.01 -> 0.36 3007db96d56Sopenharmony_ciddrem398 remainder 12345 5.1 -> 3.0 3017db96d56Sopenharmony_ci 3027db96d56Sopenharmony_ci-- the nasty division-by-1 cases 3037db96d56Sopenharmony_ciddrem401 remainder 0.5 1 -> 0.5 3047db96d56Sopenharmony_ciddrem402 remainder 0.55 1 -> 0.55 3057db96d56Sopenharmony_ciddrem403 remainder 0.555 1 -> 0.555 3067db96d56Sopenharmony_ciddrem404 remainder 0.5555 1 -> 0.5555 3077db96d56Sopenharmony_ciddrem405 remainder 0.55555 1 -> 0.55555 3087db96d56Sopenharmony_ciddrem406 remainder 0.555555 1 -> 0.555555 3097db96d56Sopenharmony_ciddrem407 remainder 0.5555555 1 -> 0.5555555 3107db96d56Sopenharmony_ciddrem408 remainder 0.55555555 1 -> 0.55555555 3117db96d56Sopenharmony_ciddrem409 remainder 0.555555555 1 -> 0.555555555 3127db96d56Sopenharmony_ci 3137db96d56Sopenharmony_ci-- folddowns 3147db96d56Sopenharmony_ciddrem421 remainder 1E+384 1 -> NaN Division_impossible 3157db96d56Sopenharmony_ciddrem422 remainder 1E+384 1E+383 -> 0E+369 Clamped 3167db96d56Sopenharmony_ciddrem423 remainder 1E+384 2E+383 -> 0E+369 Clamped 3177db96d56Sopenharmony_ciddrem424 remainder 1E+384 3E+383 -> 1.00000000000000E+383 Clamped 3187db96d56Sopenharmony_ciddrem425 remainder 1E+384 4E+383 -> 2.00000000000000E+383 Clamped 3197db96d56Sopenharmony_ciddrem426 remainder 1E+384 5E+383 -> 0E+369 Clamped 3207db96d56Sopenharmony_ciddrem427 remainder 1E+384 6E+383 -> 4.00000000000000E+383 Clamped 3217db96d56Sopenharmony_ciddrem428 remainder 1E+384 7E+383 -> 3.00000000000000E+383 Clamped 3227db96d56Sopenharmony_ciddrem429 remainder 1E+384 8E+383 -> 2.00000000000000E+383 Clamped 3237db96d56Sopenharmony_ciddrem430 remainder 1E+384 9E+383 -> 1.00000000000000E+383 Clamped 3247db96d56Sopenharmony_ci-- tinies 3257db96d56Sopenharmony_ciddrem431 remainder 1E-397 1E-398 -> 0E-398 3267db96d56Sopenharmony_ciddrem432 remainder 1E-397 2E-398 -> 0E-398 3277db96d56Sopenharmony_ciddrem433 remainder 1E-397 3E-398 -> 1E-398 Subnormal 3287db96d56Sopenharmony_ciddrem434 remainder 1E-397 4E-398 -> 2E-398 Subnormal 3297db96d56Sopenharmony_ciddrem435 remainder 1E-397 5E-398 -> 0E-398 3307db96d56Sopenharmony_ciddrem436 remainder 1E-397 6E-398 -> 4E-398 Subnormal 3317db96d56Sopenharmony_ciddrem437 remainder 1E-397 7E-398 -> 3E-398 Subnormal 3327db96d56Sopenharmony_ciddrem438 remainder 1E-397 8E-398 -> 2E-398 Subnormal 3337db96d56Sopenharmony_ciddrem439 remainder 1E-397 9E-398 -> 1E-398 Subnormal 3347db96d56Sopenharmony_ciddrem440 remainder 1E-397 10E-398 -> 0E-398 3357db96d56Sopenharmony_ciddrem441 remainder 1E-397 11E-398 -> 1.0E-397 Subnormal 3367db96d56Sopenharmony_ciddrem442 remainder 100E-397 11E-398 -> 1.0E-397 Subnormal 3377db96d56Sopenharmony_ciddrem443 remainder 100E-397 20E-398 -> 0E-398 3387db96d56Sopenharmony_ciddrem444 remainder 100E-397 21E-398 -> 1.3E-397 Subnormal 3397db96d56Sopenharmony_ciddrem445 remainder 100E-397 30E-398 -> 1.0E-397 Subnormal 3407db96d56Sopenharmony_ci 3417db96d56Sopenharmony_ci-- zero signs 3427db96d56Sopenharmony_ciddrem650 remainder 1 1 -> 0 3437db96d56Sopenharmony_ciddrem651 remainder -1 1 -> -0 3447db96d56Sopenharmony_ciddrem652 remainder 1 -1 -> 0 3457db96d56Sopenharmony_ciddrem653 remainder -1 -1 -> -0 3467db96d56Sopenharmony_ciddrem654 remainder 0 1 -> 0 3477db96d56Sopenharmony_ciddrem655 remainder -0 1 -> -0 3487db96d56Sopenharmony_ciddrem656 remainder 0 -1 -> 0 3497db96d56Sopenharmony_ciddrem657 remainder -0 -1 -> -0 3507db96d56Sopenharmony_ciddrem658 remainder 0.00 1 -> 0.00 3517db96d56Sopenharmony_ciddrem659 remainder -0.00 1 -> -0.00 3527db96d56Sopenharmony_ci 3537db96d56Sopenharmony_ci-- Specials 3547db96d56Sopenharmony_ciddrem680 remainder Inf -Inf -> NaN Invalid_operation 3557db96d56Sopenharmony_ciddrem681 remainder Inf -1000 -> NaN Invalid_operation 3567db96d56Sopenharmony_ciddrem682 remainder Inf -1 -> NaN Invalid_operation 3577db96d56Sopenharmony_ciddrem683 remainder Inf 0 -> NaN Invalid_operation 3587db96d56Sopenharmony_ciddrem684 remainder Inf -0 -> NaN Invalid_operation 3597db96d56Sopenharmony_ciddrem685 remainder Inf 1 -> NaN Invalid_operation 3607db96d56Sopenharmony_ciddrem686 remainder Inf 1000 -> NaN Invalid_operation 3617db96d56Sopenharmony_ciddrem687 remainder Inf Inf -> NaN Invalid_operation 3627db96d56Sopenharmony_ciddrem688 remainder -1000 Inf -> -1000 3637db96d56Sopenharmony_ciddrem689 remainder -Inf Inf -> NaN Invalid_operation 3647db96d56Sopenharmony_ciddrem691 remainder -1 Inf -> -1 3657db96d56Sopenharmony_ciddrem692 remainder 0 Inf -> 0 3667db96d56Sopenharmony_ciddrem693 remainder -0 Inf -> -0 3677db96d56Sopenharmony_ciddrem694 remainder 1 Inf -> 1 3687db96d56Sopenharmony_ciddrem695 remainder 1000 Inf -> 1000 3697db96d56Sopenharmony_ciddrem696 remainder Inf Inf -> NaN Invalid_operation 3707db96d56Sopenharmony_ci 3717db96d56Sopenharmony_ciddrem700 remainder -Inf -Inf -> NaN Invalid_operation 3727db96d56Sopenharmony_ciddrem701 remainder -Inf -1000 -> NaN Invalid_operation 3737db96d56Sopenharmony_ciddrem702 remainder -Inf -1 -> NaN Invalid_operation 3747db96d56Sopenharmony_ciddrem703 remainder -Inf -0 -> NaN Invalid_operation 3757db96d56Sopenharmony_ciddrem704 remainder -Inf 0 -> NaN Invalid_operation 3767db96d56Sopenharmony_ciddrem705 remainder -Inf 1 -> NaN Invalid_operation 3777db96d56Sopenharmony_ciddrem706 remainder -Inf 1000 -> NaN Invalid_operation 3787db96d56Sopenharmony_ciddrem707 remainder -Inf Inf -> NaN Invalid_operation 3797db96d56Sopenharmony_ciddrem708 remainder -Inf -Inf -> NaN Invalid_operation 3807db96d56Sopenharmony_ciddrem709 remainder -1000 Inf -> -1000 3817db96d56Sopenharmony_ciddrem710 remainder -1 -Inf -> -1 3827db96d56Sopenharmony_ciddrem711 remainder -0 -Inf -> -0 3837db96d56Sopenharmony_ciddrem712 remainder 0 -Inf -> 0 3847db96d56Sopenharmony_ciddrem713 remainder 1 -Inf -> 1 3857db96d56Sopenharmony_ciddrem714 remainder 1000 -Inf -> 1000 3867db96d56Sopenharmony_ciddrem715 remainder Inf -Inf -> NaN Invalid_operation 3877db96d56Sopenharmony_ci 3887db96d56Sopenharmony_ciddrem721 remainder NaN -Inf -> NaN 3897db96d56Sopenharmony_ciddrem722 remainder NaN -1000 -> NaN 3907db96d56Sopenharmony_ciddrem723 remainder NaN -1 -> NaN 3917db96d56Sopenharmony_ciddrem724 remainder NaN -0 -> NaN 3927db96d56Sopenharmony_ciddrem725 remainder -NaN 0 -> -NaN 3937db96d56Sopenharmony_ciddrem726 remainder NaN 1 -> NaN 3947db96d56Sopenharmony_ciddrem727 remainder NaN 1000 -> NaN 3957db96d56Sopenharmony_ciddrem728 remainder NaN Inf -> NaN 3967db96d56Sopenharmony_ciddrem729 remainder NaN -NaN -> NaN 3977db96d56Sopenharmony_ciddrem730 remainder -Inf NaN -> NaN 3987db96d56Sopenharmony_ciddrem731 remainder -1000 NaN -> NaN 3997db96d56Sopenharmony_ciddrem732 remainder -1 NaN -> NaN 4007db96d56Sopenharmony_ciddrem733 remainder -0 -NaN -> -NaN 4017db96d56Sopenharmony_ciddrem734 remainder 0 NaN -> NaN 4027db96d56Sopenharmony_ciddrem735 remainder 1 -NaN -> -NaN 4037db96d56Sopenharmony_ciddrem736 remainder 1000 NaN -> NaN 4047db96d56Sopenharmony_ciddrem737 remainder Inf NaN -> NaN 4057db96d56Sopenharmony_ci 4067db96d56Sopenharmony_ciddrem741 remainder sNaN -Inf -> NaN Invalid_operation 4077db96d56Sopenharmony_ciddrem742 remainder sNaN -1000 -> NaN Invalid_operation 4087db96d56Sopenharmony_ciddrem743 remainder -sNaN -1 -> -NaN Invalid_operation 4097db96d56Sopenharmony_ciddrem744 remainder sNaN -0 -> NaN Invalid_operation 4107db96d56Sopenharmony_ciddrem745 remainder sNaN 0 -> NaN Invalid_operation 4117db96d56Sopenharmony_ciddrem746 remainder sNaN 1 -> NaN Invalid_operation 4127db96d56Sopenharmony_ciddrem747 remainder sNaN 1000 -> NaN Invalid_operation 4137db96d56Sopenharmony_ciddrem749 remainder sNaN NaN -> NaN Invalid_operation 4147db96d56Sopenharmony_ciddrem750 remainder sNaN sNaN -> NaN Invalid_operation 4157db96d56Sopenharmony_ciddrem751 remainder NaN sNaN -> NaN Invalid_operation 4167db96d56Sopenharmony_ciddrem752 remainder -Inf sNaN -> NaN Invalid_operation 4177db96d56Sopenharmony_ciddrem753 remainder -1000 sNaN -> NaN Invalid_operation 4187db96d56Sopenharmony_ciddrem754 remainder -1 sNaN -> NaN Invalid_operation 4197db96d56Sopenharmony_ciddrem755 remainder -0 sNaN -> NaN Invalid_operation 4207db96d56Sopenharmony_ciddrem756 remainder 0 sNaN -> NaN Invalid_operation 4217db96d56Sopenharmony_ciddrem757 remainder 1 sNaN -> NaN Invalid_operation 4227db96d56Sopenharmony_ciddrem758 remainder 1000 sNaN -> NaN Invalid_operation 4237db96d56Sopenharmony_ciddrem759 remainder Inf -sNaN -> -NaN Invalid_operation 4247db96d56Sopenharmony_ci 4257db96d56Sopenharmony_ci-- propaging NaNs 4267db96d56Sopenharmony_ciddrem760 remainder NaN1 NaN7 -> NaN1 4277db96d56Sopenharmony_ciddrem761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation 4287db96d56Sopenharmony_ciddrem762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation 4297db96d56Sopenharmony_ciddrem763 remainder sNaN4 sNaN10 -> NaN4 Invalid_operation 4307db96d56Sopenharmony_ciddrem764 remainder 15 NaN11 -> NaN11 4317db96d56Sopenharmony_ciddrem765 remainder NaN6 NaN12 -> NaN6 4327db96d56Sopenharmony_ciddrem766 remainder Inf NaN13 -> NaN13 4337db96d56Sopenharmony_ciddrem767 remainder NaN14 -Inf -> NaN14 4347db96d56Sopenharmony_ciddrem768 remainder 0 NaN15 -> NaN15 4357db96d56Sopenharmony_ciddrem769 remainder NaN16 -0 -> NaN16 4367db96d56Sopenharmony_ci 4377db96d56Sopenharmony_ci-- edge cases of impossible 4387db96d56Sopenharmony_ciddrem770 remainder 1234567890123456 10 -> 6 4397db96d56Sopenharmony_ciddrem771 remainder 1234567890123456 1 -> 0 4407db96d56Sopenharmony_ciddrem772 remainder 1234567890123456 0.1 -> NaN Division_impossible 4417db96d56Sopenharmony_ciddrem773 remainder 1234567890123456 0.01 -> NaN Division_impossible 4427db96d56Sopenharmony_ci 4437db96d56Sopenharmony_ci-- long operand checks 4447db96d56Sopenharmony_ciddrem801 remainder 12345678000 100 -> 0 4457db96d56Sopenharmony_ciddrem802 remainder 1 12345678000 -> 1 4467db96d56Sopenharmony_ciddrem803 remainder 1234567800 10 -> 0 4477db96d56Sopenharmony_ciddrem804 remainder 1 1234567800 -> 1 4487db96d56Sopenharmony_ciddrem805 remainder 1234567890 10 -> 0 4497db96d56Sopenharmony_ciddrem806 remainder 1 1234567890 -> 1 4507db96d56Sopenharmony_ciddrem807 remainder 1234567891 10 -> 1 4517db96d56Sopenharmony_ciddrem808 remainder 1 1234567891 -> 1 4527db96d56Sopenharmony_ciddrem809 remainder 12345678901 100 -> 1 4537db96d56Sopenharmony_ciddrem810 remainder 1 12345678901 -> 1 4547db96d56Sopenharmony_ciddrem811 remainder 1234567896 10 -> 6 4557db96d56Sopenharmony_ciddrem812 remainder 1 1234567896 -> 1 4567db96d56Sopenharmony_ci 4577db96d56Sopenharmony_ciddrem821 remainder 12345678000 100 -> 0 4587db96d56Sopenharmony_ciddrem822 remainder 1 12345678000 -> 1 4597db96d56Sopenharmony_ciddrem823 remainder 1234567800 10 -> 0 4607db96d56Sopenharmony_ciddrem824 remainder 1 1234567800 -> 1 4617db96d56Sopenharmony_ciddrem825 remainder 1234567890 10 -> 0 4627db96d56Sopenharmony_ciddrem826 remainder 1 1234567890 -> 1 4637db96d56Sopenharmony_ciddrem827 remainder 1234567891 10 -> 1 4647db96d56Sopenharmony_ciddrem828 remainder 1 1234567891 -> 1 4657db96d56Sopenharmony_ciddrem829 remainder 12345678901 100 -> 1 4667db96d56Sopenharmony_ciddrem830 remainder 1 12345678901 -> 1 4677db96d56Sopenharmony_ciddrem831 remainder 1234567896 10 -> 6 4687db96d56Sopenharmony_ciddrem832 remainder 1 1234567896 -> 1 4697db96d56Sopenharmony_ci 4707db96d56Sopenharmony_ci-- from divideint 4717db96d56Sopenharmony_ciddrem840 remainder 100000000.0 1 -> 0.0 4727db96d56Sopenharmony_ciddrem841 remainder 100000000.4 1 -> 0.4 4737db96d56Sopenharmony_ciddrem842 remainder 100000000.5 1 -> 0.5 4747db96d56Sopenharmony_ciddrem843 remainder 100000000.9 1 -> 0.9 4757db96d56Sopenharmony_ciddrem844 remainder 100000000.999 1 -> 0.999 4767db96d56Sopenharmony_ciddrem850 remainder 100000003 5 -> 3 4777db96d56Sopenharmony_ciddrem851 remainder 10000003 5 -> 3 4787db96d56Sopenharmony_ciddrem852 remainder 1000003 5 -> 3 4797db96d56Sopenharmony_ciddrem853 remainder 100003 5 -> 3 4807db96d56Sopenharmony_ciddrem854 remainder 10003 5 -> 3 4817db96d56Sopenharmony_ciddrem855 remainder 1003 5 -> 3 4827db96d56Sopenharmony_ciddrem856 remainder 103 5 -> 3 4837db96d56Sopenharmony_ciddrem857 remainder 13 5 -> 3 4847db96d56Sopenharmony_ciddrem858 remainder 1 5 -> 1 4857db96d56Sopenharmony_ci 4867db96d56Sopenharmony_ci-- Vladimir's cases 1234567890123456 4877db96d56Sopenharmony_ciddrem860 remainder 123.0e1 1000000000000000 -> 1230 4887db96d56Sopenharmony_ciddrem861 remainder 1230 1000000000000000 -> 1230 4897db96d56Sopenharmony_ciddrem862 remainder 12.3e2 1000000000000000 -> 1230 4907db96d56Sopenharmony_ciddrem863 remainder 1.23e3 1000000000000000 -> 1230 4917db96d56Sopenharmony_ciddrem864 remainder 123e1 1000000000000000 -> 1230 4927db96d56Sopenharmony_ciddrem870 remainder 123e1 1000000000000000 -> 1230 4937db96d56Sopenharmony_ciddrem871 remainder 123e1 100000000000000 -> 1230 4947db96d56Sopenharmony_ciddrem872 remainder 123e1 10000000000000 -> 1230 4957db96d56Sopenharmony_ciddrem873 remainder 123e1 1000000000000 -> 1230 4967db96d56Sopenharmony_ciddrem874 remainder 123e1 100000000000 -> 1230 4977db96d56Sopenharmony_ciddrem875 remainder 123e1 10000000000 -> 1230 4987db96d56Sopenharmony_ciddrem876 remainder 123e1 1000000000 -> 1230 4997db96d56Sopenharmony_ciddrem877 remainder 123e1 100000000 -> 1230 5007db96d56Sopenharmony_ciddrem878 remainder 1230 100000000 -> 1230 5017db96d56Sopenharmony_ciddrem879 remainder 123e1 10000000 -> 1230 5027db96d56Sopenharmony_ciddrem880 remainder 123e1 1000000 -> 1230 5037db96d56Sopenharmony_ciddrem881 remainder 123e1 100000 -> 1230 5047db96d56Sopenharmony_ciddrem882 remainder 123e1 10000 -> 1230 5057db96d56Sopenharmony_ciddrem883 remainder 123e1 1000 -> 230 5067db96d56Sopenharmony_ciddrem884 remainder 123e1 100 -> 30 5077db96d56Sopenharmony_ciddrem885 remainder 123e1 10 -> 0 5087db96d56Sopenharmony_ciddrem886 remainder 123e1 1 -> 0 5097db96d56Sopenharmony_ci 5107db96d56Sopenharmony_ciddrem890 remainder 123e1 2000000000000000 -> 1230 5117db96d56Sopenharmony_ciddrem891 remainder 123e1 200000000000000 -> 1230 5127db96d56Sopenharmony_ciddrem892 remainder 123e1 20000000000000 -> 1230 5137db96d56Sopenharmony_ciddrem893 remainder 123e1 2000000000000 -> 1230 5147db96d56Sopenharmony_ciddrem894 remainder 123e1 200000000000 -> 1230 5157db96d56Sopenharmony_ciddrem895 remainder 123e1 20000000000 -> 1230 5167db96d56Sopenharmony_ciddrem896 remainder 123e1 2000000000 -> 1230 5177db96d56Sopenharmony_ciddrem897 remainder 123e1 200000000 -> 1230 5187db96d56Sopenharmony_ciddrem899 remainder 123e1 20000000 -> 1230 5197db96d56Sopenharmony_ciddrem900 remainder 123e1 2000000 -> 1230 5207db96d56Sopenharmony_ciddrem901 remainder 123e1 200000 -> 1230 5217db96d56Sopenharmony_ciddrem902 remainder 123e1 20000 -> 1230 5227db96d56Sopenharmony_ciddrem903 remainder 123e1 2000 -> 1230 5237db96d56Sopenharmony_ciddrem904 remainder 123e1 200 -> 30 5247db96d56Sopenharmony_ciddrem905 remainder 123e1 20 -> 10 5257db96d56Sopenharmony_ciddrem906 remainder 123e1 2 -> 0 5267db96d56Sopenharmony_ci 5277db96d56Sopenharmony_ciddrem910 remainder 123e1 5000000000000000 -> 1230 5287db96d56Sopenharmony_ciddrem911 remainder 123e1 500000000000000 -> 1230 5297db96d56Sopenharmony_ciddrem912 remainder 123e1 50000000000000 -> 1230 5307db96d56Sopenharmony_ciddrem913 remainder 123e1 5000000000000 -> 1230 5317db96d56Sopenharmony_ciddrem914 remainder 123e1 500000000000 -> 1230 5327db96d56Sopenharmony_ciddrem915 remainder 123e1 50000000000 -> 1230 5337db96d56Sopenharmony_ciddrem916 remainder 123e1 5000000000 -> 1230 5347db96d56Sopenharmony_ciddrem917 remainder 123e1 500000000 -> 1230 5357db96d56Sopenharmony_ciddrem919 remainder 123e1 50000000 -> 1230 5367db96d56Sopenharmony_ciddrem920 remainder 123e1 5000000 -> 1230 5377db96d56Sopenharmony_ciddrem921 remainder 123e1 500000 -> 1230 5387db96d56Sopenharmony_ciddrem922 remainder 123e1 50000 -> 1230 5397db96d56Sopenharmony_ciddrem923 remainder 123e1 5000 -> 1230 5407db96d56Sopenharmony_ciddrem924 remainder 123e1 500 -> 230 5417db96d56Sopenharmony_ciddrem925 remainder 123e1 50 -> 30 5427db96d56Sopenharmony_ciddrem926 remainder 123e1 5 -> 0 5437db96d56Sopenharmony_ci 5447db96d56Sopenharmony_ciddrem930 remainder 123e1 9000000000000000 -> 1230 5457db96d56Sopenharmony_ciddrem931 remainder 123e1 900000000000000 -> 1230 5467db96d56Sopenharmony_ciddrem932 remainder 123e1 90000000000000 -> 1230 5477db96d56Sopenharmony_ciddrem933 remainder 123e1 9000000000000 -> 1230 5487db96d56Sopenharmony_ciddrem934 remainder 123e1 900000000000 -> 1230 5497db96d56Sopenharmony_ciddrem935 remainder 123e1 90000000000 -> 1230 5507db96d56Sopenharmony_ciddrem936 remainder 123e1 9000000000 -> 1230 5517db96d56Sopenharmony_ciddrem937 remainder 123e1 900000000 -> 1230 5527db96d56Sopenharmony_ciddrem939 remainder 123e1 90000000 -> 1230 5537db96d56Sopenharmony_ciddrem940 remainder 123e1 9000000 -> 1230 5547db96d56Sopenharmony_ciddrem941 remainder 123e1 900000 -> 1230 5557db96d56Sopenharmony_ciddrem942 remainder 123e1 90000 -> 1230 5567db96d56Sopenharmony_ciddrem943 remainder 123e1 9000 -> 1230 5577db96d56Sopenharmony_ciddrem944 remainder 123e1 900 -> 330 5587db96d56Sopenharmony_ciddrem945 remainder 123e1 90 -> 60 5597db96d56Sopenharmony_ciddrem946 remainder 123e1 9 -> 6 5607db96d56Sopenharmony_ci 5617db96d56Sopenharmony_ciddrem950 remainder 123e1 1000000000000000 -> 1230 5627db96d56Sopenharmony_ciddrem961 remainder 123e1 2999999999999999 -> 1230 5637db96d56Sopenharmony_ciddrem962 remainder 123e1 3999999999999999 -> 1230 5647db96d56Sopenharmony_ciddrem963 remainder 123e1 4999999999999999 -> 1230 5657db96d56Sopenharmony_ciddrem964 remainder 123e1 5999999999999999 -> 1230 5667db96d56Sopenharmony_ciddrem965 remainder 123e1 6999999999999999 -> 1230 5677db96d56Sopenharmony_ciddrem966 remainder 123e1 7999999999999999 -> 1230 5687db96d56Sopenharmony_ciddrem967 remainder 123e1 8999999999999999 -> 1230 5697db96d56Sopenharmony_ciddrem968 remainder 123e1 9999999999999999 -> 1230 5707db96d56Sopenharmony_ciddrem969 remainder 123e1 9876543210987654 -> 1230 5717db96d56Sopenharmony_ci 5727db96d56Sopenharmony_ciddrem980 remainder 123e1 1000E299 -> 1.23E+3 -- 123E+1 internally 5737db96d56Sopenharmony_ci 5747db96d56Sopenharmony_ci-- overflow and underflow tests [from divide] 5757db96d56Sopenharmony_ciddrem1051 remainder 1e+277 1e-311 -> NaN Division_impossible 5767db96d56Sopenharmony_ciddrem1052 remainder 1e+277 -1e-311 -> NaN Division_impossible 5777db96d56Sopenharmony_ciddrem1053 remainder -1e+277 1e-311 -> NaN Division_impossible 5787db96d56Sopenharmony_ciddrem1054 remainder -1e+277 -1e-311 -> NaN Division_impossible 5797db96d56Sopenharmony_ciddrem1055 remainder 1e-277 1e+311 -> 1E-277 5807db96d56Sopenharmony_ciddrem1056 remainder 1e-277 -1e+311 -> 1E-277 5817db96d56Sopenharmony_ciddrem1057 remainder -1e-277 1e+311 -> -1E-277 5827db96d56Sopenharmony_ciddrem1058 remainder -1e-277 -1e+311 -> -1E-277 5837db96d56Sopenharmony_ci 5847db96d56Sopenharmony_ci-- destructive subtract 5857db96d56Sopenharmony_ciddrem1101 remainder 1234567890123456 1.000000000000001 -> 0.765432109876546 5867db96d56Sopenharmony_ciddrem1102 remainder 1234567890123456 1.00000000000001 -> 0.65432109876557 5877db96d56Sopenharmony_ciddrem1103 remainder 1234567890123456 1.0000000000001 -> 0.5432109876668 5887db96d56Sopenharmony_ciddrem1104 remainder 1234567890123455 4.000000000000001 -> 2.691358027469137 5897db96d56Sopenharmony_ciddrem1105 remainder 1234567890123456 4.000000000000001 -> 3.691358027469137 5907db96d56Sopenharmony_ciddrem1106 remainder 1234567890123456 4.9999999999999 -> 0.6913578024696 5917db96d56Sopenharmony_ciddrem1107 remainder 1234567890123456 4.99999999999999 -> 3.46913578024691 5927db96d56Sopenharmony_ciddrem1108 remainder 1234567890123456 4.999999999999999 -> 1.246913578024691 5937db96d56Sopenharmony_ciddrem1109 remainder 1234567890123456 5.000000000000001 -> 0.753086421975309 5947db96d56Sopenharmony_ciddrem1110 remainder 1234567890123456 5.00000000000001 -> 3.53086421975310 5957db96d56Sopenharmony_ciddrem1111 remainder 1234567890123456 5.0000000000001 -> 1.3086421975314 5967db96d56Sopenharmony_ci 5977db96d56Sopenharmony_ci-- Null tests 5987db96d56Sopenharmony_ciddrem1000 remainder 10 # -> NaN Invalid_operation 5997db96d56Sopenharmony_ciddrem1001 remainder # 10 -> NaN Invalid_operation 6007db96d56Sopenharmony_ci 601