]> git.proxmox.com Git - mirror_edk2.git/blob - AppPkg/Applications/Python/Python-2.7.2/Lib/test/decimaltestdata/dqMin.decTest
53020398c598b74f47c680df68a230e3a255bfab
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / test / decimaltestdata / dqMin.decTest
1 ------------------------------------------------------------------------
2 -- dqMin.decTest -- decQuad minnum --
3 -- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. --
4 ------------------------------------------------------------------------
5 -- Please see the document "General Decimal Arithmetic Testcases" --
6 -- at http://www2.hursley.ibm.com/decimal for the description of --
7 -- these testcases. --
8 -- --
9 -- These testcases are experimental ('beta' versions), and they --
10 -- may contain errors. They are offered on an as-is basis. In --
11 -- particular, achieving the same results as the tests here is not --
12 -- a guarantee that an implementation complies with any Standard --
13 -- or specification. The tests are not exhaustive. --
14 -- --
15 -- Please send comments, suggestions, and corrections to the author: --
16 -- Mike Cowlishaw, IBM Fellow --
17 -- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
18 -- mfc@uk.ibm.com --
19 ------------------------------------------------------------------------
20 version: 2.59
21
22 -- we assume that base comparison is tested in compare.decTest, so
23 -- these mainly cover special cases and rounding
24 extended: 1
25 clamp: 1
26 precision: 34
27 maxExponent: 6144
28 minExponent: -6143
29 rounding: half_even
30
31 -- sanity checks
32 dqmin001 min -2 -2 -> -2
33 dqmin002 min -2 -1 -> -2
34 dqmin003 min -2 0 -> -2
35 dqmin004 min -2 1 -> -2
36 dqmin005 min -2 2 -> -2
37 dqmin006 min -1 -2 -> -2
38 dqmin007 min -1 -1 -> -1
39 dqmin008 min -1 0 -> -1
40 dqmin009 min -1 1 -> -1
41 dqmin010 min -1 2 -> -1
42 dqmin011 min 0 -2 -> -2
43 dqmin012 min 0 -1 -> -1
44 dqmin013 min 0 0 -> 0
45 dqmin014 min 0 1 -> 0
46 dqmin015 min 0 2 -> 0
47 dqmin016 min 1 -2 -> -2
48 dqmin017 min 1 -1 -> -1
49 dqmin018 min 1 0 -> 0
50 dqmin019 min 1 1 -> 1
51 dqmin020 min 1 2 -> 1
52 dqmin021 min 2 -2 -> -2
53 dqmin022 min 2 -1 -> -1
54 dqmin023 min 2 0 -> 0
55 dqmin025 min 2 1 -> 1
56 dqmin026 min 2 2 -> 2
57
58 -- extended zeros
59 dqmin030 min 0 0 -> 0
60 dqmin031 min 0 -0 -> -0
61 dqmin032 min 0 -0.0 -> -0.0
62 dqmin033 min 0 0.0 -> 0.0
63 dqmin034 min -0 0 -> -0
64 dqmin035 min -0 -0 -> -0
65 dqmin036 min -0 -0.0 -> -0
66 dqmin037 min -0 0.0 -> -0
67 dqmin038 min 0.0 0 -> 0.0
68 dqmin039 min 0.0 -0 -> -0
69 dqmin040 min 0.0 -0.0 -> -0.0
70 dqmin041 min 0.0 0.0 -> 0.0
71 dqmin042 min -0.0 0 -> -0.0
72 dqmin043 min -0.0 -0 -> -0
73 dqmin044 min -0.0 -0.0 -> -0.0
74 dqmin045 min -0.0 0.0 -> -0.0
75
76 dqmin046 min 0E1 -0E1 -> -0E+1
77 dqmin047 min -0E1 0E2 -> -0E+1
78 dqmin048 min 0E2 0E1 -> 0E+1
79 dqmin049 min 0E1 0E2 -> 0E+1
80 dqmin050 min -0E3 -0E2 -> -0E+3
81 dqmin051 min -0E2 -0E3 -> -0E+3
82
83 -- Specials
84 dqmin090 min Inf -Inf -> -Infinity
85 dqmin091 min Inf -1000 -> -1000
86 dqmin092 min Inf -1 -> -1
87 dqmin093 min Inf -0 -> -0
88 dqmin094 min Inf 0 -> 0
89 dqmin095 min Inf 1 -> 1
90 dqmin096 min Inf 1000 -> 1000
91 dqmin097 min Inf Inf -> Infinity
92 dqmin098 min -1000 Inf -> -1000
93 dqmin099 min -Inf Inf -> -Infinity
94 dqmin100 min -1 Inf -> -1
95 dqmin101 min -0 Inf -> -0
96 dqmin102 min 0 Inf -> 0
97 dqmin103 min 1 Inf -> 1
98 dqmin104 min 1000 Inf -> 1000
99 dqmin105 min Inf Inf -> Infinity
100
101 dqmin120 min -Inf -Inf -> -Infinity
102 dqmin121 min -Inf -1000 -> -Infinity
103 dqmin122 min -Inf -1 -> -Infinity
104 dqmin123 min -Inf -0 -> -Infinity
105 dqmin124 min -Inf 0 -> -Infinity
106 dqmin125 min -Inf 1 -> -Infinity
107 dqmin126 min -Inf 1000 -> -Infinity
108 dqmin127 min -Inf Inf -> -Infinity
109 dqmin128 min -Inf -Inf -> -Infinity
110 dqmin129 min -1000 -Inf -> -Infinity
111 dqmin130 min -1 -Inf -> -Infinity
112 dqmin131 min -0 -Inf -> -Infinity
113 dqmin132 min 0 -Inf -> -Infinity
114 dqmin133 min 1 -Inf -> -Infinity
115 dqmin134 min 1000 -Inf -> -Infinity
116 dqmin135 min Inf -Inf -> -Infinity
117
118 -- 2004.08.02 754r chooses number over NaN in mixed cases
119 dqmin141 min NaN -Inf -> -Infinity
120 dqmin142 min NaN -1000 -> -1000
121 dqmin143 min NaN -1 -> -1
122 dqmin144 min NaN -0 -> -0
123 dqmin145 min NaN 0 -> 0
124 dqmin146 min NaN 1 -> 1
125 dqmin147 min NaN 1000 -> 1000
126 dqmin148 min NaN Inf -> Infinity
127 dqmin149 min NaN NaN -> NaN
128 dqmin150 min -Inf NaN -> -Infinity
129 dqmin151 min -1000 NaN -> -1000
130 dqmin152 min -1 -NaN -> -1
131 dqmin153 min -0 NaN -> -0
132 dqmin154 min 0 -NaN -> 0
133 dqmin155 min 1 NaN -> 1
134 dqmin156 min 1000 NaN -> 1000
135 dqmin157 min Inf NaN -> Infinity
136
137 dqmin161 min sNaN -Inf -> NaN Invalid_operation
138 dqmin162 min sNaN -1000 -> NaN Invalid_operation
139 dqmin163 min sNaN -1 -> NaN Invalid_operation
140 dqmin164 min sNaN -0 -> NaN Invalid_operation
141 dqmin165 min -sNaN 0 -> -NaN Invalid_operation
142 dqmin166 min -sNaN 1 -> -NaN Invalid_operation
143 dqmin167 min sNaN 1000 -> NaN Invalid_operation
144 dqmin168 min sNaN NaN -> NaN Invalid_operation
145 dqmin169 min sNaN sNaN -> NaN Invalid_operation
146 dqmin170 min NaN sNaN -> NaN Invalid_operation
147 dqmin171 min -Inf sNaN -> NaN Invalid_operation
148 dqmin172 min -1000 sNaN -> NaN Invalid_operation
149 dqmin173 min -1 sNaN -> NaN Invalid_operation
150 dqmin174 min -0 sNaN -> NaN Invalid_operation
151 dqmin175 min 0 sNaN -> NaN Invalid_operation
152 dqmin176 min 1 sNaN -> NaN Invalid_operation
153 dqmin177 min 1000 sNaN -> NaN Invalid_operation
154 dqmin178 min Inf sNaN -> NaN Invalid_operation
155 dqmin179 min NaN sNaN -> NaN Invalid_operation
156
157 -- propagating NaNs
158 dqmin181 min NaN9 -Inf -> -Infinity
159 dqmin182 min -NaN8 9990 -> 9990
160 dqmin183 min NaN71 Inf -> Infinity
161
162 dqmin184 min NaN1 NaN54 -> NaN1
163 dqmin185 min NaN22 -NaN53 -> NaN22
164 dqmin186 min -NaN3 NaN6 -> -NaN3
165 dqmin187 min -NaN44 NaN7 -> -NaN44
166
167 dqmin188 min -Inf NaN41 -> -Infinity
168 dqmin189 min -9999 -NaN33 -> -9999
169 dqmin190 min Inf NaN2 -> Infinity
170
171 dqmin191 min sNaN99 -Inf -> NaN99 Invalid_operation
172 dqmin192 min sNaN98 -11 -> NaN98 Invalid_operation
173 dqmin193 min -sNaN97 NaN8 -> -NaN97 Invalid_operation
174 dqmin194 min sNaN69 sNaN94 -> NaN69 Invalid_operation
175 dqmin195 min NaN95 sNaN93 -> NaN93 Invalid_operation
176 dqmin196 min -Inf sNaN92 -> NaN92 Invalid_operation
177 dqmin197 min 088 sNaN91 -> NaN91 Invalid_operation
178 dqmin198 min Inf -sNaN90 -> -NaN90 Invalid_operation
179 dqmin199 min NaN sNaN86 -> NaN86 Invalid_operation
180
181 -- old rounding checks
182 dqmin221 min -12345678000 1 -> -12345678000
183 dqmin222 min 1 -12345678000 -> -12345678000
184 dqmin223 min -1234567800 1 -> -1234567800
185 dqmin224 min 1 -1234567800 -> -1234567800
186 dqmin225 min -1234567890 1 -> -1234567890
187 dqmin226 min 1 -1234567890 -> -1234567890
188 dqmin227 min -1234567891 1 -> -1234567891
189 dqmin228 min 1 -1234567891 -> -1234567891
190 dqmin229 min -12345678901 1 -> -12345678901
191 dqmin230 min 1 -12345678901 -> -12345678901
192 dqmin231 min -1234567896 1 -> -1234567896
193 dqmin232 min 1 -1234567896 -> -1234567896
194 dqmin233 min 1234567891 1 -> 1
195 dqmin234 min 1 1234567891 -> 1
196 dqmin235 min 12345678901 1 -> 1
197 dqmin236 min 1 12345678901 -> 1
198 dqmin237 min 1234567896 1 -> 1
199 dqmin238 min 1 1234567896 -> 1
200
201 -- from examples
202 dqmin280 min '3' '2' -> '2'
203 dqmin281 min '-10' '3' -> '-10'
204 dqmin282 min '1.0' '1' -> '1.0'
205 dqmin283 min '1' '1.0' -> '1.0'
206 dqmin284 min '7' 'NaN' -> '7'
207
208 -- expanded list from min/max 754r purple prose
209 -- [explicit tests for exponent ordering]
210 dqmin401 min Inf 1.1 -> 1.1
211 dqmin402 min 1.1 1 -> 1
212 dqmin403 min 1 1.0 -> 1.0
213 dqmin404 min 1.0 0.1 -> 0.1
214 dqmin405 min 0.1 0.10 -> 0.10
215 dqmin406 min 0.10 0.100 -> 0.100
216 dqmin407 min 0.10 0 -> 0
217 dqmin408 min 0 0.0 -> 0.0
218 dqmin409 min 0.0 -0 -> -0
219 dqmin410 min 0.0 -0.0 -> -0.0
220 dqmin411 min 0.00 -0.0 -> -0.0
221 dqmin412 min 0.0 -0.00 -> -0.00
222 dqmin413 min 0 -0.0 -> -0.0
223 dqmin414 min 0 -0 -> -0
224 dqmin415 min -0.0 -0 -> -0
225 dqmin416 min -0 -0.100 -> -0.100
226 dqmin417 min -0.100 -0.10 -> -0.10
227 dqmin418 min -0.10 -0.1 -> -0.1
228 dqmin419 min -0.1 -1.0 -> -1.0
229 dqmin420 min -1.0 -1 -> -1
230 dqmin421 min -1 -1.1 -> -1.1
231 dqmin423 min -1.1 -Inf -> -Infinity
232 -- same with operands reversed
233 dqmin431 min 1.1 Inf -> 1.1
234 dqmin432 min 1 1.1 -> 1
235 dqmin433 min 1.0 1 -> 1.0
236 dqmin434 min 0.1 1.0 -> 0.1
237 dqmin435 min 0.10 0.1 -> 0.10
238 dqmin436 min 0.100 0.10 -> 0.100
239 dqmin437 min 0 0.10 -> 0
240 dqmin438 min 0.0 0 -> 0.0
241 dqmin439 min -0 0.0 -> -0
242 dqmin440 min -0.0 0.0 -> -0.0
243 dqmin441 min -0.0 0.00 -> -0.0
244 dqmin442 min -0.00 0.0 -> -0.00
245 dqmin443 min -0.0 0 -> -0.0
246 dqmin444 min -0 0 -> -0
247 dqmin445 min -0 -0.0 -> -0
248 dqmin446 min -0.100 -0 -> -0.100
249 dqmin447 min -0.10 -0.100 -> -0.10
250 dqmin448 min -0.1 -0.10 -> -0.1
251 dqmin449 min -1.0 -0.1 -> -1.0
252 dqmin450 min -1 -1.0 -> -1
253 dqmin451 min -1.1 -1 -> -1.1
254 dqmin453 min -Inf -1.1 -> -Infinity
255 -- largies
256 dqmin460 min 1000 1E+3 -> 1000
257 dqmin461 min 1E+3 1000 -> 1000
258 dqmin462 min 1000 -1E+3 -> -1E+3
259 dqmin463 min 1E+3 -384 -> -384
260 dqmin464 min -384 1E+3 -> -384
261 dqmin465 min -1E+3 1000 -> -1E+3
262 dqmin466 min -384 -1E+3 -> -1E+3
263 dqmin467 min -1E+3 -384 -> -1E+3
264
265 -- misalignment traps for little-endian
266 dqmin471 min 1.0 0.1 -> 0.1
267 dqmin472 min 0.1 1.0 -> 0.1
268 dqmin473 min 10.0 0.1 -> 0.1
269 dqmin474 min 0.1 10.0 -> 0.1
270 dqmin475 min 100 1.0 -> 1.0
271 dqmin476 min 1.0 100 -> 1.0
272 dqmin477 min 1000 10.0 -> 10.0
273 dqmin478 min 10.0 1000 -> 10.0
274 dqmin479 min 10000 100.0 -> 100.0
275 dqmin480 min 100.0 10000 -> 100.0
276 dqmin481 min 100000 1000.0 -> 1000.0
277 dqmin482 min 1000.0 100000 -> 1000.0
278 dqmin483 min 1000000 10000.0 -> 10000.0
279 dqmin484 min 10000.0 1000000 -> 10000.0
280
281 -- subnormals
282 dqmin510 min 1.00E-6143 0 -> 0
283 dqmin511 min 0.1E-6143 0 -> 0
284 dqmin512 min 0.10E-6143 0 -> 0
285 dqmin513 min 0.100E-6143 0 -> 0
286 dqmin514 min 0.01E-6143 0 -> 0
287 dqmin515 min 0.999E-6143 0 -> 0
288 dqmin516 min 0.099E-6143 0 -> 0
289 dqmin517 min 0.009E-6143 0 -> 0
290 dqmin518 min 0.001E-6143 0 -> 0
291 dqmin519 min 0.0009E-6143 0 -> 0
292 dqmin520 min 0.0001E-6143 0 -> 0
293
294 dqmin530 min -1.00E-6143 0 -> -1.00E-6143
295 dqmin531 min -0.1E-6143 0 -> -1E-6144 Subnormal
296 dqmin532 min -0.10E-6143 0 -> -1.0E-6144 Subnormal
297 dqmin533 min -0.100E-6143 0 -> -1.00E-6144 Subnormal
298 dqmin534 min -0.01E-6143 0 -> -1E-6145 Subnormal
299 dqmin535 min -0.999E-6143 0 -> -9.99E-6144 Subnormal
300 dqmin536 min -0.099E-6143 0 -> -9.9E-6145 Subnormal
301 dqmin537 min -0.009E-6143 0 -> -9E-6146 Subnormal
302 dqmin538 min -0.001E-6143 0 -> -1E-6146 Subnormal
303 dqmin539 min -0.0009E-6143 0 -> -9E-6147 Subnormal
304 dqmin540 min -0.0001E-6143 0 -> -1E-6147 Subnormal
305
306
307 -- Null tests
308 dqmin900 min 10 # -> NaN Invalid_operation
309 dqmin901 min # 10 -> NaN Invalid_operation