]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Python/Python-2.7.2/Lib/test/decimaltestdata/dqInvert.decTest
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / test / decimaltestdata / dqInvert.decTest
CommitLineData
4710c53d 1------------------------------------------------------------------------\r
2-- dqInvert.decTest -- digitwise logical INVERT for decQuads --\r
3-- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. --\r
4------------------------------------------------------------------------\r
5-- Please see the document "General Decimal Arithmetic Testcases" --\r
6-- at http://www2.hursley.ibm.com/decimal for the description of --\r
7-- these testcases. --\r
8-- --\r
9-- These testcases are experimental ('beta' versions), and they --\r
10-- may contain errors. They are offered on an as-is basis. In --\r
11-- particular, achieving the same results as the tests here is not --\r
12-- a guarantee that an implementation complies with any Standard --\r
13-- or specification. The tests are not exhaustive. --\r
14-- --\r
15-- Please send comments, suggestions, and corrections to the author: --\r
16-- Mike Cowlishaw, IBM Fellow --\r
17-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --\r
18-- mfc@uk.ibm.com --\r
19------------------------------------------------------------------------\r
20version: 2.59\r
21\r
22extended: 1\r
23clamp: 1\r
24precision: 34\r
25maxExponent: 6144\r
26minExponent: -6143\r
27rounding: half_even\r
28\r
29-- Sanity check (truth table)\r
30dqinv001 invert 0 -> 1111111111111111111111111111111111\r
31dqinv002 invert 1 -> 1111111111111111111111111111111110\r
32dqinv003 invert 10 -> 1111111111111111111111111111111101\r
33dqinv004 invert 111111111 -> 1111111111111111111111111000000000\r
34dqinv005 invert 000000000 -> 1111111111111111111111111111111111\r
35-- and at msd and msd-1\r
36dqinv007 invert 0000000000000000000000000000000000 -> 1111111111111111111111111111111111\r
37dqinv008 invert 1000000000000000000000000000000000 -> 111111111111111111111111111111111\r
38dqinv009 invert 0000000000000000000000000000000000 -> 1111111111111111111111111111111111\r
39dqinv010 invert 0100000000000000000000000000000000 -> 1011111111111111111111111111111111\r
40dqinv011 invert 0111111111111111111111111111111111 -> 1000000000000000000000000000000000\r
41dqinv012 invert 1111111111111111111111111111111111 -> 0\r
42dqinv013 invert 0011111111111111111111111111111111 -> 1100000000000000000000000000000000\r
43dqinv014 invert 0111111111111111111111111111111111 -> 1000000000000000000000000000000000\r
44\r
45-- Various lengths\r
46dqinv600 invert 0111111111111111111011111111111111 -> 1000000000000000000100000000000000\r
47dqinv601 invert 0011111111111111110101111111111111 -> 1100000000000000001010000000000000\r
48dqinv602 invert 0101111111111111101110111111111111 -> 1010000000000000010001000000000000\r
49dqinv603 invert 0110111111111111011111011111111111 -> 1001000000000000100000100000000000\r
50dqinv604 invert 0111011111111110111111101111111111 -> 1000100000000001000000010000000000\r
51dqinv605 invert 0111101111111101111111110111111111 -> 1000010000000010000000001000000000\r
52dqinv606 invert 0111110111111011111111111011111111 -> 1000001000000100000000000100000000\r
53dqinv607 invert 0111111011110111111111111101111111 -> 1000000100001000000000000010000000\r
54dqinv608 invert 0111111101101111111111111110111111 -> 1000000010010000000000000001000000\r
55dqinv609 invert 0111111110011111111111111111011111 -> 1000000001100000000000000000100000\r
56dqinv610 invert 0111111110011111111111111111101111 -> 1000000001100000000000000000010000\r
57dqinv611 invert 0111111101101111111111111111110111 -> 1000000010010000000000000000001000\r
58dqinv612 invert 0111111011110111111111111111111011 -> 1000000100001000000000000000000100\r
59dqinv613 invert 0111110111111011111111111111111101 -> 1000001000000100000000000000000010\r
60dqinv614 invert 0111101111111101111111111111111110 -> 1000010000000010000000000000000001\r
61dqinv615 invert 0111011111111110111111111111111111 -> 1000100000000001000000000000000000\r
62dqinv616 invert 0110111111111111011111111111111110 -> 1001000000000000100000000000000001\r
63dqinv617 invert 0101111111111111101111111111111101 -> 1010000000000000010000000000000010\r
64dqinv618 invert 0011111111111111110111111111111011 -> 1100000000000000001000000000000100\r
65dqinv619 invert 0101111111111111111011111111110111 -> 1010000000000000000100000000001000\r
66dqinv620 invert 0110111111111111111101111111101111 -> 1001000000000000000010000000010000\r
67dqinv621 invert 0111011111111111111110111111011111 -> 1000100000000000000001000000100000\r
68dqinv622 invert 0111101111111111111111011110111111 -> 1000010000000000000000100001000000\r
69dqinv623 invert 0111110111111111111111101101111111 -> 1000001000000000000000010010000000\r
70dqinv624 invert 0111111011111111111111110011111111 -> 1000000100000000000000001100000000\r
71dqinv625 invert 0111111101111111111111110011111111 -> 1000000010000000000000001100000000\r
72dqinv626 invert 0111111110111111111111101101111111 -> 1000000001000000000000010010000000\r
73dqinv627 invert 0111111111011111111111011110111111 -> 1000000000100000000000100001000000\r
74dqinv628 invert 0111111111101111111110111111011111 -> 1000000000010000000001000000100000\r
75dqinv629 invert 0111111111110111111101111111101111 -> 1000000000001000000010000000010000\r
76dqinv630 invert 0111111111111011111011111111110111 -> 1000000000000100000100000000001000\r
77dqinv631 invert 0111111111111101110111111111111011 -> 1000000000000010001000000000000100\r
78dqinv632 invert 0111111111111110101111111111111101 -> 1000000000000001010000000000000010\r
79dqinv633 invert 0111111111111111011111111111111110 -> 1000000000000000100000000000000001\r
80\r
81dqinv021 invert 111111111 -> 1111111111111111111111111000000000\r
82dqinv022 invert 111111111111 -> 1111111111111111111111000000000000\r
83dqinv023 invert 11111111 -> 1111111111111111111111111100000000\r
84dqinv025 invert 1111111 -> 1111111111111111111111111110000000\r
85dqinv026 invert 111111 -> 1111111111111111111111111111000000\r
86dqinv027 invert 11111 -> 1111111111111111111111111111100000\r
87dqinv028 invert 1111 -> 1111111111111111111111111111110000\r
88dqinv029 invert 111 -> 1111111111111111111111111111111000\r
89dqinv031 invert 11 -> 1111111111111111111111111111111100\r
90dqinv032 invert 1 -> 1111111111111111111111111111111110\r
91dqinv033 invert 111111111111 -> 1111111111111111111111000000000000\r
92dqinv034 invert 11111111111 -> 1111111111111111111111100000000000\r
93dqinv035 invert 1111111111 -> 1111111111111111111111110000000000\r
94dqinv036 invert 111111111 -> 1111111111111111111111111000000000\r
95\r
96dqinv040 invert 011111111 -> 1111111111111111111111111100000000\r
97dqinv041 invert 101111111 -> 1111111111111111111111111010000000\r
98dqinv042 invert 110111111 -> 1111111111111111111111111001000000\r
99dqinv043 invert 111011111 -> 1111111111111111111111111000100000\r
100dqinv044 invert 111101111 -> 1111111111111111111111111000010000\r
101dqinv045 invert 111110111 -> 1111111111111111111111111000001000\r
102dqinv046 invert 111111011 -> 1111111111111111111111111000000100\r
103dqinv047 invert 111111101 -> 1111111111111111111111111000000010\r
104dqinv048 invert 111111110 -> 1111111111111111111111111000000001\r
105dqinv049 invert 011111011 -> 1111111111111111111111111100000100\r
106dqinv050 invert 101111101 -> 1111111111111111111111111010000010\r
107dqinv051 invert 110111110 -> 1111111111111111111111111001000001\r
108dqinv052 invert 111011101 -> 1111111111111111111111111000100010\r
109dqinv053 invert 111101011 -> 1111111111111111111111111000010100\r
110dqinv054 invert 111110111 -> 1111111111111111111111111000001000\r
111dqinv055 invert 111101011 -> 1111111111111111111111111000010100\r
112dqinv056 invert 111011101 -> 1111111111111111111111111000100010\r
113dqinv057 invert 110111110 -> 1111111111111111111111111001000001\r
114dqinv058 invert 101111101 -> 1111111111111111111111111010000010\r
115dqinv059 invert 011111011 -> 1111111111111111111111111100000100\r
116\r
117dqinv080 invert 1000000011111111 -> 1111111111111111110111111100000000\r
118dqinv081 invert 0100000101111111 -> 1111111111111111111011111010000000\r
119dqinv082 invert 0010000110111111 -> 1111111111111111111101111001000000\r
120dqinv083 invert 0001000111011111 -> 1111111111111111111110111000100000\r
121dqinv084 invert 0000100111101111 -> 1111111111111111111111011000010000\r
122dqinv085 invert 0000010111110111 -> 1111111111111111111111101000001000\r
123dqinv086 invert 0000001111111011 -> 1111111111111111111111110000000100\r
124dqinv087 invert 0000010111111101 -> 1111111111111111111111101000000010\r
125dqinv088 invert 0000100111111110 -> 1111111111111111111111011000000001\r
126dqinv089 invert 0001000011111011 -> 1111111111111111111110111100000100\r
127dqinv090 invert 0010000101111101 -> 1111111111111111111101111010000010\r
128dqinv091 invert 0100000110111110 -> 1111111111111111111011111001000001\r
129dqinv092 invert 1000000111011101 -> 1111111111111111110111111000100010\r
130dqinv093 invert 0100000111101011 -> 1111111111111111111011111000010100\r
131dqinv094 invert 0010000111110111 -> 1111111111111111111101111000001000\r
132dqinv095 invert 0001000111101011 -> 1111111111111111111110111000010100\r
133dqinv096 invert 0000100111011101 -> 1111111111111111111111011000100010\r
134dqinv097 invert 0000010110111110 -> 1111111111111111111111101001000001\r
135dqinv098 invert 0000001101111101 -> 1111111111111111111111110010000010\r
136dqinv099 invert 0000010011111011 -> 1111111111111111111111101100000100\r
137\r
138-- and more thorough MSD/LSD tests [8 and 9 mght be encoded differently...]\r
139dqinv151 invert 1111111111111111111111111111111110 -> 1\r
140dqinv152 invert 1111111111111111110000000000000000 -> 1111111111111111\r
141dqinv153 invert 1000000000000000001111111111111111 -> 111111111111111110000000000000000\r
142dqinv154 invert 1111111111111111111000000000000000 -> 111111111111111\r
143dqinv155 invert 0100000000000000000111111111111111 -> 1011111111111111111000000000000000\r
144dqinv156 invert 1011111111111111110100000000000000 -> 100000000000000001011111111111111\r
145dqinv157 invert 1101111111111111110111111111111111 -> 10000000000000001000000000000000\r
146dqinv158 invert 1110111111111111110011111111111111 -> 1000000000000001100000000000000\r
147\r
148-- non-0/1 should not be accepted, nor should signs\r
149dqinv220 invert 111111112 -> NaN Invalid_operation\r
150dqinv221 invert 333333333 -> NaN Invalid_operation\r
151dqinv222 invert 555555555 -> NaN Invalid_operation\r
152dqinv223 invert 777777777 -> NaN Invalid_operation\r
153dqinv224 invert 999999999 -> NaN Invalid_operation\r
154dqinv225 invert 222222222 -> NaN Invalid_operation\r
155dqinv226 invert 444444444 -> NaN Invalid_operation\r
156dqinv227 invert 666666666 -> NaN Invalid_operation\r
157dqinv228 invert 888888888 -> NaN Invalid_operation\r
158dqinv229 invert 999999999 -> NaN Invalid_operation\r
159dqinv230 invert 999999999 -> NaN Invalid_operation\r
160dqinv231 invert 999999999 -> NaN Invalid_operation\r
161dqinv232 invert 999999999 -> NaN Invalid_operation\r
162-- a few randoms\r
163dqinv240 invert 567468689 -> NaN Invalid_operation\r
164dqinv241 invert 567367689 -> NaN Invalid_operation\r
165dqinv242 invert -631917772 -> NaN Invalid_operation\r
166dqinv243 invert -756253257 -> NaN Invalid_operation\r
167dqinv244 invert 835590149 -> NaN Invalid_operation\r
168-- test MSD\r
169dqinv250 invert 2000000111000111000111000000000000 -> NaN Invalid_operation\r
170dqinv251 invert 3000000111000111000111000000000000 -> NaN Invalid_operation\r
171dqinv252 invert 4000000111000111000111000000000000 -> NaN Invalid_operation\r
172dqinv253 invert 5000000111000111000111000000000000 -> NaN Invalid_operation\r
173dqinv254 invert 6000000111000111000111000000000000 -> NaN Invalid_operation\r
174dqinv255 invert 7000000111000111000111000000000000 -> NaN Invalid_operation\r
175dqinv256 invert 8000000111000111000111000000000000 -> NaN Invalid_operation\r
176dqinv257 invert 9000000111000111000111000000000000 -> NaN Invalid_operation\r
177-- test MSD-1\r
178dqinv270 invert 0200000111000111000111001000000000 -> NaN Invalid_operation\r
179dqinv271 invert 0300000111000111000111000100000000 -> NaN Invalid_operation\r
180dqinv272 invert 0400000111000111000111000010000000 -> NaN Invalid_operation\r
181dqinv273 invert 0500000111000111000111000001000000 -> NaN Invalid_operation\r
182dqinv274 invert 1600000111000111000111000000100000 -> NaN Invalid_operation\r
183dqinv275 invert 1700000111000111000111000000010000 -> NaN Invalid_operation\r
184dqinv276 invert 1800000111000111000111000000001000 -> NaN Invalid_operation\r
185dqinv277 invert 1900000111000111000111000000000100 -> NaN Invalid_operation\r
186-- test LSD\r
187dqinv280 invert 0010000111000111000111000000000002 -> NaN Invalid_operation\r
188dqinv281 invert 0001000111000111000111000000000003 -> NaN Invalid_operation\r
189dqinv282 invert 0000000111000111000111100000000004 -> NaN Invalid_operation\r
190dqinv283 invert 0000000111000111000111010000000005 -> NaN Invalid_operation\r
191dqinv284 invert 1000000111000111000111001000000006 -> NaN Invalid_operation\r
192dqinv285 invert 1000000111000111000111000100000007 -> NaN Invalid_operation\r
193dqinv286 invert 1000000111000111000111000010000008 -> NaN Invalid_operation\r
194dqinv287 invert 1000000111000111000111000001000009 -> NaN Invalid_operation\r
195-- test Middie\r
196dqinv288 invert 0010000111000111000111000020000000 -> NaN Invalid_operation\r
197dqinv289 invert 0001000111000111000111000030000001 -> NaN Invalid_operation\r
198dqinv290 invert 0000000111000111000111100040000010 -> NaN Invalid_operation\r
199dqinv291 invert 0000000111000111000111010050000100 -> NaN Invalid_operation\r
200dqinv292 invert 1000000111000111000111001060001000 -> NaN Invalid_operation\r
201dqinv293 invert 1000000111000111000111000170010000 -> NaN Invalid_operation\r
202dqinv294 invert 1000000111000111000111000080100000 -> NaN Invalid_operation\r
203dqinv295 invert 1000000111000111000111000091000000 -> NaN Invalid_operation\r
204-- signs\r
205dqinv296 invert -1000000111000111000111000001000000 -> NaN Invalid_operation\r
206dqinv299 invert 1000000111000111000111000001000000 -> 111111000111000111000111110111111\r
207\r
208-- Nmax, Nmin, Ntiny-like\r
209dqinv341 invert 9.99999999E+2998 -> NaN Invalid_operation\r
210dqinv342 invert 1E-2998 -> NaN Invalid_operation\r
211dqinv343 invert 1.00000000E-2998 -> NaN Invalid_operation\r
212dqinv344 invert 1E-2078 -> NaN Invalid_operation\r
213dqinv345 invert -1E-2078 -> NaN Invalid_operation\r
214dqinv346 invert -1.00000000E-2998 -> NaN Invalid_operation\r
215dqinv347 invert -1E-2998 -> NaN Invalid_operation\r
216dqinv348 invert -9.99999999E+2998 -> NaN Invalid_operation\r
217\r
218-- A few other non-integers\r
219dqinv361 invert 1.0 -> NaN Invalid_operation\r
220dqinv362 invert 1E+1 -> NaN Invalid_operation\r
221dqinv363 invert 0.0 -> NaN Invalid_operation\r
222dqinv364 invert 0E+1 -> NaN Invalid_operation\r
223dqinv365 invert 9.9 -> NaN Invalid_operation\r
224dqinv366 invert 9E+1 -> NaN Invalid_operation\r
225\r
226-- All Specials are in error\r
227dqinv788 invert -Inf -> NaN Invalid_operation\r
228dqinv794 invert Inf -> NaN Invalid_operation\r
229dqinv821 invert NaN -> NaN Invalid_operation\r
230dqinv841 invert sNaN -> NaN Invalid_operation\r
231-- propagating NaNs\r
232dqinv861 invert NaN1 -> NaN Invalid_operation\r
233dqinv862 invert +NaN2 -> NaN Invalid_operation\r
234dqinv863 invert NaN3 -> NaN Invalid_operation\r
235dqinv864 invert NaN4 -> NaN Invalid_operation\r
236dqinv865 invert NaN5 -> NaN Invalid_operation\r
237dqinv871 invert sNaN11 -> NaN Invalid_operation\r
238dqinv872 invert sNaN12 -> NaN Invalid_operation\r
239dqinv873 invert sNaN13 -> NaN Invalid_operation\r
240dqinv874 invert sNaN14 -> NaN Invalid_operation\r
241dqinv875 invert sNaN15 -> NaN Invalid_operation\r
242dqinv876 invert NaN16 -> NaN Invalid_operation\r
243dqinv881 invert +NaN25 -> NaN Invalid_operation\r
244dqinv882 invert -NaN26 -> NaN Invalid_operation\r
245dqinv883 invert -sNaN27 -> NaN Invalid_operation\r