1faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl------------------------------------------------------------------------
2faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- shift.decTest -- shift coefficient left or right                   --
3faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --
4faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl------------------------------------------------------------------------
5faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- Please see the document "General Decimal Arithmetic Testcases"     --
6faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- at http://www2.hursley.ibm.com/decimal for the description of      --
7faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- these testcases.                                                   --
8faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl--                                                                    --
9faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- These testcases are experimental ('beta' versions), and they       --
10faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- may contain errors.  They are offered on an as-is basis.  In       --
11faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- particular, achieving the same results as the tests here is not    --
12faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- a guarantee that an implementation complies with any Standard      --
13faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- or specification.  The tests are not exhaustive.                   --
14faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl--                                                                    --
15faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- Please send comments, suggestions, and corrections to the author:  --
16faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl--   Mike Cowlishaw, IBM Fellow                                       --
17faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
18faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl--   mfc@uk.ibm.com                                                   --
19faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl------------------------------------------------------------------------
20faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlversion: 2.59
21faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
22faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlextended:    1
23faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlprecision:   9
24faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlrounding:    half_up
25faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg BrandlmaxExponent: 999
26faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg BrandlminExponent: -999
27faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
28faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- Sanity check
29faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix001 shift          0    0  ->  0
30faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix002 shift          0    2  ->  0
31faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix003 shift          1    2  ->  100
32faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix004 shift          1    8  ->  100000000
33faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix005 shift          1    9  ->  0
34faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix006 shift          1   -1  ->  0
35faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix007 shift  123456789   -1  ->  12345678
36faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix008 shift  123456789   -8  ->  1
37faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix009 shift  123456789   -9  ->  0
38faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix010 shift          0   -2  ->  0
39faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
40faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- rhs must be an integer
41faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix011 shift        1    1.5    -> NaN Invalid_operation
42faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix012 shift        1    1.0    -> NaN Invalid_operation
43faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix013 shift        1    0.1    -> NaN Invalid_operation
44faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix014 shift        1    0.0    -> NaN Invalid_operation
45faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix015 shift        1    1E+1   -> NaN Invalid_operation
46faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix016 shift        1    1E+99  -> NaN Invalid_operation
47faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix017 shift        1    Inf    -> NaN Invalid_operation
48faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix018 shift        1    -Inf   -> NaN Invalid_operation
49faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- and |rhs| <= precision
50faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix020 shift        1    -1000  -> NaN Invalid_operation
51faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix021 shift        1    -10    -> NaN Invalid_operation
52faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix022 shift        1     10    -> NaN Invalid_operation
53faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix023 shift        1     1000  -> NaN Invalid_operation
54faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
55faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- full shifting pattern
56faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix030 shift  123456789          -9   -> 0
57faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix031 shift  123456789          -8   -> 1
58faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix032 shift  123456789          -7   -> 12
59faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix033 shift  123456789          -6   -> 123
60faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix034 shift  123456789          -5   -> 1234
61faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix035 shift  123456789          -4   -> 12345
62faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix036 shift  123456789          -3   -> 123456
63faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix037 shift  123456789          -2   -> 1234567
64faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix038 shift  123456789          -1   -> 12345678
65faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix039 shift  123456789          -0   -> 123456789
66faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix040 shift  123456789          +0   -> 123456789
67faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix041 shift  123456789          +1   -> 234567890
68faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix042 shift  123456789          +2   -> 345678900
69faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix043 shift  123456789          +3   -> 456789000
70faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix044 shift  123456789          +4   -> 567890000
71faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix045 shift  123456789          +5   -> 678900000
72faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix046 shift  123456789          +6   -> 789000000
73faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix047 shift  123456789          +7   -> 890000000
74faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix048 shift  123456789          +8   -> 900000000
75faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix049 shift  123456789          +9   -> 0
76faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
77faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- from examples
78faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix051 shift 34        8   ->  '400000000'
79faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix052 shift 12        9   ->  '0'
80faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix053 shift 123456789 -2  ->  '1234567'
81faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix054 shift 123456789 0   ->  '123456789'
82faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix055 shift 123456789 +2  ->  '345678900'
83faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
84faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- zeros
85faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix060 shift  0E-10              +9   ->   0E-10
86faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix061 shift  0E-10              -9   ->   0E-10
87faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix062 shift  0.000              +9   ->   0.000
88faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix063 shift  0.000              -9   ->   0.000
89faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix064 shift  0E+10              +9   ->   0E+10
90faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix065 shift  0E+10              -9   ->   0E+10
91faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix066 shift -0E-10              +9   ->  -0E-10
92faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix067 shift -0E-10              -9   ->  -0E-10
93faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix068 shift -0.000              +9   ->  -0.000
94faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix069 shift -0.000              -9   ->  -0.000
95faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix070 shift -0E+10              +9   ->  -0E+10
96faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix071 shift -0E+10              -9   ->  -0E+10
97faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
98faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- Nmax, Nmin, Ntiny
99faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix141 shift  9.99999999E+999     -1  -> 9.9999999E+998
100faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix142 shift  9.99999999E+999     -8  -> 9E+991
101faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix143 shift  9.99999999E+999      1  -> 9.99999990E+999
102faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix144 shift  9.99999999E+999      8  -> 9.00000000E+999
103faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix145 shift  1E-999              -1  -> 0E-999
104faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix146 shift  1E-999              -8  -> 0E-999
105faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix147 shift  1E-999               1  -> 1.0E-998
106faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix148 shift  1E-999               8  -> 1.00000000E-991
107faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix151 shift  1.00000000E-999     -1  -> 1.0000000E-1000
108faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix152 shift  1.00000000E-999     -8  -> 1E-1007
109faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix153 shift  1.00000000E-999      1  -> 0E-1007
110faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix154 shift  1.00000000E-999      8  -> 0E-1007
111faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix155 shift  9.00000000E-999     -1  -> 9.0000000E-1000
112faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix156 shift  9.00000000E-999     -8  -> 9E-1007
113faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix157 shift  9.00000000E-999      1  -> 0E-1007
114faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix158 shift  9.00000000E-999      8  -> 0E-1007
115faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix160 shift  1E-1007             -1  -> 0E-1007
116faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix161 shift  1E-1007             -8  -> 0E-1007
117faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix162 shift  1E-1007              1  -> 1.0E-1006
118faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix163 shift  1E-1007              8  -> 1.00000000E-999
119faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl--  negatives
120faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix171 shift -9.99999999E+999     -1  -> -9.9999999E+998
121faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix172 shift -9.99999999E+999     -8  -> -9E+991
122faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix173 shift -9.99999999E+999      1  -> -9.99999990E+999
123faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix174 shift -9.99999999E+999      8  -> -9.00000000E+999
124faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix175 shift -1E-999              -1  -> -0E-999
125faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix176 shift -1E-999              -8  -> -0E-999
126faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix177 shift -1E-999               1  -> -1.0E-998
127faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix178 shift -1E-999               8  -> -1.00000000E-991
128faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix181 shift -1.00000000E-999     -1  -> -1.0000000E-1000
129faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix182 shift -1.00000000E-999     -8  -> -1E-1007
130faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix183 shift -1.00000000E-999      1  -> -0E-1007
131faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix184 shift -1.00000000E-999      8  -> -0E-1007
132faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix185 shift -9.00000000E-999     -1  -> -9.0000000E-1000
133faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix186 shift -9.00000000E-999     -8  -> -9E-1007
134faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix187 shift -9.00000000E-999      1  -> -0E-1007
135faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix188 shift -9.00000000E-999      8  -> -0E-1007
136faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix190 shift -1E-1007             -1  -> -0E-1007
137faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix191 shift -1E-1007             -8  -> -0E-1007
138faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix192 shift -1E-1007              1  -> -1.0E-1006
139faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix193 shift -1E-1007              8  -> -1.00000000E-999
140faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
141faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- more negatives (of sanities)
142faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix201 shift         -0    0  ->  -0
143faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix202 shift         -0    2  ->  -0
144faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix203 shift         -1    2  ->  -100
145faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix204 shift         -1    8  ->  -100000000
146faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix205 shift         -1    9  ->  -0
147faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix206 shift         -1   -1  ->  -0
148faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix207 shift -123456789   -1  ->  -12345678
149faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix208 shift -123456789   -8  ->  -1
150faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix209 shift -123456789   -9  ->  -0
151faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix210 shift         -0   -2  ->  -0
152faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix211 shift         -0   -0  ->  -0
153faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
154faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
155faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- Specials; NaNs are handled as usual
156faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix781 shift -Inf  -8     -> -Infinity
157faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix782 shift -Inf  -1     -> -Infinity
158faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix783 shift -Inf  -0     -> -Infinity
159faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix784 shift -Inf   0     -> -Infinity
160faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix785 shift -Inf   1     -> -Infinity
161faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix786 shift -Inf   8     -> -Infinity
162faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix787 shift -1000 -Inf   -> NaN Invalid_operation
163faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix788 shift -Inf  -Inf   -> NaN Invalid_operation
164faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix789 shift -1    -Inf   -> NaN Invalid_operation
165faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix790 shift -0    -Inf   -> NaN Invalid_operation
166faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix791 shift  0    -Inf   -> NaN Invalid_operation
167faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix792 shift  1    -Inf   -> NaN Invalid_operation
168faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix793 shift  1000 -Inf   -> NaN Invalid_operation
169faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix794 shift  Inf  -Inf   -> NaN Invalid_operation
170faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
171faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix800 shift  Inf  -Inf   -> NaN Invalid_operation
172faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix801 shift  Inf  -8     -> Infinity
173faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix802 shift  Inf  -1     -> Infinity
174faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix803 shift  Inf  -0     -> Infinity
175faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix804 shift  Inf   0     -> Infinity
176faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix805 shift  Inf   1     -> Infinity
177faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix806 shift  Inf   8     -> Infinity
178faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix807 shift  Inf   Inf   -> NaN Invalid_operation
179faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix808 shift -1000  Inf   -> NaN Invalid_operation
180faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix809 shift -Inf   Inf   -> NaN Invalid_operation
181faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix810 shift -1     Inf   -> NaN Invalid_operation
182faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix811 shift -0     Inf   -> NaN Invalid_operation
183faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix812 shift  0     Inf   -> NaN Invalid_operation
184faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix813 shift  1     Inf   -> NaN Invalid_operation
185faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix814 shift  1000  Inf   -> NaN Invalid_operation
186faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix815 shift  Inf   Inf   -> NaN Invalid_operation
187faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
188faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix821 shift  NaN -Inf    ->  NaN
189faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix822 shift  NaN -1000   ->  NaN
190faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix823 shift  NaN -1      ->  NaN
191faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix824 shift  NaN -0      ->  NaN
192faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix825 shift  NaN  0      ->  NaN
193faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix826 shift  NaN  1      ->  NaN
194faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix827 shift  NaN  1000   ->  NaN
195faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix828 shift  NaN  Inf    ->  NaN
196faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix829 shift  NaN  NaN    ->  NaN
197faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix830 shift -Inf  NaN    ->  NaN
198faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix831 shift -1000 NaN    ->  NaN
199faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix832 shift -1    NaN    ->  NaN
200faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix833 shift -0    NaN    ->  NaN
201faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix834 shift  0    NaN    ->  NaN
202faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix835 shift  1    NaN    ->  NaN
203faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix836 shift  1000 NaN    ->  NaN
204faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix837 shift  Inf  NaN    ->  NaN
205faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
206faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix841 shift  sNaN -Inf   ->  NaN  Invalid_operation
207faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix842 shift  sNaN -1000  ->  NaN  Invalid_operation
208faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix843 shift  sNaN -1     ->  NaN  Invalid_operation
209faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix844 shift  sNaN -0     ->  NaN  Invalid_operation
210faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix845 shift  sNaN  0     ->  NaN  Invalid_operation
211faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix846 shift  sNaN  1     ->  NaN  Invalid_operation
212faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix847 shift  sNaN  1000  ->  NaN  Invalid_operation
213faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix848 shift  sNaN  NaN   ->  NaN  Invalid_operation
214faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix849 shift  sNaN sNaN   ->  NaN  Invalid_operation
215faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix850 shift  NaN  sNaN   ->  NaN  Invalid_operation
216faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix851 shift -Inf  sNaN   ->  NaN  Invalid_operation
217faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix852 shift -1000 sNaN   ->  NaN  Invalid_operation
218faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix853 shift -1    sNaN   ->  NaN  Invalid_operation
219faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix854 shift -0    sNaN   ->  NaN  Invalid_operation
220faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix855 shift  0    sNaN   ->  NaN  Invalid_operation
221faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix856 shift  1    sNaN   ->  NaN  Invalid_operation
222faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix857 shift  1000 sNaN   ->  NaN  Invalid_operation
223faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix858 shift  Inf  sNaN   ->  NaN  Invalid_operation
224faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix859 shift  NaN  sNaN   ->  NaN  Invalid_operation
225faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl
226faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandl-- propagating NaNs
227faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix861 shift  NaN1   -Inf    ->  NaN1
228faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix862 shift +NaN2   -1000   ->  NaN2
229faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix863 shift  NaN3    1000   ->  NaN3
230faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix864 shift  NaN4    Inf    ->  NaN4
231faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix865 shift  NaN5   +NaN6   ->  NaN5
232faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix866 shift -Inf     NaN7   ->  NaN7
233faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix867 shift -1000    NaN8   ->  NaN8
234faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix868 shift  1000    NaN9   ->  NaN9
235faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix869 shift  Inf    +NaN10  ->  NaN10
236faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix871 shift  sNaN11  -Inf   ->  NaN11  Invalid_operation
237faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix872 shift  sNaN12  -1000  ->  NaN12  Invalid_operation
238faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix873 shift  sNaN13   1000  ->  NaN13  Invalid_operation
239faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix874 shift  sNaN14   NaN17 ->  NaN14  Invalid_operation
240faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix875 shift  sNaN15  sNaN18 ->  NaN15  Invalid_operation
241faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix876 shift  NaN16   sNaN19 ->  NaN19  Invalid_operation
242faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix877 shift -Inf    +sNaN20 ->  NaN20  Invalid_operation
243faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix878 shift -1000    sNaN21 ->  NaN21  Invalid_operation
244faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix879 shift  1000    sNaN22 ->  NaN22  Invalid_operation
245faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix880 shift  Inf     sNaN23 ->  NaN23  Invalid_operation
246faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix881 shift +NaN25  +sNaN24 ->  NaN24  Invalid_operation
247faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix882 shift -NaN26    NaN28 -> -NaN26
248faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix883 shift -sNaN27  sNaN29 -> -NaN27  Invalid_operation
249faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix884 shift  1000    -NaN30 -> -NaN30
250faa9ad2a465902e6dfd2b3378d09a4738923c62bGeorg Brandlshix885 shift  1000   -sNaN31 -> -NaN31  Invalid_operation
251