17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- ddRotate.decTest -- rotate a decDouble coefficient left or right -- 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 check 307db96d56Sopenharmony_ciddrot001 rotate 0 0 -> 0 317db96d56Sopenharmony_ciddrot002 rotate 0 2 -> 0 327db96d56Sopenharmony_ciddrot003 rotate 1 2 -> 100 337db96d56Sopenharmony_ciddrot004 rotate 1 15 -> 1000000000000000 347db96d56Sopenharmony_ciddrot005 rotate 1 16 -> 1 357db96d56Sopenharmony_ciddrot006 rotate 1 -1 -> 1000000000000000 367db96d56Sopenharmony_ciddrot007 rotate 0 -2 -> 0 377db96d56Sopenharmony_ciddrot008 rotate 1234567890123456 -1 -> 6123456789012345 387db96d56Sopenharmony_ciddrot009 rotate 1234567890123456 -15 -> 2345678901234561 397db96d56Sopenharmony_ciddrot010 rotate 1234567890123456 -16 -> 1234567890123456 407db96d56Sopenharmony_ciddrot011 rotate 9934567890123456 -15 -> 9345678901234569 417db96d56Sopenharmony_ciddrot012 rotate 9934567890123456 -16 -> 9934567890123456 427db96d56Sopenharmony_ci 437db96d56Sopenharmony_ci-- rhs must be an integer 447db96d56Sopenharmony_ciddrot015 rotate 1 1.5 -> NaN Invalid_operation 457db96d56Sopenharmony_ciddrot016 rotate 1 1.0 -> NaN Invalid_operation 467db96d56Sopenharmony_ciddrot017 rotate 1 0.1 -> NaN Invalid_operation 477db96d56Sopenharmony_ciddrot018 rotate 1 0.0 -> NaN Invalid_operation 487db96d56Sopenharmony_ciddrot019 rotate 1 1E+1 -> NaN Invalid_operation 497db96d56Sopenharmony_ciddrot020 rotate 1 1E+99 -> NaN Invalid_operation 507db96d56Sopenharmony_ciddrot021 rotate 1 Inf -> NaN Invalid_operation 517db96d56Sopenharmony_ciddrot022 rotate 1 -Inf -> NaN Invalid_operation 527db96d56Sopenharmony_ci-- and |rhs| <= precision 537db96d56Sopenharmony_ciddrot025 rotate 1 -1000 -> NaN Invalid_operation 547db96d56Sopenharmony_ciddrot026 rotate 1 -17 -> NaN Invalid_operation 557db96d56Sopenharmony_ciddrot027 rotate 1 17 -> NaN Invalid_operation 567db96d56Sopenharmony_ciddrot028 rotate 1 1000 -> NaN Invalid_operation 577db96d56Sopenharmony_ci 587db96d56Sopenharmony_ci-- full pattern 597db96d56Sopenharmony_ciddrot030 rotate 1234567890123456 -16 -> 1234567890123456 607db96d56Sopenharmony_ciddrot031 rotate 1234567890123456 -15 -> 2345678901234561 617db96d56Sopenharmony_ciddrot032 rotate 1234567890123456 -14 -> 3456789012345612 627db96d56Sopenharmony_ciddrot033 rotate 1234567890123456 -13 -> 4567890123456123 637db96d56Sopenharmony_ciddrot034 rotate 1234567890123456 -12 -> 5678901234561234 647db96d56Sopenharmony_ciddrot035 rotate 1234567890123456 -11 -> 6789012345612345 657db96d56Sopenharmony_ciddrot036 rotate 1234567890123456 -10 -> 7890123456123456 667db96d56Sopenharmony_ciddrot037 rotate 1234567890123456 -9 -> 8901234561234567 677db96d56Sopenharmony_ciddrot038 rotate 1234567890123456 -8 -> 9012345612345678 687db96d56Sopenharmony_ciddrot039 rotate 1234567890123456 -7 -> 123456123456789 697db96d56Sopenharmony_ciddrot040 rotate 1234567890123456 -6 -> 1234561234567890 707db96d56Sopenharmony_ciddrot041 rotate 1234567890123456 -5 -> 2345612345678901 717db96d56Sopenharmony_ciddrot042 rotate 1234567890123456 -4 -> 3456123456789012 727db96d56Sopenharmony_ciddrot043 rotate 1234567890123456 -3 -> 4561234567890123 737db96d56Sopenharmony_ciddrot044 rotate 1234567890123456 -2 -> 5612345678901234 747db96d56Sopenharmony_ciddrot045 rotate 1234567890123456 -1 -> 6123456789012345 757db96d56Sopenharmony_ciddrot046 rotate 1234567890123456 -0 -> 1234567890123456 767db96d56Sopenharmony_ci 777db96d56Sopenharmony_ciddrot047 rotate 1234567890123456 +0 -> 1234567890123456 787db96d56Sopenharmony_ciddrot048 rotate 1234567890123456 +1 -> 2345678901234561 797db96d56Sopenharmony_ciddrot049 rotate 1234567890123456 +2 -> 3456789012345612 807db96d56Sopenharmony_ciddrot050 rotate 1234567890123456 +3 -> 4567890123456123 817db96d56Sopenharmony_ciddrot051 rotate 1234567890123456 +4 -> 5678901234561234 827db96d56Sopenharmony_ciddrot052 rotate 1234567890123456 +5 -> 6789012345612345 837db96d56Sopenharmony_ciddrot053 rotate 1234567890123456 +6 -> 7890123456123456 847db96d56Sopenharmony_ciddrot054 rotate 1234567890123456 +7 -> 8901234561234567 857db96d56Sopenharmony_ciddrot055 rotate 1234567890123456 +8 -> 9012345612345678 867db96d56Sopenharmony_ciddrot056 rotate 1234567890123456 +9 -> 123456123456789 877db96d56Sopenharmony_ciddrot057 rotate 1234567890123456 +10 -> 1234561234567890 887db96d56Sopenharmony_ciddrot058 rotate 1234567890123456 +11 -> 2345612345678901 897db96d56Sopenharmony_ciddrot059 rotate 1234567890123456 +12 -> 3456123456789012 907db96d56Sopenharmony_ciddrot060 rotate 1234567890123456 +13 -> 4561234567890123 917db96d56Sopenharmony_ciddrot061 rotate 1234567890123456 +14 -> 5612345678901234 927db96d56Sopenharmony_ciddrot062 rotate 1234567890123456 +15 -> 6123456789012345 937db96d56Sopenharmony_ciddrot063 rotate 1234567890123456 +16 -> 1234567890123456 947db96d56Sopenharmony_ci 957db96d56Sopenharmony_ci-- zeros 967db96d56Sopenharmony_ciddrot070 rotate 0E-10 +9 -> 0E-10 977db96d56Sopenharmony_ciddrot071 rotate 0E-10 -9 -> 0E-10 987db96d56Sopenharmony_ciddrot072 rotate 0.000 +9 -> 0.000 997db96d56Sopenharmony_ciddrot073 rotate 0.000 -9 -> 0.000 1007db96d56Sopenharmony_ciddrot074 rotate 0E+10 +9 -> 0E+10 1017db96d56Sopenharmony_ciddrot075 rotate 0E+10 -9 -> 0E+10 1027db96d56Sopenharmony_ciddrot076 rotate -0E-10 +9 -> -0E-10 1037db96d56Sopenharmony_ciddrot077 rotate -0E-10 -9 -> -0E-10 1047db96d56Sopenharmony_ciddrot078 rotate -0.000 +9 -> -0.000 1057db96d56Sopenharmony_ciddrot079 rotate -0.000 -9 -> -0.000 1067db96d56Sopenharmony_ciddrot080 rotate -0E+10 +9 -> -0E+10 1077db96d56Sopenharmony_ciddrot081 rotate -0E+10 -9 -> -0E+10 1087db96d56Sopenharmony_ci 1097db96d56Sopenharmony_ci-- Nmax, Nmin, Ntiny 1107db96d56Sopenharmony_ciddrot141 rotate 9.999999999999999E+384 -1 -> 9.999999999999999E+384 1117db96d56Sopenharmony_ciddrot142 rotate 9.999999999999999E+384 -15 -> 9.999999999999999E+384 1127db96d56Sopenharmony_ciddrot143 rotate 9.999999999999999E+384 1 -> 9.999999999999999E+384 1137db96d56Sopenharmony_ciddrot144 rotate 9.999999999999999E+384 15 -> 9.999999999999999E+384 1147db96d56Sopenharmony_ciddrot145 rotate 1E-383 -1 -> 1.000000000000000E-368 1157db96d56Sopenharmony_ciddrot146 rotate 1E-383 -15 -> 1.0E-382 1167db96d56Sopenharmony_ciddrot147 rotate 1E-383 1 -> 1.0E-382 1177db96d56Sopenharmony_ciddrot148 rotate 1E-383 15 -> 1.000000000000000E-368 1187db96d56Sopenharmony_ciddrot151 rotate 1.000000000000000E-383 -1 -> 1.00000000000000E-384 1197db96d56Sopenharmony_ciddrot152 rotate 1.000000000000000E-383 -15 -> 1E-398 1207db96d56Sopenharmony_ciddrot153 rotate 1.000000000000000E-383 1 -> 1E-398 1217db96d56Sopenharmony_ciddrot154 rotate 1.000000000000000E-383 15 -> 1.00000000000000E-384 1227db96d56Sopenharmony_ciddrot155 rotate 9.000000000000000E-383 -1 -> 9.00000000000000E-384 1237db96d56Sopenharmony_ciddrot156 rotate 9.000000000000000E-383 -15 -> 9E-398 1247db96d56Sopenharmony_ciddrot157 rotate 9.000000000000000E-383 1 -> 9E-398 1257db96d56Sopenharmony_ciddrot158 rotate 9.000000000000000E-383 15 -> 9.00000000000000E-384 1267db96d56Sopenharmony_ciddrot160 rotate 1E-398 -1 -> 1.000000000000000E-383 1277db96d56Sopenharmony_ciddrot161 rotate 1E-398 -15 -> 1.0E-397 1287db96d56Sopenharmony_ciddrot162 rotate 1E-398 1 -> 1.0E-397 1297db96d56Sopenharmony_ciddrot163 rotate 1E-398 15 -> 1.000000000000000E-383 1307db96d56Sopenharmony_ci-- negatives 1317db96d56Sopenharmony_ciddrot171 rotate -9.999999999999999E+384 -1 -> -9.999999999999999E+384 1327db96d56Sopenharmony_ciddrot172 rotate -9.999999999999999E+384 -15 -> -9.999999999999999E+384 1337db96d56Sopenharmony_ciddrot173 rotate -9.999999999999999E+384 1 -> -9.999999999999999E+384 1347db96d56Sopenharmony_ciddrot174 rotate -9.999999999999999E+384 15 -> -9.999999999999999E+384 1357db96d56Sopenharmony_ciddrot175 rotate -1E-383 -1 -> -1.000000000000000E-368 1367db96d56Sopenharmony_ciddrot176 rotate -1E-383 -15 -> -1.0E-382 1377db96d56Sopenharmony_ciddrot177 rotate -1E-383 1 -> -1.0E-382 1387db96d56Sopenharmony_ciddrot178 rotate -1E-383 15 -> -1.000000000000000E-368 1397db96d56Sopenharmony_ciddrot181 rotate -1.000000000000000E-383 -1 -> -1.00000000000000E-384 1407db96d56Sopenharmony_ciddrot182 rotate -1.000000000000000E-383 -15 -> -1E-398 1417db96d56Sopenharmony_ciddrot183 rotate -1.000000000000000E-383 1 -> -1E-398 1427db96d56Sopenharmony_ciddrot184 rotate -1.000000000000000E-383 15 -> -1.00000000000000E-384 1437db96d56Sopenharmony_ciddrot185 rotate -9.000000000000000E-383 -1 -> -9.00000000000000E-384 1447db96d56Sopenharmony_ciddrot186 rotate -9.000000000000000E-383 -15 -> -9E-398 1457db96d56Sopenharmony_ciddrot187 rotate -9.000000000000000E-383 1 -> -9E-398 1467db96d56Sopenharmony_ciddrot188 rotate -9.000000000000000E-383 15 -> -9.00000000000000E-384 1477db96d56Sopenharmony_ciddrot190 rotate -1E-398 -1 -> -1.000000000000000E-383 1487db96d56Sopenharmony_ciddrot191 rotate -1E-398 -15 -> -1.0E-397 1497db96d56Sopenharmony_ciddrot192 rotate -1E-398 1 -> -1.0E-397 1507db96d56Sopenharmony_ciddrot193 rotate -1E-398 15 -> -1.000000000000000E-383 1517db96d56Sopenharmony_ci 1527db96d56Sopenharmony_ci-- more negatives (of sanities) 1537db96d56Sopenharmony_ciddrot201 rotate -0 0 -> -0 1547db96d56Sopenharmony_ciddrot202 rotate -0 2 -> -0 1557db96d56Sopenharmony_ciddrot203 rotate -1 2 -> -100 1567db96d56Sopenharmony_ciddrot204 rotate -1 15 -> -1000000000000000 1577db96d56Sopenharmony_ciddrot205 rotate -1 16 -> -1 1587db96d56Sopenharmony_ciddrot206 rotate -1 -1 -> -1000000000000000 1597db96d56Sopenharmony_ciddrot207 rotate -0 -2 -> -0 1607db96d56Sopenharmony_ciddrot208 rotate -1234567890123456 -1 -> -6123456789012345 1617db96d56Sopenharmony_ciddrot209 rotate -1234567890123456 -15 -> -2345678901234561 1627db96d56Sopenharmony_ciddrot210 rotate -1234567890123456 -16 -> -1234567890123456 1637db96d56Sopenharmony_ciddrot211 rotate -9934567890123456 -15 -> -9345678901234569 1647db96d56Sopenharmony_ciddrot212 rotate -9934567890123456 -16 -> -9934567890123456 1657db96d56Sopenharmony_ci 1667db96d56Sopenharmony_ci 1677db96d56Sopenharmony_ci-- Specials; NaNs are handled as usual 1687db96d56Sopenharmony_ciddrot781 rotate -Inf -8 -> -Infinity 1697db96d56Sopenharmony_ciddrot782 rotate -Inf -1 -> -Infinity 1707db96d56Sopenharmony_ciddrot783 rotate -Inf -0 -> -Infinity 1717db96d56Sopenharmony_ciddrot784 rotate -Inf 0 -> -Infinity 1727db96d56Sopenharmony_ciddrot785 rotate -Inf 1 -> -Infinity 1737db96d56Sopenharmony_ciddrot786 rotate -Inf 8 -> -Infinity 1747db96d56Sopenharmony_ciddrot787 rotate -1000 -Inf -> NaN Invalid_operation 1757db96d56Sopenharmony_ciddrot788 rotate -Inf -Inf -> NaN Invalid_operation 1767db96d56Sopenharmony_ciddrot789 rotate -1 -Inf -> NaN Invalid_operation 1777db96d56Sopenharmony_ciddrot790 rotate -0 -Inf -> NaN Invalid_operation 1787db96d56Sopenharmony_ciddrot791 rotate 0 -Inf -> NaN Invalid_operation 1797db96d56Sopenharmony_ciddrot792 rotate 1 -Inf -> NaN Invalid_operation 1807db96d56Sopenharmony_ciddrot793 rotate 1000 -Inf -> NaN Invalid_operation 1817db96d56Sopenharmony_ciddrot794 rotate Inf -Inf -> NaN Invalid_operation 1827db96d56Sopenharmony_ci 1837db96d56Sopenharmony_ciddrot800 rotate Inf -Inf -> NaN Invalid_operation 1847db96d56Sopenharmony_ciddrot801 rotate Inf -8 -> Infinity 1857db96d56Sopenharmony_ciddrot802 rotate Inf -1 -> Infinity 1867db96d56Sopenharmony_ciddrot803 rotate Inf -0 -> Infinity 1877db96d56Sopenharmony_ciddrot804 rotate Inf 0 -> Infinity 1887db96d56Sopenharmony_ciddrot805 rotate Inf 1 -> Infinity 1897db96d56Sopenharmony_ciddrot806 rotate Inf 8 -> Infinity 1907db96d56Sopenharmony_ciddrot807 rotate Inf Inf -> NaN Invalid_operation 1917db96d56Sopenharmony_ciddrot808 rotate -1000 Inf -> NaN Invalid_operation 1927db96d56Sopenharmony_ciddrot809 rotate -Inf Inf -> NaN Invalid_operation 1937db96d56Sopenharmony_ciddrot810 rotate -1 Inf -> NaN Invalid_operation 1947db96d56Sopenharmony_ciddrot811 rotate -0 Inf -> NaN Invalid_operation 1957db96d56Sopenharmony_ciddrot812 rotate 0 Inf -> NaN Invalid_operation 1967db96d56Sopenharmony_ciddrot813 rotate 1 Inf -> NaN Invalid_operation 1977db96d56Sopenharmony_ciddrot814 rotate 1000 Inf -> NaN Invalid_operation 1987db96d56Sopenharmony_ciddrot815 rotate Inf Inf -> NaN Invalid_operation 1997db96d56Sopenharmony_ci 2007db96d56Sopenharmony_ciddrot821 rotate NaN -Inf -> NaN 2017db96d56Sopenharmony_ciddrot822 rotate NaN -1000 -> NaN 2027db96d56Sopenharmony_ciddrot823 rotate NaN -1 -> NaN 2037db96d56Sopenharmony_ciddrot824 rotate NaN -0 -> NaN 2047db96d56Sopenharmony_ciddrot825 rotate NaN 0 -> NaN 2057db96d56Sopenharmony_ciddrot826 rotate NaN 1 -> NaN 2067db96d56Sopenharmony_ciddrot827 rotate NaN 1000 -> NaN 2077db96d56Sopenharmony_ciddrot828 rotate NaN Inf -> NaN 2087db96d56Sopenharmony_ciddrot829 rotate NaN NaN -> NaN 2097db96d56Sopenharmony_ciddrot830 rotate -Inf NaN -> NaN 2107db96d56Sopenharmony_ciddrot831 rotate -1000 NaN -> NaN 2117db96d56Sopenharmony_ciddrot832 rotate -1 NaN -> NaN 2127db96d56Sopenharmony_ciddrot833 rotate -0 NaN -> NaN 2137db96d56Sopenharmony_ciddrot834 rotate 0 NaN -> NaN 2147db96d56Sopenharmony_ciddrot835 rotate 1 NaN -> NaN 2157db96d56Sopenharmony_ciddrot836 rotate 1000 NaN -> NaN 2167db96d56Sopenharmony_ciddrot837 rotate Inf NaN -> NaN 2177db96d56Sopenharmony_ci 2187db96d56Sopenharmony_ciddrot841 rotate sNaN -Inf -> NaN Invalid_operation 2197db96d56Sopenharmony_ciddrot842 rotate sNaN -1000 -> NaN Invalid_operation 2207db96d56Sopenharmony_ciddrot843 rotate sNaN -1 -> NaN Invalid_operation 2217db96d56Sopenharmony_ciddrot844 rotate sNaN -0 -> NaN Invalid_operation 2227db96d56Sopenharmony_ciddrot845 rotate sNaN 0 -> NaN Invalid_operation 2237db96d56Sopenharmony_ciddrot846 rotate sNaN 1 -> NaN Invalid_operation 2247db96d56Sopenharmony_ciddrot847 rotate sNaN 1000 -> NaN Invalid_operation 2257db96d56Sopenharmony_ciddrot848 rotate sNaN NaN -> NaN Invalid_operation 2267db96d56Sopenharmony_ciddrot849 rotate sNaN sNaN -> NaN Invalid_operation 2277db96d56Sopenharmony_ciddrot850 rotate NaN sNaN -> NaN Invalid_operation 2287db96d56Sopenharmony_ciddrot851 rotate -Inf sNaN -> NaN Invalid_operation 2297db96d56Sopenharmony_ciddrot852 rotate -1000 sNaN -> NaN Invalid_operation 2307db96d56Sopenharmony_ciddrot853 rotate -1 sNaN -> NaN Invalid_operation 2317db96d56Sopenharmony_ciddrot854 rotate -0 sNaN -> NaN Invalid_operation 2327db96d56Sopenharmony_ciddrot855 rotate 0 sNaN -> NaN Invalid_operation 2337db96d56Sopenharmony_ciddrot856 rotate 1 sNaN -> NaN Invalid_operation 2347db96d56Sopenharmony_ciddrot857 rotate 1000 sNaN -> NaN Invalid_operation 2357db96d56Sopenharmony_ciddrot858 rotate Inf sNaN -> NaN Invalid_operation 2367db96d56Sopenharmony_ciddrot859 rotate NaN sNaN -> NaN Invalid_operation 2377db96d56Sopenharmony_ci 2387db96d56Sopenharmony_ci-- propagating NaNs 2397db96d56Sopenharmony_ciddrot861 rotate NaN1 -Inf -> NaN1 2407db96d56Sopenharmony_ciddrot862 rotate +NaN2 -1000 -> NaN2 2417db96d56Sopenharmony_ciddrot863 rotate NaN3 1000 -> NaN3 2427db96d56Sopenharmony_ciddrot864 rotate NaN4 Inf -> NaN4 2437db96d56Sopenharmony_ciddrot865 rotate NaN5 +NaN6 -> NaN5 2447db96d56Sopenharmony_ciddrot866 rotate -Inf NaN7 -> NaN7 2457db96d56Sopenharmony_ciddrot867 rotate -1000 NaN8 -> NaN8 2467db96d56Sopenharmony_ciddrot868 rotate 1000 NaN9 -> NaN9 2477db96d56Sopenharmony_ciddrot869 rotate Inf +NaN10 -> NaN10 2487db96d56Sopenharmony_ciddrot871 rotate sNaN11 -Inf -> NaN11 Invalid_operation 2497db96d56Sopenharmony_ciddrot872 rotate sNaN12 -1000 -> NaN12 Invalid_operation 2507db96d56Sopenharmony_ciddrot873 rotate sNaN13 1000 -> NaN13 Invalid_operation 2517db96d56Sopenharmony_ciddrot874 rotate sNaN14 NaN17 -> NaN14 Invalid_operation 2527db96d56Sopenharmony_ciddrot875 rotate sNaN15 sNaN18 -> NaN15 Invalid_operation 2537db96d56Sopenharmony_ciddrot876 rotate NaN16 sNaN19 -> NaN19 Invalid_operation 2547db96d56Sopenharmony_ciddrot877 rotate -Inf +sNaN20 -> NaN20 Invalid_operation 2557db96d56Sopenharmony_ciddrot878 rotate -1000 sNaN21 -> NaN21 Invalid_operation 2567db96d56Sopenharmony_ciddrot879 rotate 1000 sNaN22 -> NaN22 Invalid_operation 2577db96d56Sopenharmony_ciddrot880 rotate Inf sNaN23 -> NaN23 Invalid_operation 2587db96d56Sopenharmony_ciddrot881 rotate +NaN25 +sNaN24 -> NaN24 Invalid_operation 2597db96d56Sopenharmony_ciddrot882 rotate -NaN26 NaN28 -> -NaN26 2607db96d56Sopenharmony_ciddrot883 rotate -sNaN27 sNaN29 -> -NaN27 Invalid_operation 2617db96d56Sopenharmony_ciddrot884 rotate 1000 -NaN30 -> -NaN30 2627db96d56Sopenharmony_ciddrot885 rotate 1000 -sNaN31 -> -NaN31 Invalid_operation 263