1 ------------------------------------------------------------------------
\r
2 -- ddCompareTotal.decTest -- decDouble comparison using total ordering--
\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
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
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
22 -- Note that we cannot assume add/subtract tests cover paths adequately,
\r
23 -- here, because the code might be quite different (comparison cannot
\r
24 -- overflow or underflow, so actual subtractions are not necessary).
\r
25 -- Similarly, comparetotal will have some radically different paths
\r
28 -- All operands and results are decDoubles.
\r
37 ddcot001 comparetotal -2 -2 -> 0
\r
38 ddcot002 comparetotal -2 -1 -> -1
\r
39 ddcot003 comparetotal -2 0 -> -1
\r
40 ddcot004 comparetotal -2 1 -> -1
\r
41 ddcot005 comparetotal -2 2 -> -1
\r
42 ddcot006 comparetotal -1 -2 -> 1
\r
43 ddcot007 comparetotal -1 -1 -> 0
\r
44 ddcot008 comparetotal -1 0 -> -1
\r
45 ddcot009 comparetotal -1 1 -> -1
\r
46 ddcot010 comparetotal -1 2 -> -1
\r
47 ddcot011 comparetotal 0 -2 -> 1
\r
48 ddcot012 comparetotal 0 -1 -> 1
\r
49 ddcot013 comparetotal 0 0 -> 0
\r
50 ddcot014 comparetotal 0 1 -> -1
\r
51 ddcot015 comparetotal 0 2 -> -1
\r
52 ddcot016 comparetotal 1 -2 -> 1
\r
53 ddcot017 comparetotal 1 -1 -> 1
\r
54 ddcot018 comparetotal 1 0 -> 1
\r
55 ddcot019 comparetotal 1 1 -> 0
\r
56 ddcot020 comparetotal 1 2 -> -1
\r
57 ddcot021 comparetotal 2 -2 -> 1
\r
58 ddcot022 comparetotal 2 -1 -> 1
\r
59 ddcot023 comparetotal 2 0 -> 1
\r
60 ddcot025 comparetotal 2 1 -> 1
\r
61 ddcot026 comparetotal 2 2 -> 0
\r
63 ddcot031 comparetotal -20 -20 -> 0
\r
64 ddcot032 comparetotal -20 -10 -> -1
\r
65 ddcot033 comparetotal -20 00 -> -1
\r
66 ddcot034 comparetotal -20 10 -> -1
\r
67 ddcot035 comparetotal -20 20 -> -1
\r
68 ddcot036 comparetotal -10 -20 -> 1
\r
69 ddcot037 comparetotal -10 -10 -> 0
\r
70 ddcot038 comparetotal -10 00 -> -1
\r
71 ddcot039 comparetotal -10 10 -> -1
\r
72 ddcot040 comparetotal -10 20 -> -1
\r
73 ddcot041 comparetotal 00 -20 -> 1
\r
74 ddcot042 comparetotal 00 -10 -> 1
\r
75 ddcot043 comparetotal 00 00 -> 0
\r
76 ddcot044 comparetotal 00 10 -> -1
\r
77 ddcot045 comparetotal 00 20 -> -1
\r
78 ddcot046 comparetotal 10 -20 -> 1
\r
79 ddcot047 comparetotal 10 -10 -> 1
\r
80 ddcot048 comparetotal 10 00 -> 1
\r
81 ddcot049 comparetotal 10 10 -> 0
\r
82 ddcot050 comparetotal 10 20 -> -1
\r
83 ddcot051 comparetotal 20 -20 -> 1
\r
84 ddcot052 comparetotal 20 -10 -> 1
\r
85 ddcot053 comparetotal 20 00 -> 1
\r
86 ddcot055 comparetotal 20 10 -> 1
\r
87 ddcot056 comparetotal 20 20 -> 0
\r
89 ddcot061 comparetotal -2.0 -2.0 -> 0
\r
90 ddcot062 comparetotal -2.0 -1.0 -> -1
\r
91 ddcot063 comparetotal -2.0 0.0 -> -1
\r
92 ddcot064 comparetotal -2.0 1.0 -> -1
\r
93 ddcot065 comparetotal -2.0 2.0 -> -1
\r
94 ddcot066 comparetotal -1.0 -2.0 -> 1
\r
95 ddcot067 comparetotal -1.0 -1.0 -> 0
\r
96 ddcot068 comparetotal -1.0 0.0 -> -1
\r
97 ddcot069 comparetotal -1.0 1.0 -> -1
\r
98 ddcot070 comparetotal -1.0 2.0 -> -1
\r
99 ddcot071 comparetotal 0.0 -2.0 -> 1
\r
100 ddcot072 comparetotal 0.0 -1.0 -> 1
\r
101 ddcot073 comparetotal 0.0 0.0 -> 0
\r
102 ddcot074 comparetotal 0.0 1.0 -> -1
\r
103 ddcot075 comparetotal 0.0 2.0 -> -1
\r
104 ddcot076 comparetotal 1.0 -2.0 -> 1
\r
105 ddcot077 comparetotal 1.0 -1.0 -> 1
\r
106 ddcot078 comparetotal 1.0 0.0 -> 1
\r
107 ddcot079 comparetotal 1.0 1.0 -> 0
\r
108 ddcot080 comparetotal 1.0 2.0 -> -1
\r
109 ddcot081 comparetotal 2.0 -2.0 -> 1
\r
110 ddcot082 comparetotal 2.0 -1.0 -> 1
\r
111 ddcot083 comparetotal 2.0 0.0 -> 1
\r
112 ddcot085 comparetotal 2.0 1.0 -> 1
\r
113 ddcot086 comparetotal 2.0 2.0 -> 0
\r
115 -- now some cases which might overflow if subtract were used
\r
116 ddcot090 comparetotal 9.99999999E+384 9.99999999E+384 -> 0
\r
117 ddcot091 comparetotal -9.99999999E+384 9.99999999E+384 -> -1
\r
118 ddcot092 comparetotal 9.99999999E+384 -9.99999999E+384 -> 1
\r
119 ddcot093 comparetotal -9.99999999E+384 -9.99999999E+384 -> 0
\r
121 -- some differing length/exponent cases
\r
122 -- in this first group, compare would compare all equal
\r
123 ddcot100 comparetotal 7.0 7.0 -> 0
\r
124 ddcot101 comparetotal 7.0 7 -> -1
\r
125 ddcot102 comparetotal 7 7.0 -> 1
\r
126 ddcot103 comparetotal 7E+0 7.0 -> 1
\r
127 ddcot104 comparetotal 70E-1 7.0 -> 0
\r
128 ddcot105 comparetotal 0.7E+1 7 -> 0
\r
129 ddcot106 comparetotal 70E-1 7 -> -1
\r
130 ddcot107 comparetotal 7.0 7E+0 -> -1
\r
131 ddcot108 comparetotal 7.0 70E-1 -> 0
\r
132 ddcot109 comparetotal 7 0.7E+1 -> 0
\r
133 ddcot110 comparetotal 7 70E-1 -> 1
\r
135 ddcot120 comparetotal 8.0 7.0 -> 1
\r
136 ddcot121 comparetotal 8.0 7 -> 1
\r
137 ddcot122 comparetotal 8 7.0 -> 1
\r
138 ddcot123 comparetotal 8E+0 7.0 -> 1
\r
139 ddcot124 comparetotal 80E-1 7.0 -> 1
\r
140 ddcot125 comparetotal 0.8E+1 7 -> 1
\r
141 ddcot126 comparetotal 80E-1 7 -> 1
\r
142 ddcot127 comparetotal 8.0 7E+0 -> 1
\r
143 ddcot128 comparetotal 8.0 70E-1 -> 1
\r
144 ddcot129 comparetotal 8 0.7E+1 -> 1
\r
145 ddcot130 comparetotal 8 70E-1 -> 1
\r
147 ddcot140 comparetotal 8.0 9.0 -> -1
\r
148 ddcot141 comparetotal 8.0 9 -> -1
\r
149 ddcot142 comparetotal 8 9.0 -> -1
\r
150 ddcot143 comparetotal 8E+0 9.0 -> -1
\r
151 ddcot144 comparetotal 80E-1 9.0 -> -1
\r
152 ddcot145 comparetotal 0.8E+1 9 -> -1
\r
153 ddcot146 comparetotal 80E-1 9 -> -1
\r
154 ddcot147 comparetotal 8.0 9E+0 -> -1
\r
155 ddcot148 comparetotal 8.0 90E-1 -> -1
\r
156 ddcot149 comparetotal 8 0.9E+1 -> -1
\r
157 ddcot150 comparetotal 8 90E-1 -> -1
\r
159 -- and again, with sign changes -+ ..
\r
160 ddcot200 comparetotal -7.0 7.0 -> -1
\r
161 ddcot201 comparetotal -7.0 7 -> -1
\r
162 ddcot202 comparetotal -7 7.0 -> -1
\r
163 ddcot203 comparetotal -7E+0 7.0 -> -1
\r
164 ddcot204 comparetotal -70E-1 7.0 -> -1
\r
165 ddcot205 comparetotal -0.7E+1 7 -> -1
\r
166 ddcot206 comparetotal -70E-1 7 -> -1
\r
167 ddcot207 comparetotal -7.0 7E+0 -> -1
\r
168 ddcot208 comparetotal -7.0 70E-1 -> -1
\r
169 ddcot209 comparetotal -7 0.7E+1 -> -1
\r
170 ddcot210 comparetotal -7 70E-1 -> -1
\r
172 ddcot220 comparetotal -8.0 7.0 -> -1
\r
173 ddcot221 comparetotal -8.0 7 -> -1
\r
174 ddcot222 comparetotal -8 7.0 -> -1
\r
175 ddcot223 comparetotal -8E+0 7.0 -> -1
\r
176 ddcot224 comparetotal -80E-1 7.0 -> -1
\r
177 ddcot225 comparetotal -0.8E+1 7 -> -1
\r
178 ddcot226 comparetotal -80E-1 7 -> -1
\r
179 ddcot227 comparetotal -8.0 7E+0 -> -1
\r
180 ddcot228 comparetotal -8.0 70E-1 -> -1
\r
181 ddcot229 comparetotal -8 0.7E+1 -> -1
\r
182 ddcot230 comparetotal -8 70E-1 -> -1
\r
184 ddcot240 comparetotal -8.0 9.0 -> -1
\r
185 ddcot241 comparetotal -8.0 9 -> -1
\r
186 ddcot242 comparetotal -8 9.0 -> -1
\r
187 ddcot243 comparetotal -8E+0 9.0 -> -1
\r
188 ddcot244 comparetotal -80E-1 9.0 -> -1
\r
189 ddcot245 comparetotal -0.8E+1 9 -> -1
\r
190 ddcot246 comparetotal -80E-1 9 -> -1
\r
191 ddcot247 comparetotal -8.0 9E+0 -> -1
\r
192 ddcot248 comparetotal -8.0 90E-1 -> -1
\r
193 ddcot249 comparetotal -8 0.9E+1 -> -1
\r
194 ddcot250 comparetotal -8 90E-1 -> -1
\r
196 -- and again, with sign changes +- ..
\r
197 ddcot300 comparetotal 7.0 -7.0 -> 1
\r
198 ddcot301 comparetotal 7.0 -7 -> 1
\r
199 ddcot302 comparetotal 7 -7.0 -> 1
\r
200 ddcot303 comparetotal 7E+0 -7.0 -> 1
\r
201 ddcot304 comparetotal 70E-1 -7.0 -> 1
\r
202 ddcot305 comparetotal .7E+1 -7 -> 1
\r
203 ddcot306 comparetotal 70E-1 -7 -> 1
\r
204 ddcot307 comparetotal 7.0 -7E+0 -> 1
\r
205 ddcot308 comparetotal 7.0 -70E-1 -> 1
\r
206 ddcot309 comparetotal 7 -.7E+1 -> 1
\r
207 ddcot310 comparetotal 7 -70E-1 -> 1
\r
209 ddcot320 comparetotal 8.0 -7.0 -> 1
\r
210 ddcot321 comparetotal 8.0 -7 -> 1
\r
211 ddcot322 comparetotal 8 -7.0 -> 1
\r
212 ddcot323 comparetotal 8E+0 -7.0 -> 1
\r
213 ddcot324 comparetotal 80E-1 -7.0 -> 1
\r
214 ddcot325 comparetotal .8E+1 -7 -> 1
\r
215 ddcot326 comparetotal 80E-1 -7 -> 1
\r
216 ddcot327 comparetotal 8.0 -7E+0 -> 1
\r
217 ddcot328 comparetotal 8.0 -70E-1 -> 1
\r
218 ddcot329 comparetotal 8 -.7E+1 -> 1
\r
219 ddcot330 comparetotal 8 -70E-1 -> 1
\r
221 ddcot340 comparetotal 8.0 -9.0 -> 1
\r
222 ddcot341 comparetotal 8.0 -9 -> 1
\r
223 ddcot342 comparetotal 8 -9.0 -> 1
\r
224 ddcot343 comparetotal 8E+0 -9.0 -> 1
\r
225 ddcot344 comparetotal 80E-1 -9.0 -> 1
\r
226 ddcot345 comparetotal .8E+1 -9 -> 1
\r
227 ddcot346 comparetotal 80E-1 -9 -> 1
\r
228 ddcot347 comparetotal 8.0 -9E+0 -> 1
\r
229 ddcot348 comparetotal 8.0 -90E-1 -> 1
\r
230 ddcot349 comparetotal 8 -.9E+1 -> 1
\r
231 ddcot350 comparetotal 8 -90E-1 -> 1
\r
233 -- and again, with sign changes -- ..
\r
234 ddcot400 comparetotal -7.0 -7.0 -> 0
\r
235 ddcot401 comparetotal -7.0 -7 -> 1
\r
236 ddcot402 comparetotal -7 -7.0 -> -1
\r
237 ddcot403 comparetotal -7E+0 -7.0 -> -1
\r
238 ddcot404 comparetotal -70E-1 -7.0 -> 0
\r
239 ddcot405 comparetotal -.7E+1 -7 -> 0
\r
240 ddcot406 comparetotal -70E-1 -7 -> 1
\r
241 ddcot407 comparetotal -7.0 -7E+0 -> 1
\r
242 ddcot408 comparetotal -7.0 -70E-1 -> 0
\r
243 ddcot409 comparetotal -7 -.7E+1 -> 0
\r
244 ddcot410 comparetotal -7 -70E-1 -> -1
\r
246 ddcot420 comparetotal -8.0 -7.0 -> -1
\r
247 ddcot421 comparetotal -8.0 -7 -> -1
\r
248 ddcot422 comparetotal -8 -7.0 -> -1
\r
249 ddcot423 comparetotal -8E+0 -7.0 -> -1
\r
250 ddcot424 comparetotal -80E-1 -7.0 -> -1
\r
251 ddcot425 comparetotal -.8E+1 -7 -> -1
\r
252 ddcot426 comparetotal -80E-1 -7 -> -1
\r
253 ddcot427 comparetotal -8.0 -7E+0 -> -1
\r
254 ddcot428 comparetotal -8.0 -70E-1 -> -1
\r
255 ddcot429 comparetotal -8 -.7E+1 -> -1
\r
256 ddcot430 comparetotal -8 -70E-1 -> -1
\r
258 ddcot440 comparetotal -8.0 -9.0 -> 1
\r
259 ddcot441 comparetotal -8.0 -9 -> 1
\r
260 ddcot442 comparetotal -8 -9.0 -> 1
\r
261 ddcot443 comparetotal -8E+0 -9.0 -> 1
\r
262 ddcot444 comparetotal -80E-1 -9.0 -> 1
\r
263 ddcot445 comparetotal -.8E+1 -9 -> 1
\r
264 ddcot446 comparetotal -80E-1 -9 -> 1
\r
265 ddcot447 comparetotal -8.0 -9E+0 -> 1
\r
266 ddcot448 comparetotal -8.0 -90E-1 -> 1
\r
267 ddcot449 comparetotal -8 -.9E+1 -> 1
\r
268 ddcot450 comparetotal -8 -90E-1 -> 1
\r
271 -- testcases that subtract to lots of zeros at boundaries [pgr]
\r
272 ddcot473 comparetotal 123.4560000000000E-89 123.456E-89 -> -1
\r
273 ddcot474 comparetotal 123.456000000000E+89 123.456E+89 -> -1
\r
274 ddcot475 comparetotal 123.45600000000E-89 123.456E-89 -> -1
\r
275 ddcot476 comparetotal 123.4560000000E+89 123.456E+89 -> -1
\r
276 ddcot477 comparetotal 123.456000000E-89 123.456E-89 -> -1
\r
277 ddcot478 comparetotal 123.45600000E+89 123.456E+89 -> -1
\r
278 ddcot479 comparetotal 123.4560000E-89 123.456E-89 -> -1
\r
279 ddcot480 comparetotal 123.456000E+89 123.456E+89 -> -1
\r
280 ddcot481 comparetotal 123.45600E-89 123.456E-89 -> -1
\r
281 ddcot482 comparetotal 123.4560E+89 123.456E+89 -> -1
\r
282 ddcot483 comparetotal 123.456E-89 123.456E-89 -> 0
\r
283 ddcot487 comparetotal 123.456E+89 123.4560000000000E+89 -> 1
\r
284 ddcot488 comparetotal 123.456E-89 123.456000000000E-89 -> 1
\r
285 ddcot489 comparetotal 123.456E+89 123.45600000000E+89 -> 1
\r
286 ddcot490 comparetotal 123.456E-89 123.4560000000E-89 -> 1
\r
287 ddcot491 comparetotal 123.456E+89 123.456000000E+89 -> 1
\r
288 ddcot492 comparetotal 123.456E-89 123.45600000E-89 -> 1
\r
289 ddcot493 comparetotal 123.456E+89 123.4560000E+89 -> 1
\r
290 ddcot494 comparetotal 123.456E-89 123.456000E-89 -> 1
\r
291 ddcot495 comparetotal 123.456E+89 123.45600E+89 -> 1
\r
292 ddcot496 comparetotal 123.456E-89 123.4560E-89 -> 1
\r
293 ddcot497 comparetotal 123.456E+89 123.456E+89 -> 0
\r
295 -- wide-ranging, around precision; signs equal
\r
296 ddcot498 comparetotal 1 1E-17 -> 1
\r
297 ddcot499 comparetotal 1 1E-16 -> 1
\r
298 ddcot500 comparetotal 1 1E-15 -> 1
\r
299 ddcot501 comparetotal 1 1E-14 -> 1
\r
300 ddcot502 comparetotal 1 1E-13 -> 1
\r
301 ddcot503 comparetotal 1 1E-12 -> 1
\r
302 ddcot504 comparetotal 1 1E-11 -> 1
\r
303 ddcot505 comparetotal 1 1E-10 -> 1
\r
304 ddcot506 comparetotal 1 1E-9 -> 1
\r
305 ddcot507 comparetotal 1 1E-8 -> 1
\r
306 ddcot508 comparetotal 1 1E-7 -> 1
\r
307 ddcot509 comparetotal 1 1E-6 -> 1
\r
308 ddcot510 comparetotal 1 1E-5 -> 1
\r
309 ddcot511 comparetotal 1 1E-4 -> 1
\r
310 ddcot512 comparetotal 1 1E-3 -> 1
\r
311 ddcot513 comparetotal 1 1E-2 -> 1
\r
312 ddcot514 comparetotal 1 1E-1 -> 1
\r
313 ddcot515 comparetotal 1 1E-0 -> 0
\r
314 ddcot516 comparetotal 1 1E+1 -> -1
\r
315 ddcot517 comparetotal 1 1E+2 -> -1
\r
316 ddcot518 comparetotal 1 1E+3 -> -1
\r
317 ddcot519 comparetotal 1 1E+4 -> -1
\r
318 ddcot521 comparetotal 1 1E+5 -> -1
\r
319 ddcot522 comparetotal 1 1E+6 -> -1
\r
320 ddcot523 comparetotal 1 1E+7 -> -1
\r
321 ddcot524 comparetotal 1 1E+8 -> -1
\r
322 ddcot525 comparetotal 1 1E+9 -> -1
\r
323 ddcot526 comparetotal 1 1E+10 -> -1
\r
324 ddcot527 comparetotal 1 1E+11 -> -1
\r
325 ddcot528 comparetotal 1 1E+12 -> -1
\r
326 ddcot529 comparetotal 1 1E+13 -> -1
\r
327 ddcot530 comparetotal 1 1E+14 -> -1
\r
328 ddcot531 comparetotal 1 1E+15 -> -1
\r
329 ddcot532 comparetotal 1 1E+16 -> -1
\r
330 ddcot533 comparetotal 1 1E+17 -> -1
\r
332 ddcot538 comparetotal 1E-17 1 -> -1
\r
333 ddcot539 comparetotal 1E-16 1 -> -1
\r
334 ddcot540 comparetotal 1E-15 1 -> -1
\r
335 ddcot541 comparetotal 1E-14 1 -> -1
\r
336 ddcot542 comparetotal 1E-13 1 -> -1
\r
337 ddcot543 comparetotal 1E-12 1 -> -1
\r
338 ddcot544 comparetotal 1E-11 1 -> -1
\r
339 ddcot545 comparetotal 1E-10 1 -> -1
\r
340 ddcot546 comparetotal 1E-9 1 -> -1
\r
341 ddcot547 comparetotal 1E-8 1 -> -1
\r
342 ddcot548 comparetotal 1E-7 1 -> -1
\r
343 ddcot549 comparetotal 1E-6 1 -> -1
\r
344 ddcot550 comparetotal 1E-5 1 -> -1
\r
345 ddcot551 comparetotal 1E-4 1 -> -1
\r
346 ddcot552 comparetotal 1E-3 1 -> -1
\r
347 ddcot553 comparetotal 1E-2 1 -> -1
\r
348 ddcot554 comparetotal 1E-1 1 -> -1
\r
349 ddcot555 comparetotal 1E-0 1 -> 0
\r
350 ddcot556 comparetotal 1E+1 1 -> 1
\r
351 ddcot557 comparetotal 1E+2 1 -> 1
\r
352 ddcot558 comparetotal 1E+3 1 -> 1
\r
353 ddcot559 comparetotal 1E+4 1 -> 1
\r
354 ddcot561 comparetotal 1E+5 1 -> 1
\r
355 ddcot562 comparetotal 1E+6 1 -> 1
\r
356 ddcot563 comparetotal 1E+7 1 -> 1
\r
357 ddcot564 comparetotal 1E+8 1 -> 1
\r
358 ddcot565 comparetotal 1E+9 1 -> 1
\r
359 ddcot566 comparetotal 1E+10 1 -> 1
\r
360 ddcot567 comparetotal 1E+11 1 -> 1
\r
361 ddcot568 comparetotal 1E+12 1 -> 1
\r
362 ddcot569 comparetotal 1E+13 1 -> 1
\r
363 ddcot570 comparetotal 1E+14 1 -> 1
\r
364 ddcot571 comparetotal 1E+15 1 -> 1
\r
365 ddcot572 comparetotal 1E+16 1 -> 1
\r
366 ddcot573 comparetotal 1E+17 1 -> 1
\r
367 -- similar with a useful coefficient, one side only
\r
368 ddcot578 comparetotal 0.000000987654321 1E-17 -> 1
\r
369 ddcot579 comparetotal 0.000000987654321 1E-16 -> 1
\r
370 ddcot580 comparetotal 0.000000987654321 1E-15 -> 1
\r
371 ddcot581 comparetotal 0.000000987654321 1E-14 -> 1
\r
372 ddcot582 comparetotal 0.000000987654321 1E-13 -> 1
\r
373 ddcot583 comparetotal 0.000000987654321 1E-12 -> 1
\r
374 ddcot584 comparetotal 0.000000987654321 1E-11 -> 1
\r
375 ddcot585 comparetotal 0.000000987654321 1E-10 -> 1
\r
376 ddcot586 comparetotal 0.000000987654321 1E-9 -> 1
\r
377 ddcot587 comparetotal 0.000000987654321 1E-8 -> 1
\r
378 ddcot588 comparetotal 0.000000987654321 1E-7 -> 1
\r
379 ddcot589 comparetotal 0.000000987654321 1E-6 -> -1
\r
380 ddcot590 comparetotal 0.000000987654321 1E-5 -> -1
\r
381 ddcot591 comparetotal 0.000000987654321 1E-4 -> -1
\r
382 ddcot592 comparetotal 0.000000987654321 1E-3 -> -1
\r
383 ddcot593 comparetotal 0.000000987654321 1E-2 -> -1
\r
384 ddcot594 comparetotal 0.000000987654321 1E-1 -> -1
\r
385 ddcot595 comparetotal 0.000000987654321 1E-0 -> -1
\r
386 ddcot596 comparetotal 0.000000987654321 1E+1 -> -1
\r
387 ddcot597 comparetotal 0.000000987654321 1E+2 -> -1
\r
388 ddcot598 comparetotal 0.000000987654321 1E+3 -> -1
\r
389 ddcot599 comparetotal 0.000000987654321 1E+4 -> -1
\r
391 -- check some unit-y traps
\r
392 ddcot600 comparetotal 12 12.2345 -> -1
\r
393 ddcot601 comparetotal 12.0 12.2345 -> -1
\r
394 ddcot602 comparetotal 12.00 12.2345 -> -1
\r
395 ddcot603 comparetotal 12.000 12.2345 -> -1
\r
396 ddcot604 comparetotal 12.0000 12.2345 -> -1
\r
397 ddcot605 comparetotal 12.00000 12.2345 -> -1
\r
398 ddcot606 comparetotal 12.000000 12.2345 -> -1
\r
399 ddcot607 comparetotal 12.0000000 12.2345 -> -1
\r
400 ddcot608 comparetotal 12.00000000 12.2345 -> -1
\r
401 ddcot609 comparetotal 12.000000000 12.2345 -> -1
\r
402 ddcot610 comparetotal 12.1234 12 -> 1
\r
403 ddcot611 comparetotal 12.1234 12.0 -> 1
\r
404 ddcot612 comparetotal 12.1234 12.00 -> 1
\r
405 ddcot613 comparetotal 12.1234 12.000 -> 1
\r
406 ddcot614 comparetotal 12.1234 12.0000 -> 1
\r
407 ddcot615 comparetotal 12.1234 12.00000 -> 1
\r
408 ddcot616 comparetotal 12.1234 12.000000 -> 1
\r
409 ddcot617 comparetotal 12.1234 12.0000000 -> 1
\r
410 ddcot618 comparetotal 12.1234 12.00000000 -> 1
\r
411 ddcot619 comparetotal 12.1234 12.000000000 -> 1
\r
412 ddcot620 comparetotal -12 -12.2345 -> 1
\r
413 ddcot621 comparetotal -12.0 -12.2345 -> 1
\r
414 ddcot622 comparetotal -12.00 -12.2345 -> 1
\r
415 ddcot623 comparetotal -12.000 -12.2345 -> 1
\r
416 ddcot624 comparetotal -12.0000 -12.2345 -> 1
\r
417 ddcot625 comparetotal -12.00000 -12.2345 -> 1
\r
418 ddcot626 comparetotal -12.000000 -12.2345 -> 1
\r
419 ddcot627 comparetotal -12.0000000 -12.2345 -> 1
\r
420 ddcot628 comparetotal -12.00000000 -12.2345 -> 1
\r
421 ddcot629 comparetotal -12.000000000 -12.2345 -> 1
\r
422 ddcot630 comparetotal -12.1234 -12 -> -1
\r
423 ddcot631 comparetotal -12.1234 -12.0 -> -1
\r
424 ddcot632 comparetotal -12.1234 -12.00 -> -1
\r
425 ddcot633 comparetotal -12.1234 -12.000 -> -1
\r
426 ddcot634 comparetotal -12.1234 -12.0000 -> -1
\r
427 ddcot635 comparetotal -12.1234 -12.00000 -> -1
\r
428 ddcot636 comparetotal -12.1234 -12.000000 -> -1
\r
429 ddcot637 comparetotal -12.1234 -12.0000000 -> -1
\r
430 ddcot638 comparetotal -12.1234 -12.00000000 -> -1
\r
431 ddcot639 comparetotal -12.1234 -12.000000000 -> -1
\r
434 ddcot640 comparetotal 0 0 -> 0
\r
435 ddcot641 comparetotal 0 -0 -> 1
\r
436 ddcot642 comparetotal 0 -0.0 -> 1
\r
437 ddcot643 comparetotal 0 0.0 -> 1
\r
438 ddcot644 comparetotal -0 0 -> -1
\r
439 ddcot645 comparetotal -0 -0 -> 0
\r
440 ddcot646 comparetotal -0 -0.0 -> -1
\r
441 ddcot647 comparetotal -0 0.0 -> -1
\r
442 ddcot648 comparetotal 0.0 0 -> -1
\r
443 ddcot649 comparetotal 0.0 -0 -> 1
\r
444 ddcot650 comparetotal 0.0 -0.0 -> 1
\r
445 ddcot651 comparetotal 0.0 0.0 -> 0
\r
446 ddcot652 comparetotal -0.0 0 -> -1
\r
447 ddcot653 comparetotal -0.0 -0 -> 1
\r
448 ddcot654 comparetotal -0.0 -0.0 -> 0
\r
449 ddcot655 comparetotal -0.0 0.0 -> -1
\r
451 ddcot656 comparetotal -0E1 0.0 -> -1
\r
452 ddcot657 comparetotal -0E2 0.0 -> -1
\r
453 ddcot658 comparetotal 0E1 0.0 -> 1
\r
454 ddcot659 comparetotal 0E2 0.0 -> 1
\r
455 ddcot660 comparetotal -0E1 0 -> -1
\r
456 ddcot661 comparetotal -0E2 0 -> -1
\r
457 ddcot662 comparetotal 0E1 0 -> 1
\r
458 ddcot663 comparetotal 0E2 0 -> 1
\r
459 ddcot664 comparetotal -0E1 -0E1 -> 0
\r
460 ddcot665 comparetotal -0E2 -0E1 -> -1
\r
461 ddcot666 comparetotal 0E1 -0E1 -> 1
\r
462 ddcot667 comparetotal 0E2 -0E1 -> 1
\r
463 ddcot668 comparetotal -0E1 -0E2 -> 1
\r
464 ddcot669 comparetotal -0E2 -0E2 -> 0
\r
465 ddcot670 comparetotal 0E1 -0E2 -> 1
\r
466 ddcot671 comparetotal 0E2 -0E2 -> 1
\r
467 ddcot672 comparetotal -0E1 0E1 -> -1
\r
468 ddcot673 comparetotal -0E2 0E1 -> -1
\r
469 ddcot674 comparetotal 0E1 0E1 -> 0
\r
470 ddcot675 comparetotal 0E2 0E1 -> 1
\r
471 ddcot676 comparetotal -0E1 0E2 -> -1
\r
472 ddcot677 comparetotal -0E2 0E2 -> -1
\r
473 ddcot678 comparetotal 0E1 0E2 -> -1
\r
474 ddcot679 comparetotal 0E2 0E2 -> 0
\r
476 -- trailing zeros; unit-y
\r
477 ddcot680 comparetotal 12 12 -> 0
\r
478 ddcot681 comparetotal 12 12.0 -> 1
\r
479 ddcot682 comparetotal 12 12.00 -> 1
\r
480 ddcot683 comparetotal 12 12.000 -> 1
\r
481 ddcot684 comparetotal 12 12.0000 -> 1
\r
482 ddcot685 comparetotal 12 12.00000 -> 1
\r
483 ddcot686 comparetotal 12 12.000000 -> 1
\r
484 ddcot687 comparetotal 12 12.0000000 -> 1
\r
485 ddcot688 comparetotal 12 12.00000000 -> 1
\r
486 ddcot689 comparetotal 12 12.000000000 -> 1
\r
487 ddcot690 comparetotal 12 12 -> 0
\r
488 ddcot691 comparetotal 12.0 12 -> -1
\r
489 ddcot692 comparetotal 12.00 12 -> -1
\r
490 ddcot693 comparetotal 12.000 12 -> -1
\r
491 ddcot694 comparetotal 12.0000 12 -> -1
\r
492 ddcot695 comparetotal 12.00000 12 -> -1
\r
493 ddcot696 comparetotal 12.000000 12 -> -1
\r
494 ddcot697 comparetotal 12.0000000 12 -> -1
\r
495 ddcot698 comparetotal 12.00000000 12 -> -1
\r
496 ddcot699 comparetotal 12.000000000 12 -> -1
\r
498 -- old long operand checks
\r
499 ddcot701 comparetotal 12345678000 1 -> 1
\r
500 ddcot702 comparetotal 1 12345678000 -> -1
\r
501 ddcot703 comparetotal 1234567800 1 -> 1
\r
502 ddcot704 comparetotal 1 1234567800 -> -1
\r
503 ddcot705 comparetotal 1234567890 1 -> 1
\r
504 ddcot706 comparetotal 1 1234567890 -> -1
\r
505 ddcot707 comparetotal 1234567891 1 -> 1
\r
506 ddcot708 comparetotal 1 1234567891 -> -1
\r
507 ddcot709 comparetotal 12345678901 1 -> 1
\r
508 ddcot710 comparetotal 1 12345678901 -> -1
\r
509 ddcot711 comparetotal 1234567896 1 -> 1
\r
510 ddcot712 comparetotal 1 1234567896 -> -1
\r
511 ddcot713 comparetotal -1234567891 1 -> -1
\r
512 ddcot714 comparetotal 1 -1234567891 -> 1
\r
513 ddcot715 comparetotal -12345678901 1 -> -1
\r
514 ddcot716 comparetotal 1 -12345678901 -> 1
\r
515 ddcot717 comparetotal -1234567896 1 -> -1
\r
516 ddcot718 comparetotal 1 -1234567896 -> 1
\r
518 -- old residue cases
\r
519 ddcot740 comparetotal 1 0.9999999 -> 1
\r
520 ddcot741 comparetotal 1 0.999999 -> 1
\r
521 ddcot742 comparetotal 1 0.99999 -> 1
\r
522 ddcot743 comparetotal 1 1.0000 -> 1
\r
523 ddcot744 comparetotal 1 1.00001 -> -1
\r
524 ddcot745 comparetotal 1 1.000001 -> -1
\r
525 ddcot746 comparetotal 1 1.0000001 -> -1
\r
526 ddcot750 comparetotal 0.9999999 1 -> -1
\r
527 ddcot751 comparetotal 0.999999 1 -> -1
\r
528 ddcot752 comparetotal 0.99999 1 -> -1
\r
529 ddcot753 comparetotal 1.0000 1 -> -1
\r
530 ddcot754 comparetotal 1.00001 1 -> 1
\r
531 ddcot755 comparetotal 1.000001 1 -> 1
\r
532 ddcot756 comparetotal 1.0000001 1 -> 1
\r
535 ddcot780 comparetotal Inf -Inf -> 1
\r
536 ddcot781 comparetotal Inf -1000 -> 1
\r
537 ddcot782 comparetotal Inf -1 -> 1
\r
538 ddcot783 comparetotal Inf -0 -> 1
\r
539 ddcot784 comparetotal Inf 0 -> 1
\r
540 ddcot785 comparetotal Inf 1 -> 1
\r
541 ddcot786 comparetotal Inf 1000 -> 1
\r
542 ddcot787 comparetotal Inf Inf -> 0
\r
543 ddcot788 comparetotal -1000 Inf -> -1
\r
544 ddcot789 comparetotal -Inf Inf -> -1
\r
545 ddcot790 comparetotal -1 Inf -> -1
\r
546 ddcot791 comparetotal -0 Inf -> -1
\r
547 ddcot792 comparetotal 0 Inf -> -1
\r
548 ddcot793 comparetotal 1 Inf -> -1
\r
549 ddcot794 comparetotal 1000 Inf -> -1
\r
550 ddcot795 comparetotal Inf Inf -> 0
\r
552 ddcot800 comparetotal -Inf -Inf -> 0
\r
553 ddcot801 comparetotal -Inf -1000 -> -1
\r
554 ddcot802 comparetotal -Inf -1 -> -1
\r
555 ddcot803 comparetotal -Inf -0 -> -1
\r
556 ddcot804 comparetotal -Inf 0 -> -1
\r
557 ddcot805 comparetotal -Inf 1 -> -1
\r
558 ddcot806 comparetotal -Inf 1000 -> -1
\r
559 ddcot807 comparetotal -Inf Inf -> -1
\r
560 ddcot808 comparetotal -Inf -Inf -> 0
\r
561 ddcot809 comparetotal -1000 -Inf -> 1
\r
562 ddcot810 comparetotal -1 -Inf -> 1
\r
563 ddcot811 comparetotal -0 -Inf -> 1
\r
564 ddcot812 comparetotal 0 -Inf -> 1
\r
565 ddcot813 comparetotal 1 -Inf -> 1
\r
566 ddcot814 comparetotal 1000 -Inf -> 1
\r
567 ddcot815 comparetotal Inf -Inf -> 1
\r
569 ddcot821 comparetotal NaN -Inf -> 1
\r
570 ddcot822 comparetotal NaN -1000 -> 1
\r
571 ddcot823 comparetotal NaN -1 -> 1
\r
572 ddcot824 comparetotal NaN -0 -> 1
\r
573 ddcot825 comparetotal NaN 0 -> 1
\r
574 ddcot826 comparetotal NaN 1 -> 1
\r
575 ddcot827 comparetotal NaN 1000 -> 1
\r
576 ddcot828 comparetotal NaN Inf -> 1
\r
577 ddcot829 comparetotal NaN NaN -> 0
\r
578 ddcot830 comparetotal -Inf NaN -> -1
\r
579 ddcot831 comparetotal -1000 NaN -> -1
\r
580 ddcot832 comparetotal -1 NaN -> -1
\r
581 ddcot833 comparetotal -0 NaN -> -1
\r
582 ddcot834 comparetotal 0 NaN -> -1
\r
583 ddcot835 comparetotal 1 NaN -> -1
\r
584 ddcot836 comparetotal 1000 NaN -> -1
\r
585 ddcot837 comparetotal Inf NaN -> -1
\r
586 ddcot838 comparetotal -NaN -NaN -> 0
\r
587 ddcot839 comparetotal +NaN -NaN -> 1
\r
588 ddcot840 comparetotal -NaN +NaN -> -1
\r
590 ddcot841 comparetotal sNaN -sNaN -> 1
\r
591 ddcot842 comparetotal sNaN -NaN -> 1
\r
592 ddcot843 comparetotal sNaN -Inf -> 1
\r
593 ddcot844 comparetotal sNaN -1000 -> 1
\r
594 ddcot845 comparetotal sNaN -1 -> 1
\r
595 ddcot846 comparetotal sNaN -0 -> 1
\r
596 ddcot847 comparetotal sNaN 0 -> 1
\r
597 ddcot848 comparetotal sNaN 1 -> 1
\r
598 ddcot849 comparetotal sNaN 1000 -> 1
\r
599 ddcot850 comparetotal sNaN NaN -> -1
\r
600 ddcot851 comparetotal sNaN sNaN -> 0
\r
602 ddcot852 comparetotal -sNaN sNaN -> -1
\r
603 ddcot853 comparetotal -NaN sNaN -> -1
\r
604 ddcot854 comparetotal -Inf sNaN -> -1
\r
605 ddcot855 comparetotal -1000 sNaN -> -1
\r
606 ddcot856 comparetotal -1 sNaN -> -1
\r
607 ddcot857 comparetotal -0 sNaN -> -1
\r
608 ddcot858 comparetotal 0 sNaN -> -1
\r
609 ddcot859 comparetotal 1 sNaN -> -1
\r
610 ddcot860 comparetotal 1000 sNaN -> -1
\r
611 ddcot861 comparetotal Inf sNaN -> -1
\r
612 ddcot862 comparetotal NaN sNaN -> 1
\r
613 ddcot863 comparetotal sNaN sNaN -> 0
\r
615 ddcot871 comparetotal -sNaN -sNaN -> 0
\r
616 ddcot872 comparetotal -sNaN -NaN -> 1
\r
617 ddcot873 comparetotal -sNaN -Inf -> -1
\r
618 ddcot874 comparetotal -sNaN -1000 -> -1
\r
619 ddcot875 comparetotal -sNaN -1 -> -1
\r
620 ddcot876 comparetotal -sNaN -0 -> -1
\r
621 ddcot877 comparetotal -sNaN 0 -> -1
\r
622 ddcot878 comparetotal -sNaN 1 -> -1
\r
623 ddcot879 comparetotal -sNaN 1000 -> -1
\r
624 ddcot880 comparetotal -sNaN NaN -> -1
\r
625 ddcot881 comparetotal -sNaN sNaN -> -1
\r
627 ddcot882 comparetotal -sNaN -sNaN -> 0
\r
628 ddcot883 comparetotal -NaN -sNaN -> -1
\r
629 ddcot884 comparetotal -Inf -sNaN -> 1
\r
630 ddcot885 comparetotal -1000 -sNaN -> 1
\r
631 ddcot886 comparetotal -1 -sNaN -> 1
\r
632 ddcot887 comparetotal -0 -sNaN -> 1
\r
633 ddcot888 comparetotal 0 -sNaN -> 1
\r
634 ddcot889 comparetotal 1 -sNaN -> 1
\r
635 ddcot890 comparetotal 1000 -sNaN -> 1
\r
636 ddcot891 comparetotal Inf -sNaN -> 1
\r
637 ddcot892 comparetotal NaN -sNaN -> 1
\r
638 ddcot893 comparetotal sNaN -sNaN -> 1
\r
640 -- NaNs with payload
\r
641 ddcot960 comparetotal NaN9 -Inf -> 1
\r
642 ddcot961 comparetotal NaN8 999 -> 1
\r
643 ddcot962 comparetotal NaN77 Inf -> 1
\r
644 ddcot963 comparetotal -NaN67 NaN5 -> -1
\r
645 ddcot964 comparetotal -Inf -NaN4 -> 1
\r
646 ddcot965 comparetotal -999 -NaN33 -> 1
\r
647 ddcot966 comparetotal Inf NaN2 -> -1
\r
649 ddcot970 comparetotal -NaN41 -NaN42 -> 1
\r
650 ddcot971 comparetotal +NaN41 -NaN42 -> 1
\r
651 ddcot972 comparetotal -NaN41 +NaN42 -> -1
\r
652 ddcot973 comparetotal +NaN41 +NaN42 -> -1
\r
653 ddcot974 comparetotal -NaN42 -NaN01 -> -1
\r
654 ddcot975 comparetotal +NaN42 -NaN01 -> 1
\r
655 ddcot976 comparetotal -NaN42 +NaN01 -> -1
\r
656 ddcot977 comparetotal +NaN42 +NaN01 -> 1
\r
658 ddcot980 comparetotal -sNaN771 -sNaN772 -> 1
\r
659 ddcot981 comparetotal +sNaN771 -sNaN772 -> 1
\r
660 ddcot982 comparetotal -sNaN771 +sNaN772 -> -1
\r
661 ddcot983 comparetotal +sNaN771 +sNaN772 -> -1
\r
662 ddcot984 comparetotal -sNaN772 -sNaN771 -> -1
\r
663 ddcot985 comparetotal +sNaN772 -sNaN771 -> 1
\r
664 ddcot986 comparetotal -sNaN772 +sNaN771 -> -1
\r
665 ddcot987 comparetotal +sNaN772 +sNaN771 -> 1
\r
667 ddcot991 comparetotal -sNaN99 -Inf -> -1
\r
668 ddcot992 comparetotal sNaN98 -11 -> 1
\r
669 ddcot993 comparetotal sNaN97 NaN -> -1
\r
670 ddcot994 comparetotal sNaN16 sNaN94 -> -1
\r
671 ddcot995 comparetotal NaN85 sNaN83 -> 1
\r
672 ddcot996 comparetotal -Inf sNaN92 -> -1
\r
673 ddcot997 comparetotal 088 sNaN81 -> -1
\r
674 ddcot998 comparetotal Inf sNaN90 -> -1
\r
675 ddcot999 comparetotal NaN -sNaN89 -> 1
\r
678 ddcot1110 comparetotal 0E-383 0 -> -1
\r
679 ddcot1111 comparetotal 0E-383 -0 -> 1
\r
680 ddcot1112 comparetotal -0E-383 0 -> -1
\r
681 ddcot1113 comparetotal -0E-383 -0 -> 1
\r
682 ddcot1114 comparetotal 0E-383 0E+384 -> -1
\r
683 ddcot1115 comparetotal 0E-383 -0E+384 -> 1
\r
684 ddcot1116 comparetotal -0E-383 0E+384 -> -1
\r
685 ddcot1117 comparetotal -0E-383 -0E+384 -> 1
\r
686 ddcot1118 comparetotal 0 0E+384 -> -1
\r
687 ddcot1119 comparetotal 0 -0E+384 -> 1
\r
688 ddcot1120 comparetotal -0 0E+384 -> -1
\r
689 ddcot1121 comparetotal -0 -0E+384 -> 1
\r
691 ddcot1130 comparetotal 0E+384 0 -> 1
\r
692 ddcot1131 comparetotal 0E+384 -0 -> 1
\r
693 ddcot1132 comparetotal -0E+384 0 -> -1
\r
694 ddcot1133 comparetotal -0E+384 -0 -> -1
\r
695 ddcot1134 comparetotal 0E+384 0E-383 -> 1
\r
696 ddcot1135 comparetotal 0E+384 -0E-383 -> 1
\r
697 ddcot1136 comparetotal -0E+384 0E-383 -> -1
\r
698 ddcot1137 comparetotal -0E+384 -0E-383 -> -1
\r
699 ddcot1138 comparetotal 0 0E-383 -> 1
\r
700 ddcot1139 comparetotal 0 -0E-383 -> 1
\r
701 ddcot1140 comparetotal -0 0E-383 -> -1
\r
702 ddcot1141 comparetotal -0 -0E-383 -> -1
\r
705 ddcot9990 comparetotal 10 # -> NaN Invalid_operation
\r
706 ddcot9991 comparetotal # 10 -> NaN Invalid_operation
\r