1 ------------------------------------------------------------------------
2 -- dqCompareTotal.decTest -- decQuad comparison using total ordering --
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 --
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. --
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 --
19 ------------------------------------------------------------------------
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 -- Similarly, comparetotal will have some radically different paths
28 -- All operands and results are decQuads.
37 dqcot001 comparetotal -2 -2 -> 0
38 dqcot002 comparetotal -2 -1 -> -1
39 dqcot003 comparetotal -2 0 -> -1
40 dqcot004 comparetotal -2 1 -> -1
41 dqcot005 comparetotal -2 2 -> -1
42 dqcot006 comparetotal -1 -2 -> 1
43 dqcot007 comparetotal -1 -1 -> 0
44 dqcot008 comparetotal -1 0 -> -1
45 dqcot009 comparetotal -1 1 -> -1
46 dqcot010 comparetotal -1 2 -> -1
47 dqcot011 comparetotal 0 -2 -> 1
48 dqcot012 comparetotal 0 -1 -> 1
49 dqcot013 comparetotal 0 0 -> 0
50 dqcot014 comparetotal 0 1 -> -1
51 dqcot015 comparetotal 0 2 -> -1
52 dqcot016 comparetotal 1 -2 -> 1
53 dqcot017 comparetotal 1 -1 -> 1
54 dqcot018 comparetotal 1 0 -> 1
55 dqcot019 comparetotal 1 1 -> 0
56 dqcot020 comparetotal 1 2 -> -1
57 dqcot021 comparetotal 2 -2 -> 1
58 dqcot022 comparetotal 2 -1 -> 1
59 dqcot023 comparetotal 2 0 -> 1
60 dqcot025 comparetotal 2 1 -> 1
61 dqcot026 comparetotal 2 2 -> 0
63 dqcot031 comparetotal -20 -20 -> 0
64 dqcot032 comparetotal -20 -10 -> -1
65 dqcot033 comparetotal -20 00 -> -1
66 dqcot034 comparetotal -20 10 -> -1
67 dqcot035 comparetotal -20 20 -> -1
68 dqcot036 comparetotal -10 -20 -> 1
69 dqcot037 comparetotal -10 -10 -> 0
70 dqcot038 comparetotal -10 00 -> -1
71 dqcot039 comparetotal -10 10 -> -1
72 dqcot040 comparetotal -10 20 -> -1
73 dqcot041 comparetotal 00 -20 -> 1
74 dqcot042 comparetotal 00 -10 -> 1
75 dqcot043 comparetotal 00 00 -> 0
76 dqcot044 comparetotal 00 10 -> -1
77 dqcot045 comparetotal 00 20 -> -1
78 dqcot046 comparetotal 10 -20 -> 1
79 dqcot047 comparetotal 10 -10 -> 1
80 dqcot048 comparetotal 10 00 -> 1
81 dqcot049 comparetotal 10 10 -> 0
82 dqcot050 comparetotal 10 20 -> -1
83 dqcot051 comparetotal 20 -20 -> 1
84 dqcot052 comparetotal 20 -10 -> 1
85 dqcot053 comparetotal 20 00 -> 1
86 dqcot055 comparetotal 20 10 -> 1
87 dqcot056 comparetotal 20 20 -> 0
89 dqcot061 comparetotal -2.0 -2.0 -> 0
90 dqcot062 comparetotal -2.0 -1.0 -> -1
91 dqcot063 comparetotal -2.0 0.0 -> -1
92 dqcot064 comparetotal -2.0 1.0 -> -1
93 dqcot065 comparetotal -2.0 2.0 -> -1
94 dqcot066 comparetotal -1.0 -2.0 -> 1
95 dqcot067 comparetotal -1.0 -1.0 -> 0
96 dqcot068 comparetotal -1.0 0.0 -> -1
97 dqcot069 comparetotal -1.0 1.0 -> -1
98 dqcot070 comparetotal -1.0 2.0 -> -1
99 dqcot071 comparetotal 0.0 -2.0 -> 1
100 dqcot072 comparetotal 0.0 -1.0 -> 1
101 dqcot073 comparetotal 0.0 0.0 -> 0
102 dqcot074 comparetotal 0.0 1.0 -> -1
103 dqcot075 comparetotal 0.0 2.0 -> -1
104 dqcot076 comparetotal 1.0 -2.0 -> 1
105 dqcot077 comparetotal 1.0 -1.0 -> 1
106 dqcot078 comparetotal 1.0 0.0 -> 1
107 dqcot079 comparetotal 1.0 1.0 -> 0
108 dqcot080 comparetotal 1.0 2.0 -> -1
109 dqcot081 comparetotal 2.0 -2.0 -> 1
110 dqcot082 comparetotal 2.0 -1.0 -> 1
111 dqcot083 comparetotal 2.0 0.0 -> 1
112 dqcot085 comparetotal 2.0 1.0 -> 1
113 dqcot086 comparetotal 2.0 2.0 -> 0
115 -- now some cases which might overflow if subtract were used
116 dqcot090 comparetotal 9.99999999999999999999999999999E+6144 9.99999999999999999999999999999E+6144 -> 0
117 dqcot091 comparetotal -9.99999999999999999999999999999E+6144 9.99999999999999999999999999999E+6144 -> -1
118 dqcot092 comparetotal 9.99999999999999999999999999999E+6144 -9.99999999999999999999999999999E+6144 -> 1
119 dqcot093 comparetotal -9.99999999999999999999999999999E+6144 -9.99999999999999999999999999999E+6144 -> 0
121 -- some differing length/exponent cases
122 -- in this first group, compare would compare all equal
123 dqcot100 comparetotal 7.0 7.0 -> 0
124 dqcot101 comparetotal 7.0 7 -> -1
125 dqcot102 comparetotal 7 7.0 -> 1
126 dqcot103 comparetotal 7E+0 7.0 -> 1
127 dqcot104 comparetotal 70E-1 7.0 -> 0
128 dqcot105 comparetotal 0.7E+1 7 -> 0
129 dqcot106 comparetotal 70E-1 7 -> -1
130 dqcot107 comparetotal 7.0 7E+0 -> -1
131 dqcot108 comparetotal 7.0 70E-1 -> 0
132 dqcot109 comparetotal 7 0.7E+1 -> 0
133 dqcot110 comparetotal 7 70E-1 -> 1
135 dqcot120 comparetotal 8.0 7.0 -> 1
136 dqcot121 comparetotal 8.0 7 -> 1
137 dqcot122 comparetotal 8 7.0 -> 1
138 dqcot123 comparetotal 8E+0 7.0 -> 1
139 dqcot124 comparetotal 80E-1 7.0 -> 1
140 dqcot125 comparetotal 0.8E+1 7 -> 1
141 dqcot126 comparetotal 80E-1 7 -> 1
142 dqcot127 comparetotal 8.0 7E+0 -> 1
143 dqcot128 comparetotal 8.0 70E-1 -> 1
144 dqcot129 comparetotal 8 0.7E+1 -> 1
145 dqcot130 comparetotal 8 70E-1 -> 1
147 dqcot140 comparetotal 8.0 9.0 -> -1
148 dqcot141 comparetotal 8.0 9 -> -1
149 dqcot142 comparetotal 8 9.0 -> -1
150 dqcot143 comparetotal 8E+0 9.0 -> -1
151 dqcot144 comparetotal 80E-1 9.0 -> -1
152 dqcot145 comparetotal 0.8E+1 9 -> -1
153 dqcot146 comparetotal 80E-1 9 -> -1
154 dqcot147 comparetotal 8.0 9E+0 -> -1
155 dqcot148 comparetotal 8.0 90E-1 -> -1
156 dqcot149 comparetotal 8 0.9E+1 -> -1
157 dqcot150 comparetotal 8 90E-1 -> -1
159 -- and again, with sign changes -+ ..
160 dqcot200 comparetotal -7.0 7.0 -> -1
161 dqcot201 comparetotal -7.0 7 -> -1
162 dqcot202 comparetotal -7 7.0 -> -1
163 dqcot203 comparetotal -7E+0 7.0 -> -1
164 dqcot204 comparetotal -70E-1 7.0 -> -1
165 dqcot205 comparetotal -0.7E+1 7 -> -1
166 dqcot206 comparetotal -70E-1 7 -> -1
167 dqcot207 comparetotal -7.0 7E+0 -> -1
168 dqcot208 comparetotal -7.0 70E-1 -> -1
169 dqcot209 comparetotal -7 0.7E+1 -> -1
170 dqcot210 comparetotal -7 70E-1 -> -1
172 dqcot220 comparetotal -8.0 7.0 -> -1
173 dqcot221 comparetotal -8.0 7 -> -1
174 dqcot222 comparetotal -8 7.0 -> -1
175 dqcot223 comparetotal -8E+0 7.0 -> -1
176 dqcot224 comparetotal -80E-1 7.0 -> -1
177 dqcot225 comparetotal -0.8E+1 7 -> -1
178 dqcot226 comparetotal -80E-1 7 -> -1
179 dqcot227 comparetotal -8.0 7E+0 -> -1
180 dqcot228 comparetotal -8.0 70E-1 -> -1
181 dqcot229 comparetotal -8 0.7E+1 -> -1
182 dqcot230 comparetotal -8 70E-1 -> -1
184 dqcot240 comparetotal -8.0 9.0 -> -1
185 dqcot241 comparetotal -8.0 9 -> -1
186 dqcot242 comparetotal -8 9.0 -> -1
187 dqcot243 comparetotal -8E+0 9.0 -> -1
188 dqcot244 comparetotal -80E-1 9.0 -> -1
189 dqcot245 comparetotal -0.8E+1 9 -> -1
190 dqcot246 comparetotal -80E-1 9 -> -1
191 dqcot247 comparetotal -8.0 9E+0 -> -1
192 dqcot248 comparetotal -8.0 90E-1 -> -1
193 dqcot249 comparetotal -8 0.9E+1 -> -1
194 dqcot250 comparetotal -8 90E-1 -> -1
196 -- and again, with sign changes +- ..
197 dqcot300 comparetotal 7.0 -7.0 -> 1
198 dqcot301 comparetotal 7.0 -7 -> 1
199 dqcot302 comparetotal 7 -7.0 -> 1
200 dqcot303 comparetotal 7E+0 -7.0 -> 1
201 dqcot304 comparetotal 70E-1 -7.0 -> 1
202 dqcot305 comparetotal .7E+1 -7 -> 1
203 dqcot306 comparetotal 70E-1 -7 -> 1
204 dqcot307 comparetotal 7.0 -7E+0 -> 1
205 dqcot308 comparetotal 7.0 -70E-1 -> 1
206 dqcot309 comparetotal 7 -.7E+1 -> 1
207 dqcot310 comparetotal 7 -70E-1 -> 1
209 dqcot320 comparetotal 8.0 -7.0 -> 1
210 dqcot321 comparetotal 8.0 -7 -> 1
211 dqcot322 comparetotal 8 -7.0 -> 1
212 dqcot323 comparetotal 8E+0 -7.0 -> 1
213 dqcot324 comparetotal 80E-1 -7.0 -> 1
214 dqcot325 comparetotal .8E+1 -7 -> 1
215 dqcot326 comparetotal 80E-1 -7 -> 1
216 dqcot327 comparetotal 8.0 -7E+0 -> 1
217 dqcot328 comparetotal 8.0 -70E-1 -> 1
218 dqcot329 comparetotal 8 -.7E+1 -> 1
219 dqcot330 comparetotal 8 -70E-1 -> 1
221 dqcot340 comparetotal 8.0 -9.0 -> 1
222 dqcot341 comparetotal 8.0 -9 -> 1
223 dqcot342 comparetotal 8 -9.0 -> 1
224 dqcot343 comparetotal 8E+0 -9.0 -> 1
225 dqcot344 comparetotal 80E-1 -9.0 -> 1
226 dqcot345 comparetotal .8E+1 -9 -> 1
227 dqcot346 comparetotal 80E-1 -9 -> 1
228 dqcot347 comparetotal 8.0 -9E+0 -> 1
229 dqcot348 comparetotal 8.0 -90E-1 -> 1
230 dqcot349 comparetotal 8 -.9E+1 -> 1
231 dqcot350 comparetotal 8 -90E-1 -> 1
233 -- and again, with sign changes -- ..
234 dqcot400 comparetotal -7.0 -7.0 -> 0
235 dqcot401 comparetotal -7.0 -7 -> 1
236 dqcot402 comparetotal -7 -7.0 -> -1
237 dqcot403 comparetotal -7E+0 -7.0 -> -1
238 dqcot404 comparetotal -70E-1 -7.0 -> 0
239 dqcot405 comparetotal -.7E+1 -7 -> 0
240 dqcot406 comparetotal -70E-1 -7 -> 1
241 dqcot407 comparetotal -7.0 -7E+0 -> 1
242 dqcot408 comparetotal -7.0 -70E-1 -> 0
243 dqcot409 comparetotal -7 -.7E+1 -> 0
244 dqcot410 comparetotal -7 -70E-1 -> -1
246 dqcot420 comparetotal -8.0 -7.0 -> -1
247 dqcot421 comparetotal -8.0 -7 -> -1
248 dqcot422 comparetotal -8 -7.0 -> -1
249 dqcot423 comparetotal -8E+0 -7.0 -> -1
250 dqcot424 comparetotal -80E-1 -7.0 -> -1
251 dqcot425 comparetotal -.8E+1 -7 -> -1
252 dqcot426 comparetotal -80E-1 -7 -> -1
253 dqcot427 comparetotal -8.0 -7E+0 -> -1
254 dqcot428 comparetotal -8.0 -70E-1 -> -1
255 dqcot429 comparetotal -8 -.7E+1 -> -1
256 dqcot430 comparetotal -8 -70E-1 -> -1
258 dqcot440 comparetotal -8.0 -9.0 -> 1
259 dqcot441 comparetotal -8.0 -9 -> 1
260 dqcot442 comparetotal -8 -9.0 -> 1
261 dqcot443 comparetotal -8E+0 -9.0 -> 1
262 dqcot444 comparetotal -80E-1 -9.0 -> 1
263 dqcot445 comparetotal -.8E+1 -9 -> 1
264 dqcot446 comparetotal -80E-1 -9 -> 1
265 dqcot447 comparetotal -8.0 -9E+0 -> 1
266 dqcot448 comparetotal -8.0 -90E-1 -> 1
267 dqcot449 comparetotal -8 -.9E+1 -> 1
268 dqcot450 comparetotal -8 -90E-1 -> 1
271 -- testcases that subtract to lots of zeros at boundaries [pgr]
272 dqcot473 comparetotal 123.4560000000000E-89 123.456E-89 -> -1
273 dqcot474 comparetotal 123.456000000000E+89 123.456E+89 -> -1
274 dqcot475 comparetotal 123.45600000000E-89 123.456E-89 -> -1
275 dqcot476 comparetotal 123.4560000000E+89 123.456E+89 -> -1
276 dqcot477 comparetotal 123.456000000E-89 123.456E-89 -> -1
277 dqcot478 comparetotal 123.45600000E+89 123.456E+89 -> -1
278 dqcot479 comparetotal 123.4560000E-89 123.456E-89 -> -1
279 dqcot480 comparetotal 123.456000E+89 123.456E+89 -> -1
280 dqcot481 comparetotal 123.45600E-89 123.456E-89 -> -1
281 dqcot482 comparetotal 123.4560E+89 123.456E+89 -> -1
282 dqcot483 comparetotal 123.456E-89 123.456E-89 -> 0
283 dqcot487 comparetotal 123.456E+89 123.4560000000000E+89 -> 1
284 dqcot488 comparetotal 123.456E-89 123.456000000000E-89 -> 1
285 dqcot489 comparetotal 123.456E+89 123.45600000000E+89 -> 1
286 dqcot490 comparetotal 123.456E-89 123.4560000000E-89 -> 1
287 dqcot491 comparetotal 123.456E+89 123.456000000E+89 -> 1
288 dqcot492 comparetotal 123.456E-89 123.45600000E-89 -> 1
289 dqcot493 comparetotal 123.456E+89 123.4560000E+89 -> 1
290 dqcot494 comparetotal 123.456E-89 123.456000E-89 -> 1
291 dqcot495 comparetotal 123.456E+89 123.45600E+89 -> 1
292 dqcot496 comparetotal 123.456E-89 123.4560E-89 -> 1
293 dqcot497 comparetotal 123.456E+89 123.456E+89 -> 0
295 -- wide-ranging, around precision; signs equal
296 dqcot498 comparetotal 1 1E-17 -> 1
297 dqcot499 comparetotal 1 1E-16 -> 1
298 dqcot500 comparetotal 1 1E-15 -> 1
299 dqcot501 comparetotal 1 1E-14 -> 1
300 dqcot502 comparetotal 1 1E-13 -> 1
301 dqcot503 comparetotal 1 1E-12 -> 1
302 dqcot504 comparetotal 1 1E-11 -> 1
303 dqcot505 comparetotal 1 1E-10 -> 1
304 dqcot506 comparetotal 1 1E-9 -> 1
305 dqcot507 comparetotal 1 1E-8 -> 1
306 dqcot508 comparetotal 1 1E-7 -> 1
307 dqcot509 comparetotal 1 1E-6 -> 1
308 dqcot510 comparetotal 1 1E-5 -> 1
309 dqcot511 comparetotal 1 1E-4 -> 1
310 dqcot512 comparetotal 1 1E-3 -> 1
311 dqcot513 comparetotal 1 1E-2 -> 1
312 dqcot514 comparetotal 1 1E-1 -> 1
313 dqcot515 comparetotal 1 1E-0 -> 0
314 dqcot516 comparetotal 1 1E+1 -> -1
315 dqcot517 comparetotal 1 1E+2 -> -1
316 dqcot518 comparetotal 1 1E+3 -> -1
317 dqcot519 comparetotal 1 1E+4 -> -1
318 dqcot521 comparetotal 1 1E+5 -> -1
319 dqcot522 comparetotal 1 1E+6 -> -1
320 dqcot523 comparetotal 1 1E+7 -> -1
321 dqcot524 comparetotal 1 1E+8 -> -1
322 dqcot525 comparetotal 1 1E+9 -> -1
323 dqcot526 comparetotal 1 1E+10 -> -1
324 dqcot527 comparetotal 1 1E+11 -> -1
325 dqcot528 comparetotal 1 1E+12 -> -1
326 dqcot529 comparetotal 1 1E+13 -> -1
327 dqcot530 comparetotal 1 1E+14 -> -1
328 dqcot531 comparetotal 1 1E+15 -> -1
329 dqcot532 comparetotal 1 1E+16 -> -1
330 dqcot533 comparetotal 1 1E+17 -> -1
332 dqcot538 comparetotal 1E-17 1 -> -1
333 dqcot539 comparetotal 1E-16 1 -> -1
334 dqcot540 comparetotal 1E-15 1 -> -1
335 dqcot541 comparetotal 1E-14 1 -> -1
336 dqcot542 comparetotal 1E-13 1 -> -1
337 dqcot543 comparetotal 1E-12 1 -> -1
338 dqcot544 comparetotal 1E-11 1 -> -1
339 dqcot545 comparetotal 1E-10 1 -> -1
340 dqcot546 comparetotal 1E-9 1 -> -1
341 dqcot547 comparetotal 1E-8 1 -> -1
342 dqcot548 comparetotal 1E-7 1 -> -1
343 dqcot549 comparetotal 1E-6 1 -> -1
344 dqcot550 comparetotal 1E-5 1 -> -1
345 dqcot551 comparetotal 1E-4 1 -> -1
346 dqcot552 comparetotal 1E-3 1 -> -1
347 dqcot553 comparetotal 1E-2 1 -> -1
348 dqcot554 comparetotal 1E-1 1 -> -1
349 dqcot555 comparetotal 1E-0 1 -> 0
350 dqcot556 comparetotal 1E+1 1 -> 1
351 dqcot557 comparetotal 1E+2 1 -> 1
352 dqcot558 comparetotal 1E+3 1 -> 1
353 dqcot559 comparetotal 1E+4 1 -> 1
354 dqcot561 comparetotal 1E+5 1 -> 1
355 dqcot562 comparetotal 1E+6 1 -> 1
356 dqcot563 comparetotal 1E+7 1 -> 1
357 dqcot564 comparetotal 1E+8 1 -> 1
358 dqcot565 comparetotal 1E+9 1 -> 1
359 dqcot566 comparetotal 1E+10 1 -> 1
360 dqcot567 comparetotal 1E+11 1 -> 1
361 dqcot568 comparetotal 1E+12 1 -> 1
362 dqcot569 comparetotal 1E+13 1 -> 1
363 dqcot570 comparetotal 1E+14 1 -> 1
364 dqcot571 comparetotal 1E+15 1 -> 1
365 dqcot572 comparetotal 1E+16 1 -> 1
366 dqcot573 comparetotal 1E+17 1 -> 1
367 -- similar with a useful coefficient, one side only
368 dqcot578 comparetotal 0.000000987654321 1E-17 -> 1
369 dqcot579 comparetotal 0.000000987654321 1E-16 -> 1
370 dqcot580 comparetotal 0.000000987654321 1E-15 -> 1
371 dqcot581 comparetotal 0.000000987654321 1E-14 -> 1
372 dqcot582 comparetotal 0.000000987654321 1E-13 -> 1
373 dqcot583 comparetotal 0.000000987654321 1E-12 -> 1
374 dqcot584 comparetotal 0.000000987654321 1E-11 -> 1
375 dqcot585 comparetotal 0.000000987654321 1E-10 -> 1
376 dqcot586 comparetotal 0.000000987654321 1E-9 -> 1
377 dqcot587 comparetotal 0.000000987654321 1E-8 -> 1
378 dqcot588 comparetotal 0.000000987654321 1E-7 -> 1
379 dqcot589 comparetotal 0.000000987654321 1E-6 -> -1
380 dqcot590 comparetotal 0.000000987654321 1E-5 -> -1
381 dqcot591 comparetotal 0.000000987654321 1E-4 -> -1
382 dqcot592 comparetotal 0.000000987654321 1E-3 -> -1
383 dqcot593 comparetotal 0.000000987654321 1E-2 -> -1
384 dqcot594 comparetotal 0.000000987654321 1E-1 -> -1
385 dqcot595 comparetotal 0.000000987654321 1E-0 -> -1
386 dqcot596 comparetotal 0.000000987654321 1E+1 -> -1
387 dqcot597 comparetotal 0.000000987654321 1E+2 -> -1
388 dqcot598 comparetotal 0.000000987654321 1E+3 -> -1
389 dqcot599 comparetotal 0.000000987654321 1E+4 -> -1
391 -- check some unit-y traps
392 dqcot600 comparetotal 12 12.2345 -> -1
393 dqcot601 comparetotal 12.0 12.2345 -> -1
394 dqcot602 comparetotal 12.00 12.2345 -> -1
395 dqcot603 comparetotal 12.000 12.2345 -> -1
396 dqcot604 comparetotal 12.0000 12.2345 -> -1
397 dqcot605 comparetotal 12.00000 12.2345 -> -1
398 dqcot606 comparetotal 12.000000 12.2345 -> -1
399 dqcot607 comparetotal 12.0000000 12.2345 -> -1
400 dqcot608 comparetotal 12.00000000 12.2345 -> -1
401 dqcot609 comparetotal 12.000000000 12.2345 -> -1
402 dqcot610 comparetotal 12.1234 12 -> 1
403 dqcot611 comparetotal 12.1234 12.0 -> 1
404 dqcot612 comparetotal 12.1234 12.00 -> 1
405 dqcot613 comparetotal 12.1234 12.000 -> 1
406 dqcot614 comparetotal 12.1234 12.0000 -> 1
407 dqcot615 comparetotal 12.1234 12.00000 -> 1
408 dqcot616 comparetotal 12.1234 12.000000 -> 1
409 dqcot617 comparetotal 12.1234 12.0000000 -> 1
410 dqcot618 comparetotal 12.1234 12.00000000 -> 1
411 dqcot619 comparetotal 12.1234 12.000000000 -> 1
412 dqcot620 comparetotal -12 -12.2345 -> 1
413 dqcot621 comparetotal -12.0 -12.2345 -> 1
414 dqcot622 comparetotal -12.00 -12.2345 -> 1
415 dqcot623 comparetotal -12.000 -12.2345 -> 1
416 dqcot624 comparetotal -12.0000 -12.2345 -> 1
417 dqcot625 comparetotal -12.00000 -12.2345 -> 1
418 dqcot626 comparetotal -12.000000 -12.2345 -> 1
419 dqcot627 comparetotal -12.0000000 -12.2345 -> 1
420 dqcot628 comparetotal -12.00000000 -12.2345 -> 1
421 dqcot629 comparetotal -12.000000000 -12.2345 -> 1
422 dqcot630 comparetotal -12.1234 -12 -> -1
423 dqcot631 comparetotal -12.1234 -12.0 -> -1
424 dqcot632 comparetotal -12.1234 -12.00 -> -1
425 dqcot633 comparetotal -12.1234 -12.000 -> -1
426 dqcot634 comparetotal -12.1234 -12.0000 -> -1
427 dqcot635 comparetotal -12.1234 -12.00000 -> -1
428 dqcot636 comparetotal -12.1234 -12.000000 -> -1
429 dqcot637 comparetotal -12.1234 -12.0000000 -> -1
430 dqcot638 comparetotal -12.1234 -12.00000000 -> -1
431 dqcot639 comparetotal -12.1234 -12.000000000 -> -1
434 dqcot640 comparetotal 0 0 -> 0
435 dqcot641 comparetotal 0 -0 -> 1
436 dqcot642 comparetotal 0 -0.0 -> 1
437 dqcot643 comparetotal 0 0.0 -> 1
438 dqcot644 comparetotal -0 0 -> -1
439 dqcot645 comparetotal -0 -0 -> 0
440 dqcot646 comparetotal -0 -0.0 -> -1
441 dqcot647 comparetotal -0 0.0 -> -1
442 dqcot648 comparetotal 0.0 0 -> -1
443 dqcot649 comparetotal 0.0 -0 -> 1
444 dqcot650 comparetotal 0.0 -0.0 -> 1
445 dqcot651 comparetotal 0.0 0.0 -> 0
446 dqcot652 comparetotal -0.0 0 -> -1
447 dqcot653 comparetotal -0.0 -0 -> 1
448 dqcot654 comparetotal -0.0 -0.0 -> 0
449 dqcot655 comparetotal -0.0 0.0 -> -1
451 dqcot656 comparetotal -0E1 0.0 -> -1
452 dqcot657 comparetotal -0E2 0.0 -> -1
453 dqcot658 comparetotal 0E1 0.0 -> 1
454 dqcot659 comparetotal 0E2 0.0 -> 1
455 dqcot660 comparetotal -0E1 0 -> -1
456 dqcot661 comparetotal -0E2 0 -> -1
457 dqcot662 comparetotal 0E1 0 -> 1
458 dqcot663 comparetotal 0E2 0 -> 1
459 dqcot664 comparetotal -0E1 -0E1 -> 0
460 dqcot665 comparetotal -0E2 -0E1 -> -1
461 dqcot666 comparetotal 0E1 -0E1 -> 1
462 dqcot667 comparetotal 0E2 -0E1 -> 1
463 dqcot668 comparetotal -0E1 -0E2 -> 1
464 dqcot669 comparetotal -0E2 -0E2 -> 0
465 dqcot670 comparetotal 0E1 -0E2 -> 1
466 dqcot671 comparetotal 0E2 -0E2 -> 1
467 dqcot672 comparetotal -0E1 0E1 -> -1
468 dqcot673 comparetotal -0E2 0E1 -> -1
469 dqcot674 comparetotal 0E1 0E1 -> 0
470 dqcot675 comparetotal 0E2 0E1 -> 1
471 dqcot676 comparetotal -0E1 0E2 -> -1
472 dqcot677 comparetotal -0E2 0E2 -> -1
473 dqcot678 comparetotal 0E1 0E2 -> -1
474 dqcot679 comparetotal 0E2 0E2 -> 0
476 -- trailing zeros; unit-y
477 dqcot680 comparetotal 12 12 -> 0
478 dqcot681 comparetotal 12 12.0 -> 1
479 dqcot682 comparetotal 12 12.00 -> 1
480 dqcot683 comparetotal 12 12.000 -> 1
481 dqcot684 comparetotal 12 12.0000 -> 1
482 dqcot685 comparetotal 12 12.00000 -> 1
483 dqcot686 comparetotal 12 12.000000 -> 1
484 dqcot687 comparetotal 12 12.0000000 -> 1
485 dqcot688 comparetotal 12 12.00000000 -> 1
486 dqcot689 comparetotal 12 12.000000000 -> 1
487 dqcot690 comparetotal 12 12 -> 0
488 dqcot691 comparetotal 12.0 12 -> -1
489 dqcot692 comparetotal 12.00 12 -> -1
490 dqcot693 comparetotal 12.000 12 -> -1
491 dqcot694 comparetotal 12.0000 12 -> -1
492 dqcot695 comparetotal 12.00000 12 -> -1
493 dqcot696 comparetotal 12.000000 12 -> -1
494 dqcot697 comparetotal 12.0000000 12 -> -1
495 dqcot698 comparetotal 12.00000000 12 -> -1
496 dqcot699 comparetotal 12.000000000 12 -> -1
498 -- old long operand checks
499 dqcot701 comparetotal 12345678000 1 -> 1
500 dqcot702 comparetotal 1 12345678000 -> -1
501 dqcot703 comparetotal 1234567800 1 -> 1
502 dqcot704 comparetotal 1 1234567800 -> -1
503 dqcot705 comparetotal 1234567890 1 -> 1
504 dqcot706 comparetotal 1 1234567890 -> -1
505 dqcot707 comparetotal 1234567891 1 -> 1
506 dqcot708 comparetotal 1 1234567891 -> -1
507 dqcot709 comparetotal 12345678901 1 -> 1
508 dqcot710 comparetotal 1 12345678901 -> -1
509 dqcot711 comparetotal 1234567896 1 -> 1
510 dqcot712 comparetotal 1 1234567896 -> -1
511 dqcot713 comparetotal -1234567891 1 -> -1
512 dqcot714 comparetotal 1 -1234567891 -> 1
513 dqcot715 comparetotal -12345678901 1 -> -1
514 dqcot716 comparetotal 1 -12345678901 -> 1
515 dqcot717 comparetotal -1234567896 1 -> -1
516 dqcot718 comparetotal 1 -1234567896 -> 1
519 dqcot740 comparetotal 1 0.9999999 -> 1
520 dqcot741 comparetotal 1 0.999999 -> 1
521 dqcot742 comparetotal 1 0.99999 -> 1
522 dqcot743 comparetotal 1 1.0000 -> 1
523 dqcot744 comparetotal 1 1.00001 -> -1
524 dqcot745 comparetotal 1 1.000001 -> -1
525 dqcot746 comparetotal 1 1.0000001 -> -1
526 dqcot750 comparetotal 0.9999999 1 -> -1
527 dqcot751 comparetotal 0.999999 1 -> -1
528 dqcot752 comparetotal 0.99999 1 -> -1
529 dqcot753 comparetotal 1.0000 1 -> -1
530 dqcot754 comparetotal 1.00001 1 -> 1
531 dqcot755 comparetotal 1.000001 1 -> 1
532 dqcot756 comparetotal 1.0000001 1 -> 1
535 dqcot780 comparetotal Inf -Inf -> 1
536 dqcot781 comparetotal Inf -1000 -> 1
537 dqcot782 comparetotal Inf -1 -> 1
538 dqcot783 comparetotal Inf -0 -> 1
539 dqcot784 comparetotal Inf 0 -> 1
540 dqcot785 comparetotal Inf 1 -> 1
541 dqcot786 comparetotal Inf 1000 -> 1
542 dqcot787 comparetotal Inf Inf -> 0
543 dqcot788 comparetotal -1000 Inf -> -1
544 dqcot789 comparetotal -Inf Inf -> -1
545 dqcot790 comparetotal -1 Inf -> -1
546 dqcot791 comparetotal -0 Inf -> -1
547 dqcot792 comparetotal 0 Inf -> -1
548 dqcot793 comparetotal 1 Inf -> -1
549 dqcot794 comparetotal 1000 Inf -> -1
550 dqcot795 comparetotal Inf Inf -> 0
552 dqcot800 comparetotal -Inf -Inf -> 0
553 dqcot801 comparetotal -Inf -1000 -> -1
554 dqcot802 comparetotal -Inf -1 -> -1
555 dqcot803 comparetotal -Inf -0 -> -1
556 dqcot804 comparetotal -Inf 0 -> -1
557 dqcot805 comparetotal -Inf 1 -> -1
558 dqcot806 comparetotal -Inf 1000 -> -1
559 dqcot807 comparetotal -Inf Inf -> -1
560 dqcot808 comparetotal -Inf -Inf -> 0
561 dqcot809 comparetotal -1000 -Inf -> 1
562 dqcot810 comparetotal -1 -Inf -> 1
563 dqcot811 comparetotal -0 -Inf -> 1
564 dqcot812 comparetotal 0 -Inf -> 1
565 dqcot813 comparetotal 1 -Inf -> 1
566 dqcot814 comparetotal 1000 -Inf -> 1
567 dqcot815 comparetotal Inf -Inf -> 1
569 dqcot821 comparetotal NaN -Inf -> 1
570 dqcot822 comparetotal NaN -1000 -> 1
571 dqcot823 comparetotal NaN -1 -> 1
572 dqcot824 comparetotal NaN -0 -> 1
573 dqcot825 comparetotal NaN 0 -> 1
574 dqcot826 comparetotal NaN 1 -> 1
575 dqcot827 comparetotal NaN 1000 -> 1
576 dqcot828 comparetotal NaN Inf -> 1
577 dqcot829 comparetotal NaN NaN -> 0
578 dqcot830 comparetotal -Inf NaN -> -1
579 dqcot831 comparetotal -1000 NaN -> -1
580 dqcot832 comparetotal -1 NaN -> -1
581 dqcot833 comparetotal -0 NaN -> -1
582 dqcot834 comparetotal 0 NaN -> -1
583 dqcot835 comparetotal 1 NaN -> -1
584 dqcot836 comparetotal 1000 NaN -> -1
585 dqcot837 comparetotal Inf NaN -> -1
586 dqcot838 comparetotal -NaN -NaN -> 0
587 dqcot839 comparetotal +NaN -NaN -> 1
588 dqcot840 comparetotal -NaN +NaN -> -1
590 dqcot841 comparetotal sNaN -sNaN -> 1
591 dqcot842 comparetotal sNaN -NaN -> 1
592 dqcot843 comparetotal sNaN -Inf -> 1
593 dqcot844 comparetotal sNaN -1000 -> 1
594 dqcot845 comparetotal sNaN -1 -> 1
595 dqcot846 comparetotal sNaN -0 -> 1
596 dqcot847 comparetotal sNaN 0 -> 1
597 dqcot848 comparetotal sNaN 1 -> 1
598 dqcot849 comparetotal sNaN 1000 -> 1
599 dqcot850 comparetotal sNaN NaN -> -1
600 dqcot851 comparetotal sNaN sNaN -> 0
602 dqcot852 comparetotal -sNaN sNaN -> -1
603 dqcot853 comparetotal -NaN sNaN -> -1
604 dqcot854 comparetotal -Inf sNaN -> -1
605 dqcot855 comparetotal -1000 sNaN -> -1
606 dqcot856 comparetotal -1 sNaN -> -1
607 dqcot857 comparetotal -0 sNaN -> -1
608 dqcot858 comparetotal 0 sNaN -> -1
609 dqcot859 comparetotal 1 sNaN -> -1
610 dqcot860 comparetotal 1000 sNaN -> -1
611 dqcot861 comparetotal Inf sNaN -> -1
612 dqcot862 comparetotal NaN sNaN -> 1
613 dqcot863 comparetotal sNaN sNaN -> 0
615 dqcot871 comparetotal -sNaN -sNaN -> 0
616 dqcot872 comparetotal -sNaN -NaN -> 1
617 dqcot873 comparetotal -sNaN -Inf -> -1
618 dqcot874 comparetotal -sNaN -1000 -> -1
619 dqcot875 comparetotal -sNaN -1 -> -1
620 dqcot876 comparetotal -sNaN -0 -> -1
621 dqcot877 comparetotal -sNaN 0 -> -1
622 dqcot878 comparetotal -sNaN 1 -> -1
623 dqcot879 comparetotal -sNaN 1000 -> -1
624 dqcot880 comparetotal -sNaN NaN -> -1
625 dqcot881 comparetotal -sNaN sNaN -> -1
627 dqcot882 comparetotal -sNaN -sNaN -> 0
628 dqcot883 comparetotal -NaN -sNaN -> -1
629 dqcot884 comparetotal -Inf -sNaN -> 1
630 dqcot885 comparetotal -1000 -sNaN -> 1
631 dqcot886 comparetotal -1 -sNaN -> 1
632 dqcot887 comparetotal -0 -sNaN -> 1
633 dqcot888 comparetotal 0 -sNaN -> 1
634 dqcot889 comparetotal 1 -sNaN -> 1
635 dqcot890 comparetotal 1000 -sNaN -> 1
636 dqcot891 comparetotal Inf -sNaN -> 1
637 dqcot892 comparetotal NaN -sNaN -> 1
638 dqcot893 comparetotal sNaN -sNaN -> 1
641 dqcot960 comparetotal NaN9 -Inf -> 1
642 dqcot961 comparetotal NaN8 999 -> 1
643 dqcot962 comparetotal NaN77 Inf -> 1
644 dqcot963 comparetotal -NaN67 NaN5 -> -1
645 dqcot964 comparetotal -Inf -NaN4 -> 1
646 dqcot965 comparetotal -999 -NaN33 -> 1
647 dqcot966 comparetotal Inf NaN2 -> -1
649 dqcot970 comparetotal -NaN41 -NaN42 -> 1
650 dqcot971 comparetotal +NaN41 -NaN42 -> 1
651 dqcot972 comparetotal -NaN41 +NaN42 -> -1
652 dqcot973 comparetotal +NaN41 +NaN42 -> -1
653 dqcot974 comparetotal -NaN42 -NaN01 -> -1
654 dqcot975 comparetotal +NaN42 -NaN01 -> 1
655 dqcot976 comparetotal -NaN42 +NaN01 -> -1
656 dqcot977 comparetotal +NaN42 +NaN01 -> 1
658 dqcot980 comparetotal -sNaN771 -sNaN772 -> 1
659 dqcot981 comparetotal +sNaN771 -sNaN772 -> 1
660 dqcot982 comparetotal -sNaN771 +sNaN772 -> -1
661 dqcot983 comparetotal +sNaN771 +sNaN772 -> -1
662 dqcot984 comparetotal -sNaN772 -sNaN771 -> -1
663 dqcot985 comparetotal +sNaN772 -sNaN771 -> 1
664 dqcot986 comparetotal -sNaN772 +sNaN771 -> -1
665 dqcot987 comparetotal +sNaN772 +sNaN771 -> 1
667 dqcot991 comparetotal -sNaN99 -Inf -> -1
668 dqcot992 comparetotal sNaN98 -11 -> 1
669 dqcot993 comparetotal sNaN97 NaN -> -1
670 dqcot994 comparetotal sNaN16 sNaN94 -> -1
671 dqcot995 comparetotal NaN85 sNaN83 -> 1
672 dqcot996 comparetotal -Inf sNaN92 -> -1
673 dqcot997 comparetotal 088 sNaN81 -> -1
674 dqcot998 comparetotal Inf sNaN90 -> -1
675 dqcot999 comparetotal NaN -sNaN89 -> 1
678 dqcot1110 comparetotal 0E-6143 0 -> -1
679 dqcot1111 comparetotal 0E-6143 -0 -> 1
680 dqcot1112 comparetotal -0E-6143 0 -> -1
681 dqcot1113 comparetotal -0E-6143 -0 -> 1
682 dqcot1114 comparetotal 0E-6143 0E+6144 -> -1
683 dqcot1115 comparetotal 0E-6143 -0E+6144 -> 1
684 dqcot1116 comparetotal -0E-6143 0E+6144 -> -1
685 dqcot1117 comparetotal -0E-6143 -0E+6144 -> 1
686 dqcot1118 comparetotal 0 0E+6144 -> -1
687 dqcot1119 comparetotal 0 -0E+6144 -> 1
688 dqcot1120 comparetotal -0 0E+6144 -> -1
689 dqcot1121 comparetotal -0 -0E+6144 -> 1
691 dqcot1130 comparetotal 0E+6144 0 -> 1
692 dqcot1131 comparetotal 0E+6144 -0 -> 1
693 dqcot1132 comparetotal -0E+6144 0 -> -1
694 dqcot1133 comparetotal -0E+6144 -0 -> -1
695 dqcot1134 comparetotal 0E+6144 0E-6143 -> 1
696 dqcot1135 comparetotal 0E+6144 -0E-6143 -> 1
697 dqcot1136 comparetotal -0E+6144 0E-6143 -> -1
698 dqcot1137 comparetotal -0E+6144 -0E-6143 -> -1
699 dqcot1138 comparetotal 0 0E-6143 -> 1
700 dqcot1139 comparetotal 0 -0E-6143 -> 1
701 dqcot1140 comparetotal -0 0E-6143 -> -1
702 dqcot1141 comparetotal -0 -0E-6143 -> -1
705 dqcot9990 comparetotal 10 # -> NaN Invalid_operation
706 dqcot9991 comparetotal # 10 -> NaN Invalid_operation