17db96d56Sopenharmony_ci------------------------------------------------------------------------
27db96d56Sopenharmony_ci-- dqRotate.decTest -- rotate decQuad 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_ciextended:    1
237db96d56Sopenharmony_ciclamp:       1
247db96d56Sopenharmony_ciprecision:   34
257db96d56Sopenharmony_cimaxExponent: 6144
267db96d56Sopenharmony_ciminExponent: -6143
277db96d56Sopenharmony_cirounding:    half_even
287db96d56Sopenharmony_ci
297db96d56Sopenharmony_ci-- Sanity check
307db96d56Sopenharmony_cidqrot001 rotate                                   0    0  ->  0
317db96d56Sopenharmony_cidqrot002 rotate                                   0    2  ->  0
327db96d56Sopenharmony_cidqrot003 rotate                                   1    2  ->  100
337db96d56Sopenharmony_cidqrot004 rotate                                   1   33  ->  1000000000000000000000000000000000
347db96d56Sopenharmony_cidqrot005 rotate                                   1   34  ->  1
357db96d56Sopenharmony_cidqrot006 rotate                                   1   -1  ->  1000000000000000000000000000000000
367db96d56Sopenharmony_cidqrot007 rotate                                   0   -2  ->  0
377db96d56Sopenharmony_cidqrot008 rotate  1234567890123456789012345678901234   -1  ->  4123456789012345678901234567890123
387db96d56Sopenharmony_cidqrot009 rotate  1234567890123456789012345678901234   -33 ->  2345678901234567890123456789012341
397db96d56Sopenharmony_cidqrot010 rotate  1234567890123456789012345678901234   -34 ->  1234567890123456789012345678901234
407db96d56Sopenharmony_cidqrot011 rotate  9934567890123456789012345678901234   -33 ->  9345678901234567890123456789012349
417db96d56Sopenharmony_cidqrot012 rotate  9934567890123456789012345678901234   -34 ->  9934567890123456789012345678901234
427db96d56Sopenharmony_ci
437db96d56Sopenharmony_ci-- rhs must be an integer
447db96d56Sopenharmony_cidqrot015 rotate        1    1.5    -> NaN Invalid_operation
457db96d56Sopenharmony_cidqrot016 rotate        1    1.0    -> NaN Invalid_operation
467db96d56Sopenharmony_cidqrot017 rotate        1    0.1    -> NaN Invalid_operation
477db96d56Sopenharmony_cidqrot018 rotate        1    0.0    -> NaN Invalid_operation
487db96d56Sopenharmony_cidqrot019 rotate        1    1E+1   -> NaN Invalid_operation
497db96d56Sopenharmony_cidqrot020 rotate        1    1E+99  -> NaN Invalid_operation
507db96d56Sopenharmony_cidqrot021 rotate        1    Inf    -> NaN Invalid_operation
517db96d56Sopenharmony_cidqrot022 rotate        1    -Inf   -> NaN Invalid_operation
527db96d56Sopenharmony_ci-- and |rhs| <= precision
537db96d56Sopenharmony_cidqrot025 rotate        1    -1000  -> NaN Invalid_operation
547db96d56Sopenharmony_cidqrot026 rotate        1    -35    -> NaN Invalid_operation
557db96d56Sopenharmony_cidqrot027 rotate        1     35    -> NaN Invalid_operation
567db96d56Sopenharmony_cidqrot028 rotate        1     1000  -> NaN Invalid_operation
577db96d56Sopenharmony_ci
587db96d56Sopenharmony_ci-- full pattern
597db96d56Sopenharmony_cidqrot030 rotate  1234567890123456789012345678901234         -34  -> 1234567890123456789012345678901234
607db96d56Sopenharmony_cidqrot031 rotate  1234567890123456789012345678901234         -33  -> 2345678901234567890123456789012341
617db96d56Sopenharmony_cidqrot032 rotate  1234567890123456789012345678901234         -32  -> 3456789012345678901234567890123412
627db96d56Sopenharmony_cidqrot033 rotate  1234567890123456789012345678901234         -31  -> 4567890123456789012345678901234123
637db96d56Sopenharmony_cidqrot034 rotate  1234567890123456789012345678901234         -30  -> 5678901234567890123456789012341234
647db96d56Sopenharmony_cidqrot035 rotate  1234567890123456789012345678901234         -29  -> 6789012345678901234567890123412345
657db96d56Sopenharmony_cidqrot036 rotate  1234567890123456789012345678901234         -28  -> 7890123456789012345678901234123456
667db96d56Sopenharmony_cidqrot037 rotate  1234567890123456789012345678901234         -27  -> 8901234567890123456789012341234567
677db96d56Sopenharmony_cidqrot038 rotate  1234567890123456789012345678901234         -26  -> 9012345678901234567890123412345678
687db96d56Sopenharmony_cidqrot039 rotate  1234567890123456789012345678901234         -25  ->  123456789012345678901234123456789
697db96d56Sopenharmony_cidqrot040 rotate  1234567890123456789012345678901234         -24  -> 1234567890123456789012341234567890
707db96d56Sopenharmony_cidqrot041 rotate  1234567890123456789012345678901234         -23  -> 2345678901234567890123412345678901
717db96d56Sopenharmony_cidqrot042 rotate  1234567890123456789012345678901234         -22  -> 3456789012345678901234123456789012
727db96d56Sopenharmony_cidqrot043 rotate  1234567890123456789012345678901234         -21  -> 4567890123456789012341234567890123
737db96d56Sopenharmony_cidqrot044 rotate  1234567890123456789012345678901234         -20  -> 5678901234567890123412345678901234
747db96d56Sopenharmony_cidqrot045 rotate  1234567890123456789012345678901234         -19  -> 6789012345678901234123456789012345
757db96d56Sopenharmony_cidqrot047 rotate  1234567890123456789012345678901234         -18  -> 7890123456789012341234567890123456
767db96d56Sopenharmony_cidqrot048 rotate  1234567890123456789012345678901234         -17  -> 8901234567890123412345678901234567
777db96d56Sopenharmony_cidqrot049 rotate  1234567890123456789012345678901234         -16  -> 9012345678901234123456789012345678
787db96d56Sopenharmony_cidqrot050 rotate  1234567890123456789012345678901234         -15  ->  123456789012341234567890123456789
797db96d56Sopenharmony_cidqrot051 rotate  1234567890123456789012345678901234         -14  -> 1234567890123412345678901234567890
807db96d56Sopenharmony_cidqrot052 rotate  1234567890123456789012345678901234         -13  -> 2345678901234123456789012345678901
817db96d56Sopenharmony_cidqrot053 rotate  1234567890123456789012345678901234         -12  -> 3456789012341234567890123456789012
827db96d56Sopenharmony_cidqrot054 rotate  1234567890123456789012345678901234         -11  -> 4567890123412345678901234567890123
837db96d56Sopenharmony_cidqrot055 rotate  1234567890123456789012345678901234         -10  -> 5678901234123456789012345678901234
847db96d56Sopenharmony_cidqrot056 rotate  1234567890123456789012345678901234         -9   -> 6789012341234567890123456789012345
857db96d56Sopenharmony_cidqrot057 rotate  1234567890123456789012345678901234         -8   -> 7890123412345678901234567890123456
867db96d56Sopenharmony_cidqrot058 rotate  1234567890123456789012345678901234         -7   -> 8901234123456789012345678901234567
877db96d56Sopenharmony_cidqrot059 rotate  1234567890123456789012345678901234         -6   -> 9012341234567890123456789012345678
887db96d56Sopenharmony_cidqrot060 rotate  1234567890123456789012345678901234         -5   ->  123412345678901234567890123456789
897db96d56Sopenharmony_cidqrot061 rotate  1234567890123456789012345678901234         -4   -> 1234123456789012345678901234567890
907db96d56Sopenharmony_cidqrot062 rotate  1234567890123456789012345678901234         -3   -> 2341234567890123456789012345678901
917db96d56Sopenharmony_cidqrot063 rotate  1234567890123456789012345678901234         -2   -> 3412345678901234567890123456789012
927db96d56Sopenharmony_cidqrot064 rotate  1234567890123456789012345678901234         -1   -> 4123456789012345678901234567890123
937db96d56Sopenharmony_cidqrot065 rotate  1234567890123456789012345678901234         -0   -> 1234567890123456789012345678901234
947db96d56Sopenharmony_ci
957db96d56Sopenharmony_cidqrot066 rotate  1234567890123456789012345678901234         +0   -> 1234567890123456789012345678901234
967db96d56Sopenharmony_cidqrot067 rotate  1234567890123456789012345678901234         +1   -> 2345678901234567890123456789012341
977db96d56Sopenharmony_cidqrot068 rotate  1234567890123456789012345678901234         +2   -> 3456789012345678901234567890123412
987db96d56Sopenharmony_cidqrot069 rotate  1234567890123456789012345678901234         +3   -> 4567890123456789012345678901234123
997db96d56Sopenharmony_cidqrot070 rotate  1234567890123456789012345678901234         +4   -> 5678901234567890123456789012341234
1007db96d56Sopenharmony_cidqrot071 rotate  1234567890123456789012345678901234         +5   -> 6789012345678901234567890123412345
1017db96d56Sopenharmony_cidqrot072 rotate  1234567890123456789012345678901234         +6   -> 7890123456789012345678901234123456
1027db96d56Sopenharmony_cidqrot073 rotate  1234567890123456789012345678901234         +7   -> 8901234567890123456789012341234567
1037db96d56Sopenharmony_cidqrot074 rotate  1234567890123456789012345678901234         +8   -> 9012345678901234567890123412345678
1047db96d56Sopenharmony_cidqrot075 rotate  1234567890123456789012345678901234         +9   ->  123456789012345678901234123456789
1057db96d56Sopenharmony_cidqrot076 rotate  1234567890123456789012345678901234         +10  -> 1234567890123456789012341234567890
1067db96d56Sopenharmony_cidqrot077 rotate  1234567890123456789012345678901234         +11  -> 2345678901234567890123412345678901
1077db96d56Sopenharmony_cidqrot078 rotate  1234567890123456789012345678901234         +12  -> 3456789012345678901234123456789012
1087db96d56Sopenharmony_cidqrot079 rotate  1234567890123456789012345678901234         +13  -> 4567890123456789012341234567890123
1097db96d56Sopenharmony_cidqrot080 rotate  1234567890123456789012345678901234         +14  -> 5678901234567890123412345678901234
1107db96d56Sopenharmony_cidqrot081 rotate  1234567890123456789012345678901234         +15  -> 6789012345678901234123456789012345
1117db96d56Sopenharmony_cidqrot082 rotate  1234567890123456789012345678901234         +16  -> 7890123456789012341234567890123456
1127db96d56Sopenharmony_cidqrot083 rotate  1234567890123456789012345678901234         +17  -> 8901234567890123412345678901234567
1137db96d56Sopenharmony_cidqrot084 rotate  1234567890123456789012345678901234         +18  -> 9012345678901234123456789012345678
1147db96d56Sopenharmony_cidqrot085 rotate  1234567890123456789012345678901234         +19  ->  123456789012341234567890123456789
1157db96d56Sopenharmony_cidqrot086 rotate  1234567890123456789012345678901234         +20  -> 1234567890123412345678901234567890
1167db96d56Sopenharmony_cidqrot087 rotate  1234567890123456789012345678901234         +21  -> 2345678901234123456789012345678901
1177db96d56Sopenharmony_cidqrot088 rotate  1234567890123456789012345678901234         +22  -> 3456789012341234567890123456789012
1187db96d56Sopenharmony_cidqrot089 rotate  1234567890123456789012345678901234         +23  -> 4567890123412345678901234567890123
1197db96d56Sopenharmony_cidqrot090 rotate  1234567890123456789012345678901234         +24  -> 5678901234123456789012345678901234
1207db96d56Sopenharmony_cidqrot091 rotate  1234567890123456789012345678901234         +25  -> 6789012341234567890123456789012345
1217db96d56Sopenharmony_cidqrot092 rotate  1234567890123456789012345678901234         +26  -> 7890123412345678901234567890123456
1227db96d56Sopenharmony_cidqrot093 rotate  1234567890123456789012345678901234         +27  -> 8901234123456789012345678901234567
1237db96d56Sopenharmony_cidqrot094 rotate  1234567890123456789012345678901234         +28  -> 9012341234567890123456789012345678
1247db96d56Sopenharmony_cidqrot095 rotate  1234567890123456789012345678901234         +29  ->  123412345678901234567890123456789
1257db96d56Sopenharmony_cidqrot096 rotate  1234567890123456789012345678901234         +30  -> 1234123456789012345678901234567890
1267db96d56Sopenharmony_cidqrot097 rotate  1234567890123456789012345678901234         +31  -> 2341234567890123456789012345678901
1277db96d56Sopenharmony_cidqrot098 rotate  1234567890123456789012345678901234         +32  -> 3412345678901234567890123456789012
1287db96d56Sopenharmony_cidqrot099 rotate  1234567890123456789012345678901234         +33  -> 4123456789012345678901234567890123
1297db96d56Sopenharmony_cidqrot100 rotate  1234567890123456789012345678901234         +34  -> 1234567890123456789012345678901234
1307db96d56Sopenharmony_ci
1317db96d56Sopenharmony_ci-- zeros
1327db96d56Sopenharmony_cidqrot270 rotate  0E-10              +29   ->   0E-10
1337db96d56Sopenharmony_cidqrot271 rotate  0E-10              -29   ->   0E-10
1347db96d56Sopenharmony_cidqrot272 rotate  0.000              +29   ->   0.000
1357db96d56Sopenharmony_cidqrot273 rotate  0.000              -29   ->   0.000
1367db96d56Sopenharmony_cidqrot274 rotate  0E+10              +29   ->   0E+10
1377db96d56Sopenharmony_cidqrot275 rotate  0E+10              -29   ->   0E+10
1387db96d56Sopenharmony_cidqrot276 rotate -0E-10              +29   ->  -0E-10
1397db96d56Sopenharmony_cidqrot277 rotate -0E-10              -29   ->  -0E-10
1407db96d56Sopenharmony_cidqrot278 rotate -0.000              +29   ->  -0.000
1417db96d56Sopenharmony_cidqrot279 rotate -0.000              -29   ->  -0.000
1427db96d56Sopenharmony_cidqrot280 rotate -0E+10              +29   ->  -0E+10
1437db96d56Sopenharmony_cidqrot281 rotate -0E+10              -29   ->  -0E+10
1447db96d56Sopenharmony_ci
1457db96d56Sopenharmony_ci-- Nmax, Nmin, Ntiny
1467db96d56Sopenharmony_cidqrot141 rotate  9.999999999999999999999999999999999E+6144     -1  -> 9.999999999999999999999999999999999E+6144
1477db96d56Sopenharmony_cidqrot142 rotate  9.999999999999999999999999999999999E+6144     -33 -> 9.999999999999999999999999999999999E+6144
1487db96d56Sopenharmony_cidqrot143 rotate  9.999999999999999999999999999999999E+6144      1  -> 9.999999999999999999999999999999999E+6144
1497db96d56Sopenharmony_cidqrot144 rotate  9.999999999999999999999999999999999E+6144      33 -> 9.999999999999999999999999999999999E+6144
1507db96d56Sopenharmony_cidqrot145 rotate  1E-6143                                       -1  -> 1.000000000000000000000000000000000E-6110
1517db96d56Sopenharmony_cidqrot146 rotate  1E-6143                                       -33 -> 1.0E-6142
1527db96d56Sopenharmony_cidqrot147 rotate  1E-6143                                        1  -> 1.0E-6142
1537db96d56Sopenharmony_cidqrot148 rotate  1E-6143                                        33 -> 1.000000000000000000000000000000000E-6110
1547db96d56Sopenharmony_cidqrot151 rotate  1.000000000000000000000000000000000E-6143     -1  -> 1.00000000000000000000000000000000E-6144
1557db96d56Sopenharmony_cidqrot152 rotate  1.000000000000000000000000000000000E-6143     -33 -> 1E-6176
1567db96d56Sopenharmony_cidqrot153 rotate  1.000000000000000000000000000000000E-6143      1  -> 1E-6176
1577db96d56Sopenharmony_cidqrot154 rotate  1.000000000000000000000000000000000E-6143      33 -> 1.00000000000000000000000000000000E-6144
1587db96d56Sopenharmony_cidqrot155 rotate  9.000000000000000000000000000000000E-6143     -1  -> 9.00000000000000000000000000000000E-6144
1597db96d56Sopenharmony_cidqrot156 rotate  9.000000000000000000000000000000000E-6143     -33 -> 9E-6176
1607db96d56Sopenharmony_cidqrot157 rotate  9.000000000000000000000000000000000E-6143      1  -> 9E-6176
1617db96d56Sopenharmony_cidqrot158 rotate  9.000000000000000000000000000000000E-6143      33 -> 9.00000000000000000000000000000000E-6144
1627db96d56Sopenharmony_cidqrot160 rotate  1E-6176                                       -1  -> 1.000000000000000000000000000000000E-6143
1637db96d56Sopenharmony_cidqrot161 rotate  1E-6176                                       -33 -> 1.0E-6175
1647db96d56Sopenharmony_cidqrot162 rotate  1E-6176                                        1  -> 1.0E-6175
1657db96d56Sopenharmony_cidqrot163 rotate  1E-6176                                        33 -> 1.000000000000000000000000000000000E-6143
1667db96d56Sopenharmony_ci--  negatives
1677db96d56Sopenharmony_cidqrot171 rotate -9.999999999999999999999999999999999E+6144     -1  -> -9.999999999999999999999999999999999E+6144
1687db96d56Sopenharmony_cidqrot172 rotate -9.999999999999999999999999999999999E+6144     -33 -> -9.999999999999999999999999999999999E+6144
1697db96d56Sopenharmony_cidqrot173 rotate -9.999999999999999999999999999999999E+6144      1  -> -9.999999999999999999999999999999999E+6144
1707db96d56Sopenharmony_cidqrot174 rotate -9.999999999999999999999999999999999E+6144      33 -> -9.999999999999999999999999999999999E+6144
1717db96d56Sopenharmony_cidqrot175 rotate -1E-6143                                       -1  -> -1.000000000000000000000000000000000E-6110
1727db96d56Sopenharmony_cidqrot176 rotate -1E-6143                                       -33 -> -1.0E-6142
1737db96d56Sopenharmony_cidqrot177 rotate -1E-6143                                        1  -> -1.0E-6142
1747db96d56Sopenharmony_cidqrot178 rotate -1E-6143                                        33 -> -1.000000000000000000000000000000000E-6110
1757db96d56Sopenharmony_cidqrot181 rotate -1.000000000000000000000000000000000E-6143     -1  -> -1.00000000000000000000000000000000E-6144
1767db96d56Sopenharmony_cidqrot182 rotate -1.000000000000000000000000000000000E-6143     -33 -> -1E-6176
1777db96d56Sopenharmony_cidqrot183 rotate -1.000000000000000000000000000000000E-6143      1  -> -1E-6176
1787db96d56Sopenharmony_cidqrot184 rotate -1.000000000000000000000000000000000E-6143      33 -> -1.00000000000000000000000000000000E-6144
1797db96d56Sopenharmony_cidqrot185 rotate -9.000000000000000000000000000000000E-6143     -1  -> -9.00000000000000000000000000000000E-6144
1807db96d56Sopenharmony_cidqrot186 rotate -9.000000000000000000000000000000000E-6143     -33 -> -9E-6176
1817db96d56Sopenharmony_cidqrot187 rotate -9.000000000000000000000000000000000E-6143      1  -> -9E-6176
1827db96d56Sopenharmony_cidqrot188 rotate -9.000000000000000000000000000000000E-6143      33 -> -9.00000000000000000000000000000000E-6144
1837db96d56Sopenharmony_cidqrot190 rotate -1E-6176                                       -1  -> -1.000000000000000000000000000000000E-6143
1847db96d56Sopenharmony_cidqrot191 rotate -1E-6176                                       -33 -> -1.0E-6175
1857db96d56Sopenharmony_cidqrot192 rotate -1E-6176                                        1  -> -1.0E-6175
1867db96d56Sopenharmony_cidqrot193 rotate -1E-6176                                        33 -> -1.000000000000000000000000000000000E-6143
1877db96d56Sopenharmony_ci
1887db96d56Sopenharmony_ci-- more negatives (of sanities)
1897db96d56Sopenharmony_cidqrot201 rotate                                  -0    0  -> -0
1907db96d56Sopenharmony_cidqrot202 rotate                                  -0    2  -> -0
1917db96d56Sopenharmony_cidqrot203 rotate                                  -1    2  -> -100
1927db96d56Sopenharmony_cidqrot204 rotate                                  -1   33  -> -1000000000000000000000000000000000
1937db96d56Sopenharmony_cidqrot205 rotate                                  -1   34  -> -1
1947db96d56Sopenharmony_cidqrot206 rotate                                  -1   -1  -> -1000000000000000000000000000000000
1957db96d56Sopenharmony_cidqrot207 rotate                                  -0   -2  -> -0
1967db96d56Sopenharmony_cidqrot208 rotate -1234567890123456789012345678901234   -1  -> -4123456789012345678901234567890123
1977db96d56Sopenharmony_cidqrot209 rotate -1234567890123456789012345678901234   -33 -> -2345678901234567890123456789012341
1987db96d56Sopenharmony_cidqrot210 rotate -1234567890123456789012345678901234   -34 -> -1234567890123456789012345678901234
1997db96d56Sopenharmony_cidqrot211 rotate -9934567890123456789012345678901234   -33 -> -9345678901234567890123456789012349
2007db96d56Sopenharmony_cidqrot212 rotate -9934567890123456789012345678901234   -34 -> -9934567890123456789012345678901234
2017db96d56Sopenharmony_ci
2027db96d56Sopenharmony_ci
2037db96d56Sopenharmony_ci-- Specials; NaNs are handled as usual
2047db96d56Sopenharmony_cidqrot781 rotate -Inf  -8     -> -Infinity
2057db96d56Sopenharmony_cidqrot782 rotate -Inf  -1     -> -Infinity
2067db96d56Sopenharmony_cidqrot783 rotate -Inf  -0     -> -Infinity
2077db96d56Sopenharmony_cidqrot784 rotate -Inf   0     -> -Infinity
2087db96d56Sopenharmony_cidqrot785 rotate -Inf   1     -> -Infinity
2097db96d56Sopenharmony_cidqrot786 rotate -Inf   8     -> -Infinity
2107db96d56Sopenharmony_cidqrot787 rotate -1000 -Inf   -> NaN Invalid_operation
2117db96d56Sopenharmony_cidqrot788 rotate -Inf  -Inf   -> NaN Invalid_operation
2127db96d56Sopenharmony_cidqrot789 rotate -1    -Inf   -> NaN Invalid_operation
2137db96d56Sopenharmony_cidqrot790 rotate -0    -Inf   -> NaN Invalid_operation
2147db96d56Sopenharmony_cidqrot791 rotate  0    -Inf   -> NaN Invalid_operation
2157db96d56Sopenharmony_cidqrot792 rotate  1    -Inf   -> NaN Invalid_operation
2167db96d56Sopenharmony_cidqrot793 rotate  1000 -Inf   -> NaN Invalid_operation
2177db96d56Sopenharmony_cidqrot794 rotate  Inf  -Inf   -> NaN Invalid_operation
2187db96d56Sopenharmony_ci
2197db96d56Sopenharmony_cidqrot800 rotate  Inf  -Inf   -> NaN Invalid_operation
2207db96d56Sopenharmony_cidqrot801 rotate  Inf  -8     -> Infinity
2217db96d56Sopenharmony_cidqrot802 rotate  Inf  -1     -> Infinity
2227db96d56Sopenharmony_cidqrot803 rotate  Inf  -0     -> Infinity
2237db96d56Sopenharmony_cidqrot804 rotate  Inf   0     -> Infinity
2247db96d56Sopenharmony_cidqrot805 rotate  Inf   1     -> Infinity
2257db96d56Sopenharmony_cidqrot806 rotate  Inf   8     -> Infinity
2267db96d56Sopenharmony_cidqrot807 rotate  Inf   Inf   -> NaN Invalid_operation
2277db96d56Sopenharmony_cidqrot808 rotate -1000  Inf   -> NaN Invalid_operation
2287db96d56Sopenharmony_cidqrot809 rotate -Inf   Inf   -> NaN Invalid_operation
2297db96d56Sopenharmony_cidqrot810 rotate -1     Inf   -> NaN Invalid_operation
2307db96d56Sopenharmony_cidqrot811 rotate -0     Inf   -> NaN Invalid_operation
2317db96d56Sopenharmony_cidqrot812 rotate  0     Inf   -> NaN Invalid_operation
2327db96d56Sopenharmony_cidqrot813 rotate  1     Inf   -> NaN Invalid_operation
2337db96d56Sopenharmony_cidqrot814 rotate  1000  Inf   -> NaN Invalid_operation
2347db96d56Sopenharmony_cidqrot815 rotate  Inf   Inf   -> NaN Invalid_operation
2357db96d56Sopenharmony_ci
2367db96d56Sopenharmony_cidqrot821 rotate  NaN -Inf    ->  NaN
2377db96d56Sopenharmony_cidqrot822 rotate  NaN -1000   ->  NaN
2387db96d56Sopenharmony_cidqrot823 rotate  NaN -1      ->  NaN
2397db96d56Sopenharmony_cidqrot824 rotate  NaN -0      ->  NaN
2407db96d56Sopenharmony_cidqrot825 rotate  NaN  0      ->  NaN
2417db96d56Sopenharmony_cidqrot826 rotate  NaN  1      ->  NaN
2427db96d56Sopenharmony_cidqrot827 rotate  NaN  1000   ->  NaN
2437db96d56Sopenharmony_cidqrot828 rotate  NaN  Inf    ->  NaN
2447db96d56Sopenharmony_cidqrot829 rotate  NaN  NaN    ->  NaN
2457db96d56Sopenharmony_cidqrot830 rotate -Inf  NaN    ->  NaN
2467db96d56Sopenharmony_cidqrot831 rotate -1000 NaN    ->  NaN
2477db96d56Sopenharmony_cidqrot832 rotate -1    NaN    ->  NaN
2487db96d56Sopenharmony_cidqrot833 rotate -0    NaN    ->  NaN
2497db96d56Sopenharmony_cidqrot834 rotate  0    NaN    ->  NaN
2507db96d56Sopenharmony_cidqrot835 rotate  1    NaN    ->  NaN
2517db96d56Sopenharmony_cidqrot836 rotate  1000 NaN    ->  NaN
2527db96d56Sopenharmony_cidqrot837 rotate  Inf  NaN    ->  NaN
2537db96d56Sopenharmony_ci
2547db96d56Sopenharmony_cidqrot841 rotate  sNaN -Inf   ->  NaN  Invalid_operation
2557db96d56Sopenharmony_cidqrot842 rotate  sNaN -1000  ->  NaN  Invalid_operation
2567db96d56Sopenharmony_cidqrot843 rotate  sNaN -1     ->  NaN  Invalid_operation
2577db96d56Sopenharmony_cidqrot844 rotate  sNaN -0     ->  NaN  Invalid_operation
2587db96d56Sopenharmony_cidqrot845 rotate  sNaN  0     ->  NaN  Invalid_operation
2597db96d56Sopenharmony_cidqrot846 rotate  sNaN  1     ->  NaN  Invalid_operation
2607db96d56Sopenharmony_cidqrot847 rotate  sNaN  1000  ->  NaN  Invalid_operation
2617db96d56Sopenharmony_cidqrot848 rotate  sNaN  NaN   ->  NaN  Invalid_operation
2627db96d56Sopenharmony_cidqrot849 rotate  sNaN sNaN   ->  NaN  Invalid_operation
2637db96d56Sopenharmony_cidqrot850 rotate  NaN  sNaN   ->  NaN  Invalid_operation
2647db96d56Sopenharmony_cidqrot851 rotate -Inf  sNaN   ->  NaN  Invalid_operation
2657db96d56Sopenharmony_cidqrot852 rotate -1000 sNaN   ->  NaN  Invalid_operation
2667db96d56Sopenharmony_cidqrot853 rotate -1    sNaN   ->  NaN  Invalid_operation
2677db96d56Sopenharmony_cidqrot854 rotate -0    sNaN   ->  NaN  Invalid_operation
2687db96d56Sopenharmony_cidqrot855 rotate  0    sNaN   ->  NaN  Invalid_operation
2697db96d56Sopenharmony_cidqrot856 rotate  1    sNaN   ->  NaN  Invalid_operation
2707db96d56Sopenharmony_cidqrot857 rotate  1000 sNaN   ->  NaN  Invalid_operation
2717db96d56Sopenharmony_cidqrot858 rotate  Inf  sNaN   ->  NaN  Invalid_operation
2727db96d56Sopenharmony_cidqrot859 rotate  NaN  sNaN   ->  NaN  Invalid_operation
2737db96d56Sopenharmony_ci
2747db96d56Sopenharmony_ci-- propagating NaNs
2757db96d56Sopenharmony_cidqrot861 rotate  NaN1   -Inf    ->  NaN1
2767db96d56Sopenharmony_cidqrot862 rotate +NaN2   -1000   ->  NaN2
2777db96d56Sopenharmony_cidqrot863 rotate  NaN3    1000   ->  NaN3
2787db96d56Sopenharmony_cidqrot864 rotate  NaN4    Inf    ->  NaN4
2797db96d56Sopenharmony_cidqrot865 rotate  NaN5   +NaN6   ->  NaN5
2807db96d56Sopenharmony_cidqrot866 rotate -Inf     NaN7   ->  NaN7
2817db96d56Sopenharmony_cidqrot867 rotate -1000    NaN8   ->  NaN8
2827db96d56Sopenharmony_cidqrot868 rotate  1000    NaN9   ->  NaN9
2837db96d56Sopenharmony_cidqrot869 rotate  Inf    +NaN10  ->  NaN10
2847db96d56Sopenharmony_cidqrot871 rotate  sNaN11  -Inf   ->  NaN11  Invalid_operation
2857db96d56Sopenharmony_cidqrot872 rotate  sNaN12  -1000  ->  NaN12  Invalid_operation
2867db96d56Sopenharmony_cidqrot873 rotate  sNaN13   1000  ->  NaN13  Invalid_operation
2877db96d56Sopenharmony_cidqrot874 rotate  sNaN14   NaN17 ->  NaN14  Invalid_operation
2887db96d56Sopenharmony_cidqrot875 rotate  sNaN15  sNaN18 ->  NaN15  Invalid_operation
2897db96d56Sopenharmony_cidqrot876 rotate  NaN16   sNaN19 ->  NaN19  Invalid_operation
2907db96d56Sopenharmony_cidqrot877 rotate -Inf    +sNaN20 ->  NaN20  Invalid_operation
2917db96d56Sopenharmony_cidqrot878 rotate -1000    sNaN21 ->  NaN21  Invalid_operation
2927db96d56Sopenharmony_cidqrot879 rotate  1000    sNaN22 ->  NaN22  Invalid_operation
2937db96d56Sopenharmony_cidqrot880 rotate  Inf     sNaN23 ->  NaN23  Invalid_operation
2947db96d56Sopenharmony_cidqrot881 rotate +NaN25  +sNaN24 ->  NaN24  Invalid_operation
2957db96d56Sopenharmony_cidqrot882 rotate -NaN26    NaN28 -> -NaN26
2967db96d56Sopenharmony_cidqrot883 rotate -sNaN27  sNaN29 -> -NaN27  Invalid_operation
2977db96d56Sopenharmony_cidqrot884 rotate  1000    -NaN30 -> -NaN30
2987db96d56Sopenharmony_cidqrot885 rotate  1000   -sNaN31 -> -NaN31  Invalid_operation
299