blob: 9fc9dda952eb01e98955bfaeb2e3fac6b5266609 [file] [log] [blame]
Facundo Batista353750c2007-09-13 18:13:15 +00001------------------------------------------------------------------------
2-- dqCompareSig.decTest -- decQuad comparison; all NaNs signal --
Mark Dickinsonfe84cce2008-07-27 06:39:07 +00003-- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. --
Facundo Batista353750c2007-09-13 18:13:15 +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 Dickinsonfe84cce2008-07-27 06:39:07 +000020version: 2.58
Facundo Batista353750c2007-09-13 18:13:15 +000021
22-- Note that we cannot assume add/subtract tests cover paths adequately,
23-- here, because the code might be quite different (comparison cannot
24-- overflow or underflow, so actual subtractions are not necessary).
25
26-- All operands and results are decQuads.
27extended: 1
28clamp: 1
29precision: 34
30maxExponent: 6144
31minExponent: -6143
32rounding: half_even
33
34-- sanity checks
35dqcms001 comparesig -2 -2 -> 0
36dqcms002 comparesig -2 -1 -> -1
37dqcms003 comparesig -2 0 -> -1
38dqcms004 comparesig -2 1 -> -1
39dqcms005 comparesig -2 2 -> -1
40dqcms006 comparesig -1 -2 -> 1
41dqcms007 comparesig -1 -1 -> 0
42dqcms008 comparesig -1 0 -> -1
43dqcms009 comparesig -1 1 -> -1
44dqcms010 comparesig -1 2 -> -1
45dqcms011 comparesig 0 -2 -> 1
46dqcms012 comparesig 0 -1 -> 1
47dqcms013 comparesig 0 0 -> 0
48dqcms014 comparesig 0 1 -> -1
49dqcms015 comparesig 0 2 -> -1
50dqcms016 comparesig 1 -2 -> 1
51dqcms017 comparesig 1 -1 -> 1
52dqcms018 comparesig 1 0 -> 1
53dqcms019 comparesig 1 1 -> 0
54dqcms020 comparesig 1 2 -> -1
55dqcms021 comparesig 2 -2 -> 1
56dqcms022 comparesig 2 -1 -> 1
57dqcms023 comparesig 2 0 -> 1
58dqcms025 comparesig 2 1 -> 1
59dqcms026 comparesig 2 2 -> 0
60
61dqcms031 comparesig -20 -20 -> 0
62dqcms032 comparesig -20 -10 -> -1
63dqcms033 comparesig -20 00 -> -1
64dqcms034 comparesig -20 10 -> -1
65dqcms035 comparesig -20 20 -> -1
66dqcms036 comparesig -10 -20 -> 1
67dqcms037 comparesig -10 -10 -> 0
68dqcms038 comparesig -10 00 -> -1
69dqcms039 comparesig -10 10 -> -1
70dqcms040 comparesig -10 20 -> -1
71dqcms041 comparesig 00 -20 -> 1
72dqcms042 comparesig 00 -10 -> 1
73dqcms043 comparesig 00 00 -> 0
74dqcms044 comparesig 00 10 -> -1
75dqcms045 comparesig 00 20 -> -1
76dqcms046 comparesig 10 -20 -> 1
77dqcms047 comparesig 10 -10 -> 1
78dqcms048 comparesig 10 00 -> 1
79dqcms049 comparesig 10 10 -> 0
80dqcms050 comparesig 10 20 -> -1
81dqcms051 comparesig 20 -20 -> 1
82dqcms052 comparesig 20 -10 -> 1
83dqcms053 comparesig 20 00 -> 1
84dqcms055 comparesig 20 10 -> 1
85dqcms056 comparesig 20 20 -> 0
86
87dqcms061 comparesig -2.0 -2.0 -> 0
88dqcms062 comparesig -2.0 -1.0 -> -1
89dqcms063 comparesig -2.0 0.0 -> -1
90dqcms064 comparesig -2.0 1.0 -> -1
91dqcms065 comparesig -2.0 2.0 -> -1
92dqcms066 comparesig -1.0 -2.0 -> 1
93dqcms067 comparesig -1.0 -1.0 -> 0
94dqcms068 comparesig -1.0 0.0 -> -1
95dqcms069 comparesig -1.0 1.0 -> -1
96dqcms070 comparesig -1.0 2.0 -> -1
97dqcms071 comparesig 0.0 -2.0 -> 1
98dqcms072 comparesig 0.0 -1.0 -> 1
99dqcms073 comparesig 0.0 0.0 -> 0
100dqcms074 comparesig 0.0 1.0 -> -1
101dqcms075 comparesig 0.0 2.0 -> -1
102dqcms076 comparesig 1.0 -2.0 -> 1
103dqcms077 comparesig 1.0 -1.0 -> 1
104dqcms078 comparesig 1.0 0.0 -> 1
105dqcms079 comparesig 1.0 1.0 -> 0
106dqcms080 comparesig 1.0 2.0 -> -1
107dqcms081 comparesig 2.0 -2.0 -> 1
108dqcms082 comparesig 2.0 -1.0 -> 1
109dqcms083 comparesig 2.0 0.0 -> 1
110dqcms085 comparesig 2.0 1.0 -> 1
111dqcms086 comparesig 2.0 2.0 -> 0
112
113-- now some cases which might overflow if subtract were used
114dqcms090 comparesig 9.999999999999999999999999999999999E+6144 9.999999999999999999999999999999999E+6144 -> 0
115dqcms091 comparesig -9.999999999999999999999999999999999E+6144 9.999999999999999999999999999999999E+6144 -> -1
116dqcms092 comparesig 9.999999999999999999999999999999999E+6144 -9.999999999999999999999999999999999E+6144 -> 1
117dqcms093 comparesig -9.999999999999999999999999999999999E+6144 -9.999999999999999999999999999999999E+6144 -> 0
118
119-- some differing length/exponent cases
120dqcms100 comparesig 7.0 7.0 -> 0
121dqcms101 comparesig 7.0 7 -> 0
122dqcms102 comparesig 7 7.0 -> 0
123dqcms103 comparesig 7E+0 7.0 -> 0
124dqcms104 comparesig 70E-1 7.0 -> 0
125dqcms105 comparesig 0.7E+1 7 -> 0
126dqcms106 comparesig 70E-1 7 -> 0
127dqcms107 comparesig 7.0 7E+0 -> 0
128dqcms108 comparesig 7.0 70E-1 -> 0
129dqcms109 comparesig 7 0.7E+1 -> 0
130dqcms110 comparesig 7 70E-1 -> 0
131
132dqcms120 comparesig 8.0 7.0 -> 1
133dqcms121 comparesig 8.0 7 -> 1
134dqcms122 comparesig 8 7.0 -> 1
135dqcms123 comparesig 8E+0 7.0 -> 1
136dqcms124 comparesig 80E-1 7.0 -> 1
137dqcms125 comparesig 0.8E+1 7 -> 1
138dqcms126 comparesig 80E-1 7 -> 1
139dqcms127 comparesig 8.0 7E+0 -> 1
140dqcms128 comparesig 8.0 70E-1 -> 1
141dqcms129 comparesig 8 0.7E+1 -> 1
142dqcms130 comparesig 8 70E-1 -> 1
143
144dqcms140 comparesig 8.0 9.0 -> -1
145dqcms141 comparesig 8.0 9 -> -1
146dqcms142 comparesig 8 9.0 -> -1
147dqcms143 comparesig 8E+0 9.0 -> -1
148dqcms144 comparesig 80E-1 9.0 -> -1
149dqcms145 comparesig 0.8E+1 9 -> -1
150dqcms146 comparesig 80E-1 9 -> -1
151dqcms147 comparesig 8.0 9E+0 -> -1
152dqcms148 comparesig 8.0 90E-1 -> -1
153dqcms149 comparesig 8 0.9E+1 -> -1
154dqcms150 comparesig 8 90E-1 -> -1
155
156-- and again, with sign changes -+ ..
157dqcms200 comparesig -7.0 7.0 -> -1
158dqcms201 comparesig -7.0 7 -> -1
159dqcms202 comparesig -7 7.0 -> -1
160dqcms203 comparesig -7E+0 7.0 -> -1
161dqcms204 comparesig -70E-1 7.0 -> -1
162dqcms205 comparesig -0.7E+1 7 -> -1
163dqcms206 comparesig -70E-1 7 -> -1
164dqcms207 comparesig -7.0 7E+0 -> -1
165dqcms208 comparesig -7.0 70E-1 -> -1
166dqcms209 comparesig -7 0.7E+1 -> -1
167dqcms210 comparesig -7 70E-1 -> -1
168
169dqcms220 comparesig -8.0 7.0 -> -1
170dqcms221 comparesig -8.0 7 -> -1
171dqcms222 comparesig -8 7.0 -> -1
172dqcms223 comparesig -8E+0 7.0 -> -1
173dqcms224 comparesig -80E-1 7.0 -> -1
174dqcms225 comparesig -0.8E+1 7 -> -1
175dqcms226 comparesig -80E-1 7 -> -1
176dqcms227 comparesig -8.0 7E+0 -> -1
177dqcms228 comparesig -8.0 70E-1 -> -1
178dqcms229 comparesig -8 0.7E+1 -> -1
179dqcms230 comparesig -8 70E-1 -> -1
180
181dqcms240 comparesig -8.0 9.0 -> -1
182dqcms241 comparesig -8.0 9 -> -1
183dqcms242 comparesig -8 9.0 -> -1
184dqcms243 comparesig -8E+0 9.0 -> -1
185dqcms244 comparesig -80E-1 9.0 -> -1
186dqcms245 comparesig -0.8E+1 9 -> -1
187dqcms246 comparesig -80E-1 9 -> -1
188dqcms247 comparesig -8.0 9E+0 -> -1
189dqcms248 comparesig -8.0 90E-1 -> -1
190dqcms249 comparesig -8 0.9E+1 -> -1
191dqcms250 comparesig -8 90E-1 -> -1
192
193-- and again, with sign changes +- ..
194dqcms300 comparesig 7.0 -7.0 -> 1
195dqcms301 comparesig 7.0 -7 -> 1
196dqcms302 comparesig 7 -7.0 -> 1
197dqcms303 comparesig 7E+0 -7.0 -> 1
198dqcms304 comparesig 70E-1 -7.0 -> 1
199dqcms305 comparesig .7E+1 -7 -> 1
200dqcms306 comparesig 70E-1 -7 -> 1
201dqcms307 comparesig 7.0 -7E+0 -> 1
202dqcms308 comparesig 7.0 -70E-1 -> 1
203dqcms309 comparesig 7 -.7E+1 -> 1
204dqcms310 comparesig 7 -70E-1 -> 1
205
206dqcms320 comparesig 8.0 -7.0 -> 1
207dqcms321 comparesig 8.0 -7 -> 1
208dqcms322 comparesig 8 -7.0 -> 1
209dqcms323 comparesig 8E+0 -7.0 -> 1
210dqcms324 comparesig 80E-1 -7.0 -> 1
211dqcms325 comparesig .8E+1 -7 -> 1
212dqcms326 comparesig 80E-1 -7 -> 1
213dqcms327 comparesig 8.0 -7E+0 -> 1
214dqcms328 comparesig 8.0 -70E-1 -> 1
215dqcms329 comparesig 8 -.7E+1 -> 1
216dqcms330 comparesig 8 -70E-1 -> 1
217
218dqcms340 comparesig 8.0 -9.0 -> 1
219dqcms341 comparesig 8.0 -9 -> 1
220dqcms342 comparesig 8 -9.0 -> 1
221dqcms343 comparesig 8E+0 -9.0 -> 1
222dqcms344 comparesig 80E-1 -9.0 -> 1
223dqcms345 comparesig .8E+1 -9 -> 1
224dqcms346 comparesig 80E-1 -9 -> 1
225dqcms347 comparesig 8.0 -9E+0 -> 1
226dqcms348 comparesig 8.0 -90E-1 -> 1
227dqcms349 comparesig 8 -.9E+1 -> 1
228dqcms350 comparesig 8 -90E-1 -> 1
229
230-- and again, with sign changes -- ..
231dqcms400 comparesig -7.0 -7.0 -> 0
232dqcms401 comparesig -7.0 -7 -> 0
233dqcms402 comparesig -7 -7.0 -> 0
234dqcms403 comparesig -7E+0 -7.0 -> 0
235dqcms404 comparesig -70E-1 -7.0 -> 0
236dqcms405 comparesig -.7E+1 -7 -> 0
237dqcms406 comparesig -70E-1 -7 -> 0
238dqcms407 comparesig -7.0 -7E+0 -> 0
239dqcms408 comparesig -7.0 -70E-1 -> 0
240dqcms409 comparesig -7 -.7E+1 -> 0
241dqcms410 comparesig -7 -70E-1 -> 0
242
243dqcms420 comparesig -8.0 -7.0 -> -1
244dqcms421 comparesig -8.0 -7 -> -1
245dqcms422 comparesig -8 -7.0 -> -1
246dqcms423 comparesig -8E+0 -7.0 -> -1
247dqcms424 comparesig -80E-1 -7.0 -> -1
248dqcms425 comparesig -.8E+1 -7 -> -1
249dqcms426 comparesig -80E-1 -7 -> -1
250dqcms427 comparesig -8.0 -7E+0 -> -1
251dqcms428 comparesig -8.0 -70E-1 -> -1
252dqcms429 comparesig -8 -.7E+1 -> -1
253dqcms430 comparesig -8 -70E-1 -> -1
254
255dqcms440 comparesig -8.0 -9.0 -> 1
256dqcms441 comparesig -8.0 -9 -> 1
257dqcms442 comparesig -8 -9.0 -> 1
258dqcms443 comparesig -8E+0 -9.0 -> 1
259dqcms444 comparesig -80E-1 -9.0 -> 1
260dqcms445 comparesig -.8E+1 -9 -> 1
261dqcms446 comparesig -80E-1 -9 -> 1
262dqcms447 comparesig -8.0 -9E+0 -> 1
263dqcms448 comparesig -8.0 -90E-1 -> 1
264dqcms449 comparesig -8 -.9E+1 -> 1
265dqcms450 comparesig -8 -90E-1 -> 1
266
267
268-- testcases that subtract to lots of zeros at boundaries [pgr]
269dqcms473 comparesig 123.9999999999999999994560000000000E-89 123.999999999999999999456E-89 -> 0
270dqcms474 comparesig 123.999999999999999999456000000000E+89 123.999999999999999999456E+89 -> 0
271dqcms475 comparesig 123.99999999999999999945600000000E-89 123.999999999999999999456E-89 -> 0
272dqcms476 comparesig 123.9999999999999999994560000000E+89 123.999999999999999999456E+89 -> 0
273dqcms477 comparesig 123.999999999999999999456000000E-89 123.999999999999999999456E-89 -> 0
274dqcms478 comparesig 123.99999999999999999945600000E+89 123.999999999999999999456E+89 -> 0
275dqcms479 comparesig 123.9999999999999999994560000E-89 123.999999999999999999456E-89 -> 0
276dqcms480 comparesig 123.999999999999999999456000E+89 123.999999999999999999456E+89 -> 0
277dqcms481 comparesig 123.99999999999999999945600E-89 123.999999999999999999456E-89 -> 0
278dqcms482 comparesig 123.9999999999999999994560E+89 123.999999999999999999456E+89 -> 0
279dqcms483 comparesig 123.999999999999999999456E-89 123.999999999999999999456E-89 -> 0
280dqcms487 comparesig 123.999999999999999999456E+89 123.9999999999999999994560000000000E+89 -> 0
281dqcms488 comparesig 123.999999999999999999456E-89 123.999999999999999999456000000000E-89 -> 0
282dqcms489 comparesig 123.999999999999999999456E+89 123.99999999999999999945600000000E+89 -> 0
283dqcms490 comparesig 123.999999999999999999456E-89 123.9999999999999999994560000000E-89 -> 0
284dqcms491 comparesig 123.999999999999999999456E+89 123.999999999999999999456000000E+89 -> 0
285dqcms492 comparesig 123.999999999999999999456E-89 123.99999999999999999945600000E-89 -> 0
286dqcms493 comparesig 123.999999999999999999456E+89 123.9999999999999999994560000E+89 -> 0
287dqcms494 comparesig 123.999999999999999999456E-89 123.999999999999999999456000E-89 -> 0
288dqcms495 comparesig 123.999999999999999999456E+89 123.99999999999999999945600E+89 -> 0
289dqcms496 comparesig 123.999999999999999999456E-89 123.9999999999999999994560E-89 -> 0
290dqcms497 comparesig 123.999999999999999999456E+89 123.999999999999999999456E+89 -> 0
291
292-- wide-ranging, around precision; signs equal
293dqcms500 comparesig 1 1E-15 -> 1
294dqcms501 comparesig 1 1E-14 -> 1
295dqcms502 comparesig 1 1E-13 -> 1
296dqcms503 comparesig 1 1E-12 -> 1
297dqcms504 comparesig 1 1E-11 -> 1
298dqcms505 comparesig 1 1E-10 -> 1
299dqcms506 comparesig 1 1E-9 -> 1
300dqcms507 comparesig 1 1E-8 -> 1
301dqcms508 comparesig 1 1E-7 -> 1
302dqcms509 comparesig 1 1E-6 -> 1
303dqcms510 comparesig 1 1E-5 -> 1
304dqcms511 comparesig 1 1E-4 -> 1
305dqcms512 comparesig 1 1E-3 -> 1
306dqcms513 comparesig 1 1E-2 -> 1
307dqcms514 comparesig 1 1E-1 -> 1
308dqcms515 comparesig 1 1E-0 -> 0
309dqcms516 comparesig 1 1E+1 -> -1
310dqcms517 comparesig 1 1E+2 -> -1
311dqcms518 comparesig 1 1E+3 -> -1
312dqcms519 comparesig 1 1E+4 -> -1
313dqcms521 comparesig 1 1E+5 -> -1
314dqcms522 comparesig 1 1E+6 -> -1
315dqcms523 comparesig 1 1E+7 -> -1
316dqcms524 comparesig 1 1E+8 -> -1
317dqcms525 comparesig 1 1E+9 -> -1
318dqcms526 comparesig 1 1E+10 -> -1
319dqcms527 comparesig 1 1E+11 -> -1
320dqcms528 comparesig 1 1E+12 -> -1
321dqcms529 comparesig 1 1E+13 -> -1
322dqcms530 comparesig 1 1E+14 -> -1
323dqcms531 comparesig 1 1E+15 -> -1
324-- LR swap
325dqcms540 comparesig 1E-15 1 -> -1
326dqcms541 comparesig 1E-14 1 -> -1
327dqcms542 comparesig 1E-13 1 -> -1
328dqcms543 comparesig 1E-12 1 -> -1
329dqcms544 comparesig 1E-11 1 -> -1
330dqcms545 comparesig 1E-10 1 -> -1
331dqcms546 comparesig 1E-9 1 -> -1
332dqcms547 comparesig 1E-8 1 -> -1
333dqcms548 comparesig 1E-7 1 -> -1
334dqcms549 comparesig 1E-6 1 -> -1
335dqcms550 comparesig 1E-5 1 -> -1
336dqcms551 comparesig 1E-4 1 -> -1
337dqcms552 comparesig 1E-3 1 -> -1
338dqcms553 comparesig 1E-2 1 -> -1
339dqcms554 comparesig 1E-1 1 -> -1
340dqcms555 comparesig 1E-0 1 -> 0
341dqcms556 comparesig 1E+1 1 -> 1
342dqcms557 comparesig 1E+2 1 -> 1
343dqcms558 comparesig 1E+3 1 -> 1
344dqcms559 comparesig 1E+4 1 -> 1
345dqcms561 comparesig 1E+5 1 -> 1
346dqcms562 comparesig 1E+6 1 -> 1
347dqcms563 comparesig 1E+7 1 -> 1
348dqcms564 comparesig 1E+8 1 -> 1
349dqcms565 comparesig 1E+9 1 -> 1
350dqcms566 comparesig 1E+10 1 -> 1
351dqcms567 comparesig 1E+11 1 -> 1
352dqcms568 comparesig 1E+12 1 -> 1
353dqcms569 comparesig 1E+13 1 -> 1
354dqcms570 comparesig 1E+14 1 -> 1
355dqcms571 comparesig 1E+15 1 -> 1
356-- similar with a useful coefficient, one side only
357dqcms580 comparesig 0.000000987654321 1E-15 -> 1
358dqcms581 comparesig 0.000000987654321 1E-14 -> 1
359dqcms582 comparesig 0.000000987654321 1E-13 -> 1
360dqcms583 comparesig 0.000000987654321 1E-12 -> 1
361dqcms584 comparesig 0.000000987654321 1E-11 -> 1
362dqcms585 comparesig 0.000000987654321 1E-10 -> 1
363dqcms586 comparesig 0.000000987654321 1E-9 -> 1
364dqcms587 comparesig 0.000000987654321 1E-8 -> 1
365dqcms588 comparesig 0.000000987654321 1E-7 -> 1
366dqcms589 comparesig 0.000000987654321 1E-6 -> -1
367dqcms590 comparesig 0.000000987654321 1E-5 -> -1
368dqcms591 comparesig 0.000000987654321 1E-4 -> -1
369dqcms592 comparesig 0.000000987654321 1E-3 -> -1
370dqcms593 comparesig 0.000000987654321 1E-2 -> -1
371dqcms594 comparesig 0.000000987654321 1E-1 -> -1
372dqcms595 comparesig 0.000000987654321 1E-0 -> -1
373dqcms596 comparesig 0.000000987654321 1E+1 -> -1
374dqcms597 comparesig 0.000000987654321 1E+2 -> -1
375dqcms598 comparesig 0.000000987654321 1E+3 -> -1
376dqcms599 comparesig 0.000000987654321 1E+4 -> -1
377
378-- check some unit-y traps
379dqcms600 comparesig 12 12.2345 -> -1
380dqcms601 comparesig 12.0 12.2345 -> -1
381dqcms602 comparesig 12.00 12.2345 -> -1
382dqcms603 comparesig 12.000 12.2345 -> -1
383dqcms604 comparesig 12.0000 12.2345 -> -1
384dqcms605 comparesig 12.00000 12.2345 -> -1
385dqcms606 comparesig 12.000000 12.2345 -> -1
386dqcms607 comparesig 12.0000000 12.2345 -> -1
387dqcms608 comparesig 12.00000000 12.2345 -> -1
388dqcms609 comparesig 12.000000000 12.2345 -> -1
389dqcms610 comparesig 12.1234 12 -> 1
390dqcms611 comparesig 12.1234 12.0 -> 1
391dqcms612 comparesig 12.1234 12.00 -> 1
392dqcms613 comparesig 12.1234 12.000 -> 1
393dqcms614 comparesig 12.1234 12.0000 -> 1
394dqcms615 comparesig 12.1234 12.00000 -> 1
395dqcms616 comparesig 12.1234 12.000000 -> 1
396dqcms617 comparesig 12.1234 12.0000000 -> 1
397dqcms618 comparesig 12.1234 12.00000000 -> 1
398dqcms619 comparesig 12.1234 12.000000000 -> 1
399dqcms620 comparesig -12 -12.2345 -> 1
400dqcms621 comparesig -12.0 -12.2345 -> 1
401dqcms622 comparesig -12.00 -12.2345 -> 1
402dqcms623 comparesig -12.000 -12.2345 -> 1
403dqcms624 comparesig -12.0000 -12.2345 -> 1
404dqcms625 comparesig -12.00000 -12.2345 -> 1
405dqcms626 comparesig -12.000000 -12.2345 -> 1
406dqcms627 comparesig -12.0000000 -12.2345 -> 1
407dqcms628 comparesig -12.00000000 -12.2345 -> 1
408dqcms629 comparesig -12.000000000 -12.2345 -> 1
409dqcms630 comparesig -12.1234 -12 -> -1
410dqcms631 comparesig -12.1234 -12.0 -> -1
411dqcms632 comparesig -12.1234 -12.00 -> -1
412dqcms633 comparesig -12.1234 -12.000 -> -1
413dqcms634 comparesig -12.1234 -12.0000 -> -1
414dqcms635 comparesig -12.1234 -12.00000 -> -1
415dqcms636 comparesig -12.1234 -12.000000 -> -1
416dqcms637 comparesig -12.1234 -12.0000000 -> -1
417dqcms638 comparesig -12.1234 -12.00000000 -> -1
418dqcms639 comparesig -12.1234 -12.000000000 -> -1
419
420-- extended zeros
421dqcms640 comparesig 0 0 -> 0
422dqcms641 comparesig 0 -0 -> 0
423dqcms642 comparesig 0 -0.0 -> 0
424dqcms643 comparesig 0 0.0 -> 0
425dqcms644 comparesig -0 0 -> 0
426dqcms645 comparesig -0 -0 -> 0
427dqcms646 comparesig -0 -0.0 -> 0
428dqcms647 comparesig -0 0.0 -> 0
429dqcms648 comparesig 0.0 0 -> 0
430dqcms649 comparesig 0.0 -0 -> 0
431dqcms650 comparesig 0.0 -0.0 -> 0
432dqcms651 comparesig 0.0 0.0 -> 0
433dqcms652 comparesig -0.0 0 -> 0
434dqcms653 comparesig -0.0 -0 -> 0
435dqcms654 comparesig -0.0 -0.0 -> 0
436dqcms655 comparesig -0.0 0.0 -> 0
437
438dqcms656 comparesig -0E1 0.0 -> 0
439dqcms657 comparesig -0E2 0.0 -> 0
440dqcms658 comparesig 0E1 0.0 -> 0
441dqcms659 comparesig 0E2 0.0 -> 0
442dqcms660 comparesig -0E1 0 -> 0
443dqcms661 comparesig -0E2 0 -> 0
444dqcms662 comparesig 0E1 0 -> 0
445dqcms663 comparesig 0E2 0 -> 0
446dqcms664 comparesig -0E1 -0E1 -> 0
447dqcms665 comparesig -0E2 -0E1 -> 0
448dqcms666 comparesig 0E1 -0E1 -> 0
449dqcms667 comparesig 0E2 -0E1 -> 0
450dqcms668 comparesig -0E1 -0E2 -> 0
451dqcms669 comparesig -0E2 -0E2 -> 0
452dqcms670 comparesig 0E1 -0E2 -> 0
453dqcms671 comparesig 0E2 -0E2 -> 0
454dqcms672 comparesig -0E1 0E1 -> 0
455dqcms673 comparesig -0E2 0E1 -> 0
456dqcms674 comparesig 0E1 0E1 -> 0
457dqcms675 comparesig 0E2 0E1 -> 0
458dqcms676 comparesig -0E1 0E2 -> 0
459dqcms677 comparesig -0E2 0E2 -> 0
460dqcms678 comparesig 0E1 0E2 -> 0
461dqcms679 comparesig 0E2 0E2 -> 0
462
463-- trailing zeros; unit-y
464dqcms680 comparesig 12 12 -> 0
465dqcms681 comparesig 12 12.0 -> 0
466dqcms682 comparesig 12 12.00 -> 0
467dqcms683 comparesig 12 12.000 -> 0
468dqcms684 comparesig 12 12.0000 -> 0
469dqcms685 comparesig 12 12.00000 -> 0
470dqcms686 comparesig 12 12.000000 -> 0
471dqcms687 comparesig 12 12.0000000 -> 0
472dqcms688 comparesig 12 12.00000000 -> 0
473dqcms689 comparesig 12 12.000000000 -> 0
474dqcms690 comparesig 12 12 -> 0
475dqcms691 comparesig 12.0 12 -> 0
476dqcms692 comparesig 12.00 12 -> 0
477dqcms693 comparesig 12.000 12 -> 0
478dqcms694 comparesig 12.0000 12 -> 0
479dqcms695 comparesig 12.00000 12 -> 0
480dqcms696 comparesig 12.000000 12 -> 0
481dqcms697 comparesig 12.0000000 12 -> 0
482dqcms698 comparesig 12.00000000 12 -> 0
483dqcms699 comparesig 12.000000000 12 -> 0
484
485-- first, second, & last digit
486dqcms700 comparesig 1234567899999999999999999990123456 1234567899999999999999999990123455 -> 1
487dqcms701 comparesig 1234567899999999999999999990123456 1234567899999999999999999990123456 -> 0
488dqcms702 comparesig 1234567899999999999999999990123456 1234567899999999999999999990123457 -> -1
489dqcms703 comparesig 1234567899999999999999999990123456 0234567899999999999999999990123456 -> 1
490dqcms704 comparesig 1234567899999999999999999990123456 1234567899999999999999999990123456 -> 0
491dqcms705 comparesig 1234567899999999999999999990123456 2234567899999999999999999990123456 -> -1
492dqcms706 comparesig 1134567899999999999999999990123456 1034567899999999999999999990123456 -> 1
493dqcms707 comparesig 1134567899999999999999999990123456 1134567899999999999999999990123456 -> 0
494dqcms708 comparesig 1134567899999999999999999990123456 1234567899999999999999999990123456 -> -1
495
496-- miscellaneous
497dqcms721 comparesig 12345678000 1 -> 1
498dqcms722 comparesig 1 12345678000 -> -1
499dqcms723 comparesig 1234567800 1 -> 1
500dqcms724 comparesig 1 1234567800 -> -1
501dqcms725 comparesig 1234567890 1 -> 1
502dqcms726 comparesig 1 1234567890 -> -1
503dqcms727 comparesig 1234567891 1 -> 1
504dqcms728 comparesig 1 1234567891 -> -1
505dqcms729 comparesig 12345678901 1 -> 1
506dqcms730 comparesig 1 12345678901 -> -1
507dqcms731 comparesig 1234567896 1 -> 1
508dqcms732 comparesig 1 1234567896 -> -1
509
510-- residue cases at lower precision
511dqcms740 comparesig 1 0.9999999 -> 1
512dqcms741 comparesig 1 0.999999 -> 1
513dqcms742 comparesig 1 0.99999 -> 1
514dqcms743 comparesig 1 1.0000 -> 0
515dqcms744 comparesig 1 1.00001 -> -1
516dqcms745 comparesig 1 1.000001 -> -1
517dqcms746 comparesig 1 1.0000001 -> -1
518dqcms750 comparesig 0.9999999 1 -> -1
519dqcms751 comparesig 0.999999 1 -> -1
520dqcms752 comparesig 0.99999 1 -> -1
521dqcms753 comparesig 1.0000 1 -> 0
522dqcms754 comparesig 1.00001 1 -> 1
523dqcms755 comparesig 1.000001 1 -> 1
524dqcms756 comparesig 1.0000001 1 -> 1
525
526-- Specials
527dqcms780 comparesig Inf -Inf -> 1
528dqcms781 comparesig Inf -1000 -> 1
529dqcms782 comparesig Inf -1 -> 1
530dqcms783 comparesig Inf -0 -> 1
531dqcms784 comparesig Inf 0 -> 1
532dqcms785 comparesig Inf 1 -> 1
533dqcms786 comparesig Inf 1000 -> 1
534dqcms787 comparesig Inf Inf -> 0
535dqcms788 comparesig -1000 Inf -> -1
536dqcms789 comparesig -Inf Inf -> -1
537dqcms790 comparesig -1 Inf -> -1
538dqcms791 comparesig -0 Inf -> -1
539dqcms792 comparesig 0 Inf -> -1
540dqcms793 comparesig 1 Inf -> -1
541dqcms794 comparesig 1000 Inf -> -1
542dqcms795 comparesig Inf Inf -> 0
543
544dqcms800 comparesig -Inf -Inf -> 0
545dqcms801 comparesig -Inf -1000 -> -1
546dqcms802 comparesig -Inf -1 -> -1
547dqcms803 comparesig -Inf -0 -> -1
548dqcms804 comparesig -Inf 0 -> -1
549dqcms805 comparesig -Inf 1 -> -1
550dqcms806 comparesig -Inf 1000 -> -1
551dqcms807 comparesig -Inf Inf -> -1
552dqcms808 comparesig -Inf -Inf -> 0
553dqcms809 comparesig -1000 -Inf -> 1
554dqcms810 comparesig -1 -Inf -> 1
555dqcms811 comparesig -0 -Inf -> 1
556dqcms812 comparesig 0 -Inf -> 1
557dqcms813 comparesig 1 -Inf -> 1
558dqcms814 comparesig 1000 -Inf -> 1
559dqcms815 comparesig Inf -Inf -> 1
560
561dqcms821 comparesig NaN -Inf -> NaN Invalid_operation
562dqcms822 comparesig NaN -1000 -> NaN Invalid_operation
563dqcms823 comparesig NaN -1 -> NaN Invalid_operation
564dqcms824 comparesig NaN -0 -> NaN Invalid_operation
565dqcms825 comparesig NaN 0 -> NaN Invalid_operation
566dqcms826 comparesig NaN 1 -> NaN Invalid_operation
567dqcms827 comparesig NaN 1000 -> NaN Invalid_operation
568dqcms828 comparesig NaN Inf -> NaN Invalid_operation
569dqcms829 comparesig NaN NaN -> NaN Invalid_operation
570dqcms830 comparesig -Inf NaN -> NaN Invalid_operation
571dqcms831 comparesig -1000 NaN -> NaN Invalid_operation
572dqcms832 comparesig -1 NaN -> NaN Invalid_operation
573dqcms833 comparesig -0 NaN -> NaN Invalid_operation
574dqcms834 comparesig 0 NaN -> NaN Invalid_operation
575dqcms835 comparesig 1 NaN -> NaN Invalid_operation
576dqcms836 comparesig 1000 NaN -> NaN Invalid_operation
577dqcms837 comparesig Inf NaN -> NaN Invalid_operation
578dqcms838 comparesig -NaN -NaN -> -NaN Invalid_operation
579dqcms839 comparesig +NaN -NaN -> NaN Invalid_operation
580dqcms840 comparesig -NaN +NaN -> -NaN Invalid_operation
581
582dqcms841 comparesig sNaN -Inf -> NaN Invalid_operation
583dqcms842 comparesig sNaN -1000 -> NaN Invalid_operation
584dqcms843 comparesig sNaN -1 -> NaN Invalid_operation
585dqcms844 comparesig sNaN -0 -> NaN Invalid_operation
586dqcms845 comparesig sNaN 0 -> NaN Invalid_operation
587dqcms846 comparesig sNaN 1 -> NaN Invalid_operation
588dqcms847 comparesig sNaN 1000 -> NaN Invalid_operation
589dqcms848 comparesig sNaN NaN -> NaN Invalid_operation
590dqcms849 comparesig sNaN sNaN -> NaN Invalid_operation
591dqcms850 comparesig NaN sNaN -> NaN Invalid_operation
592dqcms851 comparesig -Inf sNaN -> NaN Invalid_operation
593dqcms852 comparesig -1000 sNaN -> NaN Invalid_operation
594dqcms853 comparesig -1 sNaN -> NaN Invalid_operation
595dqcms854 comparesig -0 sNaN -> NaN Invalid_operation
596dqcms855 comparesig 0 sNaN -> NaN Invalid_operation
597dqcms856 comparesig 1 sNaN -> NaN Invalid_operation
598dqcms857 comparesig 1000 sNaN -> NaN Invalid_operation
599dqcms858 comparesig Inf sNaN -> NaN Invalid_operation
600dqcms859 comparesig NaN sNaN -> NaN Invalid_operation
601
602-- propagating NaNs
603dqcms860 comparesig NaN9 -Inf -> NaN9 Invalid_operation
604dqcms861 comparesig NaN8 999 -> NaN8 Invalid_operation
605dqcms862 comparesig NaN77 Inf -> NaN77 Invalid_operation
606dqcms863 comparesig -NaN67 NaN5 -> -NaN67 Invalid_operation
607dqcms864 comparesig -Inf -NaN4 -> -NaN4 Invalid_operation
608dqcms865 comparesig -999 -NaN33 -> -NaN33 Invalid_operation
609dqcms866 comparesig Inf NaN2 -> NaN2 Invalid_operation
610dqcms867 comparesig -NaN41 -NaN42 -> -NaN41 Invalid_operation
611dqcms868 comparesig +NaN41 -NaN42 -> NaN41 Invalid_operation
612dqcms869 comparesig -NaN41 +NaN42 -> -NaN41 Invalid_operation
613dqcms870 comparesig +NaN41 +NaN42 -> NaN41 Invalid_operation
614
615dqcms871 comparesig -sNaN99 -Inf -> -NaN99 Invalid_operation
616dqcms872 comparesig sNaN98 -11 -> NaN98 Invalid_operation
617dqcms873 comparesig sNaN97 NaN -> NaN97 Invalid_operation
618dqcms874 comparesig sNaN16 sNaN94 -> NaN16 Invalid_operation
619dqcms875 comparesig NaN85 sNaN83 -> NaN83 Invalid_operation
620dqcms876 comparesig -Inf sNaN92 -> NaN92 Invalid_operation
621dqcms877 comparesig 088 sNaN81 -> NaN81 Invalid_operation
622dqcms878 comparesig Inf sNaN90 -> NaN90 Invalid_operation
623dqcms879 comparesig NaN -sNaN89 -> -NaN89 Invalid_operation
624
625-- wide range
626dqcms880 comparesig +1.23456789012345E-0 9E+6144 -> -1
627dqcms881 comparesig 9E+6144 +1.23456789012345E-0 -> 1
628dqcms882 comparesig +0.100 9E-6143 -> 1
629dqcms883 comparesig 9E-6143 +0.100 -> -1
630dqcms885 comparesig -1.23456789012345E-0 9E+6144 -> -1
631dqcms886 comparesig 9E+6144 -1.23456789012345E-0 -> 1
632dqcms887 comparesig -0.100 9E-6143 -> -1
633dqcms888 comparesig 9E-6143 -0.100 -> 1
634
635-- signs
636dqcms901 comparesig 1e+77 1e+11 -> 1
637dqcms902 comparesig 1e+77 -1e+11 -> 1
638dqcms903 comparesig -1e+77 1e+11 -> -1
639dqcms904 comparesig -1e+77 -1e+11 -> -1
640dqcms905 comparesig 1e-77 1e-11 -> -1
641dqcms906 comparesig 1e-77 -1e-11 -> 1
642dqcms907 comparesig -1e-77 1e-11 -> -1
643dqcms908 comparesig -1e-77 -1e-11 -> 1
644
645-- Null tests
646dqcms990 comparesig 10 # -> NaN Invalid_operation
647dqcms991 comparesig # 10 -> NaN Invalid_operation