blob: 54a763cccf3d2ecbebf1c21ad7dd1687f0be6eb9 [file] [log] [blame]
Thomas Wouters1b7f8912007-09-19 03:06:30 +00001------------------------------------------------------------------------
2-- ddSameQuantum.decTest -- check decDouble quantums match --
Benjamin Petersonf17ff4e2008-07-31 16:32:12 +00003-- Copyright (c) IBM Corporation, 2001, 2008. All rights reserved. --
Thomas Wouters1b7f8912007-09-19 03:06:30 +00004------------------------------------------------------------------------
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------------------------------------------------------------------------
Mark Dickinson8a546532009-10-08 16:30:38 +000020version: 2.59
Thomas Wouters1b7f8912007-09-19 03:06:30 +000021
22-- All operands and results are decDoubles.
23precision: 16
24maxExponent: 384
25minExponent: -383
26extended: 1
27clamp: 1
28rounding: half_even
29
30ddsamq001 samequantum 0 0 -> 1
31ddsamq002 samequantum 0 1 -> 1
32ddsamq003 samequantum 1 0 -> 1
33ddsamq004 samequantum 1 1 -> 1
34
35ddsamq011 samequantum 10 1E+1 -> 0
36ddsamq012 samequantum 10E+1 10E+1 -> 1
37ddsamq013 samequantum 100 10E+1 -> 0
38ddsamq014 samequantum 100 1E+2 -> 0
39ddsamq015 samequantum 0.1 1E-2 -> 0
40ddsamq016 samequantum 0.1 1E-1 -> 1
41ddsamq017 samequantum 0.1 1E-0 -> 0
42ddsamq018 samequantum 999 999 -> 1
43ddsamq019 samequantum 999E-1 99.9 -> 1
44ddsamq020 samequantum 111E-1 22.2 -> 1
45ddsamq021 samequantum 111E-1 1234.2 -> 1
46
47-- zeros
48ddsamq030 samequantum 0.0 1.1 -> 1
49ddsamq031 samequantum 0.0 1.11 -> 0
50ddsamq032 samequantum 0.0 0 -> 0
51ddsamq033 samequantum 0.0 0.0 -> 1
52ddsamq034 samequantum 0.0 0.00 -> 0
53ddsamq035 samequantum 0E+1 0E+0 -> 0
54ddsamq036 samequantum 0E+1 0E+1 -> 1
55ddsamq037 samequantum 0E+1 0E+2 -> 0
56ddsamq038 samequantum 0E-17 0E-16 -> 0
57ddsamq039 samequantum 0E-17 0E-17 -> 1
58ddsamq040 samequantum 0E-17 0E-18 -> 0
59ddsamq041 samequantum 0E-17 0.0E-15 -> 0
60ddsamq042 samequantum 0E-17 0.0E-16 -> 1
61ddsamq043 samequantum 0E-17 0.0E-17 -> 0
62ddsamq044 samequantum -0E-17 0.0E-16 -> 1
63ddsamq045 samequantum 0E-17 -0.0E-17 -> 0
64ddsamq046 samequantum 0E-17 -0.0E-16 -> 1
65ddsamq047 samequantum -0E-17 0.0E-17 -> 0
66ddsamq048 samequantum -0E-17 -0.0E-16 -> 1
67ddsamq049 samequantum -0E-17 -0.0E-17 -> 0
68
69-- Nmax, Nmin, Ntiny
70ddsamq051 samequantum 9.999999999999999E+384 9.999999999999999E+384 -> 1
71ddsamq052 samequantum 1E-383 1E-383 -> 1
72ddsamq053 samequantum 1.000000000000000E-383 1.000000000000000E-383 -> 1
73ddsamq054 samequantum 1E-398 1E-398 -> 1
74ddsamq055 samequantum 9.999999999999999E+384 9.999999999999999E+384 -> 1
75ddsamq056 samequantum 1E-383 1E-383 -> 1
76ddsamq057 samequantum 1.000000000000000E-383 1.000000000000000E-383 -> 1
77ddsamq058 samequantum 1E-398 1E-398 -> 1
78
79ddsamq061 samequantum -1E-398 -1E-398 -> 1
80ddsamq062 samequantum -1.000000000000000E-383 -1.000000000000000E-383 -> 1
81ddsamq063 samequantum -1E-383 -1E-383 -> 1
82ddsamq064 samequantum -9.999999999999999E+384 -9.999999999999999E+384 -> 1
83ddsamq065 samequantum -1E-398 -1E-398 -> 1
84ddsamq066 samequantum -1.000000000000000E-383 -1.000000000000000E-383 -> 1
85ddsamq067 samequantum -1E-383 -1E-383 -> 1
86ddsamq068 samequantum -9.999999999999999E+384 -9.999999999999999E+384 -> 1
87
88ddsamq071 samequantum -4E-398 -1E-398 -> 1
89ddsamq072 samequantum -4.000000000000000E-383 -1.000040000000000E-383 -> 1
90ddsamq073 samequantum -4E-383 -1E-383 -> 1
91ddsamq074 samequantum -4.999999999999999E+384 -9.999999999949999E+384 -> 1
92ddsamq075 samequantum -4E-398 -1E-398 -> 1
93ddsamq076 samequantum -4.000000000000000E-383 -1.004000000000000E-383 -> 1
94ddsamq077 samequantum -4E-383 -1E-383 -> 1
95ddsamq078 samequantum -4.999999999999999E+384 -9.949999999999999E+384 -> 1
96
97ddsamq081 samequantum -4E-397 -1E-398 -> 0
98ddsamq082 samequantum -4.000000000000000E-383 -1.000040000000000E-336 -> 0
99ddsamq083 samequantum -4E-346 -1E-383 -> 0
100ddsamq084 samequantum -4.999999999999999E+384 -9.999499999999999E+336 -> 0
101ddsamq085 samequantum -4E-397 -1E-398 -> 0
102ddsamq086 samequantum -4.000000000000000E-383 -1.004000000000000E-336 -> 0
103ddsamq087 samequantum -4E-346 -1E-383 -> 0
104ddsamq088 samequantum -4.999999999999999E+384 -9.949999999999999E+336 -> 0
105
106-- specials & combinations
107ddsamq0110 samequantum -Inf -Inf -> 1
108ddsamq0111 samequantum -Inf Inf -> 1
109ddsamq0112 samequantum -Inf NaN -> 0
110ddsamq0113 samequantum -Inf -7E+3 -> 0
111ddsamq0114 samequantum -Inf -7 -> 0
112ddsamq0115 samequantum -Inf -7E-3 -> 0
113ddsamq0116 samequantum -Inf -0E-3 -> 0
114ddsamq0117 samequantum -Inf -0 -> 0
115ddsamq0118 samequantum -Inf -0E+3 -> 0
116ddsamq0119 samequantum -Inf 0E-3 -> 0
117ddsamq0120 samequantum -Inf 0 -> 0
118ddsamq0121 samequantum -Inf 0E+3 -> 0
119ddsamq0122 samequantum -Inf 7E-3 -> 0
120ddsamq0123 samequantum -Inf 7 -> 0
121ddsamq0124 samequantum -Inf 7E+3 -> 0
122ddsamq0125 samequantum -Inf sNaN -> 0
123
124ddsamq0210 samequantum Inf -Inf -> 1
125ddsamq0211 samequantum Inf Inf -> 1
126ddsamq0212 samequantum Inf NaN -> 0
127ddsamq0213 samequantum Inf -7E+3 -> 0
128ddsamq0214 samequantum Inf -7 -> 0
129ddsamq0215 samequantum Inf -7E-3 -> 0
130ddsamq0216 samequantum Inf -0E-3 -> 0
131ddsamq0217 samequantum Inf -0 -> 0
132ddsamq0218 samequantum Inf -0E+3 -> 0
133ddsamq0219 samequantum Inf 0E-3 -> 0
134ddsamq0220 samequantum Inf 0 -> 0
135ddsamq0221 samequantum Inf 0E+3 -> 0
136ddsamq0222 samequantum Inf 7E-3 -> 0
137ddsamq0223 samequantum Inf 7 -> 0
138ddsamq0224 samequantum Inf 7E+3 -> 0
139ddsamq0225 samequantum Inf sNaN -> 0
140
141ddsamq0310 samequantum NaN -Inf -> 0
142ddsamq0311 samequantum NaN Inf -> 0
143ddsamq0312 samequantum NaN NaN -> 1
144ddsamq0313 samequantum NaN -7E+3 -> 0
145ddsamq0314 samequantum NaN -7 -> 0
146ddsamq0315 samequantum NaN -7E-3 -> 0
147ddsamq0316 samequantum NaN -0E-3 -> 0
148ddsamq0317 samequantum NaN -0 -> 0
149ddsamq0318 samequantum NaN -0E+3 -> 0
150ddsamq0319 samequantum NaN 0E-3 -> 0
151ddsamq0320 samequantum NaN 0 -> 0
152ddsamq0321 samequantum NaN 0E+3 -> 0
153ddsamq0322 samequantum NaN 7E-3 -> 0
154ddsamq0323 samequantum NaN 7 -> 0
155ddsamq0324 samequantum NaN 7E+3 -> 0
156ddsamq0325 samequantum NaN sNaN -> 1
157
158ddsamq0410 samequantum -7E+3 -Inf -> 0
159ddsamq0411 samequantum -7E+3 Inf -> 0
160ddsamq0412 samequantum -7E+3 NaN -> 0
161ddsamq0413 samequantum -7E+3 -7E+3 -> 1
162ddsamq0414 samequantum -7E+3 -7 -> 0
163ddsamq0415 samequantum -7E+3 -7E-3 -> 0
164ddsamq0416 samequantum -7E+3 -0E-3 -> 0
165ddsamq0417 samequantum -7E+3 -0 -> 0
166ddsamq0418 samequantum -7E+3 -0E+3 -> 1
167ddsamq0419 samequantum -7E+3 0E-3 -> 0
168ddsamq0420 samequantum -7E+3 0 -> 0
169ddsamq0421 samequantum -7E+3 0E+3 -> 1
170ddsamq0422 samequantum -7E+3 7E-3 -> 0
171ddsamq0423 samequantum -7E+3 7 -> 0
172ddsamq0424 samequantum -7E+3 7E+3 -> 1
173ddsamq0425 samequantum -7E+3 sNaN -> 0
174
175ddsamq0510 samequantum -7 -Inf -> 0
176ddsamq0511 samequantum -7 Inf -> 0
177ddsamq0512 samequantum -7 NaN -> 0
178ddsamq0513 samequantum -7 -7E+3 -> 0
179ddsamq0514 samequantum -7 -7 -> 1
180ddsamq0515 samequantum -7 -7E-3 -> 0
181ddsamq0516 samequantum -7 -0E-3 -> 0
182ddsamq0517 samequantum -7 -0 -> 1
183ddsamq0518 samequantum -7 -0E+3 -> 0
184ddsamq0519 samequantum -7 0E-3 -> 0
185ddsamq0520 samequantum -7 0 -> 1
186ddsamq0521 samequantum -7 0E+3 -> 0
187ddsamq0522 samequantum -7 7E-3 -> 0
188ddsamq0523 samequantum -7 7 -> 1
189ddsamq0524 samequantum -7 7E+3 -> 0
190ddsamq0525 samequantum -7 sNaN -> 0
191
192ddsamq0610 samequantum -7E-3 -Inf -> 0
193ddsamq0611 samequantum -7E-3 Inf -> 0
194ddsamq0612 samequantum -7E-3 NaN -> 0
195ddsamq0613 samequantum -7E-3 -7E+3 -> 0
196ddsamq0614 samequantum -7E-3 -7 -> 0
197ddsamq0615 samequantum -7E-3 -7E-3 -> 1
198ddsamq0616 samequantum -7E-3 -0E-3 -> 1
199ddsamq0617 samequantum -7E-3 -0 -> 0
200ddsamq0618 samequantum -7E-3 -0E+3 -> 0
201ddsamq0619 samequantum -7E-3 0E-3 -> 1
202ddsamq0620 samequantum -7E-3 0 -> 0
203ddsamq0621 samequantum -7E-3 0E+3 -> 0
204ddsamq0622 samequantum -7E-3 7E-3 -> 1
205ddsamq0623 samequantum -7E-3 7 -> 0
206ddsamq0624 samequantum -7E-3 7E+3 -> 0
207ddsamq0625 samequantum -7E-3 sNaN -> 0
208
209ddsamq0710 samequantum -0E-3 -Inf -> 0
210ddsamq0711 samequantum -0E-3 Inf -> 0
211ddsamq0712 samequantum -0E-3 NaN -> 0
212ddsamq0713 samequantum -0E-3 -7E+3 -> 0
213ddsamq0714 samequantum -0E-3 -7 -> 0
214ddsamq0715 samequantum -0E-3 -7E-3 -> 1
215ddsamq0716 samequantum -0E-3 -0E-3 -> 1
216ddsamq0717 samequantum -0E-3 -0 -> 0
217ddsamq0718 samequantum -0E-3 -0E+3 -> 0
218ddsamq0719 samequantum -0E-3 0E-3 -> 1
219ddsamq0720 samequantum -0E-3 0 -> 0
220ddsamq0721 samequantum -0E-3 0E+3 -> 0
221ddsamq0722 samequantum -0E-3 7E-3 -> 1
222ddsamq0723 samequantum -0E-3 7 -> 0
223ddsamq0724 samequantum -0E-3 7E+3 -> 0
224ddsamq0725 samequantum -0E-3 sNaN -> 0
225
226ddsamq0810 samequantum -0 -Inf -> 0
227ddsamq0811 samequantum -0 Inf -> 0
228ddsamq0812 samequantum -0 NaN -> 0
229ddsamq0813 samequantum -0 -7E+3 -> 0
230ddsamq0814 samequantum -0 -7 -> 1
231ddsamq0815 samequantum -0 -7E-3 -> 0
232ddsamq0816 samequantum -0 -0E-3 -> 0
233ddsamq0817 samequantum -0 -0 -> 1
234ddsamq0818 samequantum -0 -0E+3 -> 0
235ddsamq0819 samequantum -0 0E-3 -> 0
236ddsamq0820 samequantum -0 0 -> 1
237ddsamq0821 samequantum -0 0E+3 -> 0
238ddsamq0822 samequantum -0 7E-3 -> 0
239ddsamq0823 samequantum -0 7 -> 1
240ddsamq0824 samequantum -0 7E+3 -> 0
241ddsamq0825 samequantum -0 sNaN -> 0
242
243ddsamq0910 samequantum -0E+3 -Inf -> 0
244ddsamq0911 samequantum -0E+3 Inf -> 0
245ddsamq0912 samequantum -0E+3 NaN -> 0
246ddsamq0913 samequantum -0E+3 -7E+3 -> 1
247ddsamq0914 samequantum -0E+3 -7 -> 0
248ddsamq0915 samequantum -0E+3 -7E-3 -> 0
249ddsamq0916 samequantum -0E+3 -0E-3 -> 0
250ddsamq0917 samequantum -0E+3 -0 -> 0
251ddsamq0918 samequantum -0E+3 -0E+3 -> 1
252ddsamq0919 samequantum -0E+3 0E-3 -> 0
253ddsamq0920 samequantum -0E+3 0 -> 0
254ddsamq0921 samequantum -0E+3 0E+3 -> 1
255ddsamq0922 samequantum -0E+3 7E-3 -> 0
256ddsamq0923 samequantum -0E+3 7 -> 0
257ddsamq0924 samequantum -0E+3 7E+3 -> 1
258ddsamq0925 samequantum -0E+3 sNaN -> 0
259
260ddsamq1110 samequantum 0E-3 -Inf -> 0
261ddsamq1111 samequantum 0E-3 Inf -> 0
262ddsamq1112 samequantum 0E-3 NaN -> 0
263ddsamq1113 samequantum 0E-3 -7E+3 -> 0
264ddsamq1114 samequantum 0E-3 -7 -> 0
265ddsamq1115 samequantum 0E-3 -7E-3 -> 1
266ddsamq1116 samequantum 0E-3 -0E-3 -> 1
267ddsamq1117 samequantum 0E-3 -0 -> 0
268ddsamq1118 samequantum 0E-3 -0E+3 -> 0
269ddsamq1119 samequantum 0E-3 0E-3 -> 1
270ddsamq1120 samequantum 0E-3 0 -> 0
271ddsamq1121 samequantum 0E-3 0E+3 -> 0
272ddsamq1122 samequantum 0E-3 7E-3 -> 1
273ddsamq1123 samequantum 0E-3 7 -> 0
274ddsamq1124 samequantum 0E-3 7E+3 -> 0
275ddsamq1125 samequantum 0E-3 sNaN -> 0
276
277ddsamq1210 samequantum 0 -Inf -> 0
278ddsamq1211 samequantum 0 Inf -> 0
279ddsamq1212 samequantum 0 NaN -> 0
280ddsamq1213 samequantum 0 -7E+3 -> 0
281ddsamq1214 samequantum 0 -7 -> 1
282ddsamq1215 samequantum 0 -7E-3 -> 0
283ddsamq1216 samequantum 0 -0E-3 -> 0
284ddsamq1217 samequantum 0 -0 -> 1
285ddsamq1218 samequantum 0 -0E+3 -> 0
286ddsamq1219 samequantum 0 0E-3 -> 0
287ddsamq1220 samequantum 0 0 -> 1
288ddsamq1221 samequantum 0 0E+3 -> 0
289ddsamq1222 samequantum 0 7E-3 -> 0
290ddsamq1223 samequantum 0 7 -> 1
291ddsamq1224 samequantum 0 7E+3 -> 0
292ddsamq1225 samequantum 0 sNaN -> 0
293
294ddsamq1310 samequantum 0E+3 -Inf -> 0
295ddsamq1311 samequantum 0E+3 Inf -> 0
296ddsamq1312 samequantum 0E+3 NaN -> 0
297ddsamq1313 samequantum 0E+3 -7E+3 -> 1
298ddsamq1314 samequantum 0E+3 -7 -> 0
299ddsamq1315 samequantum 0E+3 -7E-3 -> 0
300ddsamq1316 samequantum 0E+3 -0E-3 -> 0
301ddsamq1317 samequantum 0E+3 -0 -> 0
302ddsamq1318 samequantum 0E+3 -0E+3 -> 1
303ddsamq1319 samequantum 0E+3 0E-3 -> 0
304ddsamq1320 samequantum 0E+3 0 -> 0
305ddsamq1321 samequantum 0E+3 0E+3 -> 1
306ddsamq1322 samequantum 0E+3 7E-3 -> 0
307ddsamq1323 samequantum 0E+3 7 -> 0
308ddsamq1324 samequantum 0E+3 7E+3 -> 1
309ddsamq1325 samequantum 0E+3 sNaN -> 0
310
311ddsamq1410 samequantum 7E-3 -Inf -> 0
312ddsamq1411 samequantum 7E-3 Inf -> 0
313ddsamq1412 samequantum 7E-3 NaN -> 0
314ddsamq1413 samequantum 7E-3 -7E+3 -> 0
315ddsamq1414 samequantum 7E-3 -7 -> 0
316ddsamq1415 samequantum 7E-3 -7E-3 -> 1
317ddsamq1416 samequantum 7E-3 -0E-3 -> 1
318ddsamq1417 samequantum 7E-3 -0 -> 0
319ddsamq1418 samequantum 7E-3 -0E+3 -> 0
320ddsamq1419 samequantum 7E-3 0E-3 -> 1
321ddsamq1420 samequantum 7E-3 0 -> 0
322ddsamq1421 samequantum 7E-3 0E+3 -> 0
323ddsamq1422 samequantum 7E-3 7E-3 -> 1
324ddsamq1423 samequantum 7E-3 7 -> 0
325ddsamq1424 samequantum 7E-3 7E+3 -> 0
326ddsamq1425 samequantum 7E-3 sNaN -> 0
327
328ddsamq1510 samequantum 7 -Inf -> 0
329ddsamq1511 samequantum 7 Inf -> 0
330ddsamq1512 samequantum 7 NaN -> 0
331ddsamq1513 samequantum 7 -7E+3 -> 0
332ddsamq1514 samequantum 7 -7 -> 1
333ddsamq1515 samequantum 7 -7E-3 -> 0
334ddsamq1516 samequantum 7 -0E-3 -> 0
335ddsamq1517 samequantum 7 -0 -> 1
336ddsamq1518 samequantum 7 -0E+3 -> 0
337ddsamq1519 samequantum 7 0E-3 -> 0
338ddsamq1520 samequantum 7 0 -> 1
339ddsamq1521 samequantum 7 0E+3 -> 0
340ddsamq1522 samequantum 7 7E-3 -> 0
341ddsamq1523 samequantum 7 7 -> 1
342ddsamq1524 samequantum 7 7E+3 -> 0
343ddsamq1525 samequantum 7 sNaN -> 0
344
345ddsamq1610 samequantum 7E+3 -Inf -> 0
346ddsamq1611 samequantum 7E+3 Inf -> 0
347ddsamq1612 samequantum 7E+3 NaN -> 0
348ddsamq1613 samequantum 7E+3 -7E+3 -> 1
349ddsamq1614 samequantum 7E+3 -7 -> 0
350ddsamq1615 samequantum 7E+3 -7E-3 -> 0
351ddsamq1616 samequantum 7E+3 -0E-3 -> 0
352ddsamq1617 samequantum 7E+3 -0 -> 0
353ddsamq1618 samequantum 7E+3 -0E+3 -> 1
354ddsamq1619 samequantum 7E+3 0E-3 -> 0
355ddsamq1620 samequantum 7E+3 0 -> 0
356ddsamq1621 samequantum 7E+3 0E+3 -> 1
357ddsamq1622 samequantum 7E+3 7E-3 -> 0
358ddsamq1623 samequantum 7E+3 7 -> 0
359ddsamq1624 samequantum 7E+3 7E+3 -> 1
360ddsamq1625 samequantum 7E+3 sNaN -> 0
361
362ddsamq1710 samequantum sNaN -Inf -> 0
363ddsamq1711 samequantum sNaN Inf -> 0
364ddsamq1712 samequantum sNaN NaN -> 1
365ddsamq1713 samequantum sNaN -7E+3 -> 0
366ddsamq1714 samequantum sNaN -7 -> 0
367ddsamq1715 samequantum sNaN -7E-3 -> 0
368ddsamq1716 samequantum sNaN -0E-3 -> 0
369ddsamq1717 samequantum sNaN -0 -> 0
370ddsamq1718 samequantum sNaN -0E+3 -> 0
371ddsamq1719 samequantum sNaN 0E-3 -> 0
372ddsamq1720 samequantum sNaN 0 -> 0
373ddsamq1721 samequantum sNaN 0E+3 -> 0
374ddsamq1722 samequantum sNaN 7E-3 -> 0
375ddsamq1723 samequantum sNaN 7 -> 0
376ddsamq1724 samequantum sNaN 7E+3 -> 0
377ddsamq1725 samequantum sNaN sNaN -> 1
378-- noisy NaNs
379ddsamq1730 samequantum sNaN3 sNaN3 -> 1
380ddsamq1731 samequantum sNaN3 sNaN4 -> 1
381ddsamq1732 samequantum NaN3 NaN3 -> 1
382ddsamq1733 samequantum NaN3 NaN4 -> 1
383ddsamq1734 samequantum sNaN3 3 -> 0
384ddsamq1735 samequantum NaN3 3 -> 0
385ddsamq1736 samequantum 4 sNaN4 -> 0
386ddsamq1737 samequantum 3 NaN3 -> 0
387ddsamq1738 samequantum Inf sNaN4 -> 0
388ddsamq1739 samequantum -Inf NaN3 -> 0
389