1 ------------------------------------------------------------------------
\r
2 -- ddCompareTotalMag.decTest -- decDouble comparison; abs. total order--
\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 ddctm001 comparetotmag -2 -2 -> 0
\r
38 ddctm002 comparetotmag -2 -1 -> 1
\r
39 ddctm003 comparetotmag -2 0 -> 1
\r
40 ddctm004 comparetotmag -2 1 -> 1
\r
41 ddctm005 comparetotmag -2 2 -> 0
\r
42 ddctm006 comparetotmag -1 -2 -> -1
\r
43 ddctm007 comparetotmag -1 -1 -> 0
\r
44 ddctm008 comparetotmag -1 0 -> 1
\r
45 ddctm009 comparetotmag -1 1 -> 0
\r
46 ddctm010 comparetotmag -1 2 -> -1
\r
47 ddctm011 comparetotmag 0 -2 -> -1
\r
48 ddctm012 comparetotmag 0 -1 -> -1
\r
49 ddctm013 comparetotmag 0 0 -> 0
\r
50 ddctm014 comparetotmag 0 1 -> -1
\r
51 ddctm015 comparetotmag 0 2 -> -1
\r
52 ddctm016 comparetotmag 1 -2 -> -1
\r
53 ddctm017 comparetotmag 1 -1 -> 0
\r
54 ddctm018 comparetotmag 1 0 -> 1
\r
55 ddctm019 comparetotmag 1 1 -> 0
\r
56 ddctm020 comparetotmag 1 2 -> -1
\r
57 ddctm021 comparetotmag 2 -2 -> 0
\r
58 ddctm022 comparetotmag 2 -1 -> 1
\r
59 ddctm023 comparetotmag 2 0 -> 1
\r
60 ddctm025 comparetotmag 2 1 -> 1
\r
61 ddctm026 comparetotmag 2 2 -> 0
\r
63 ddctm031 comparetotmag -20 -20 -> 0
\r
64 ddctm032 comparetotmag -20 -10 -> 1
\r
65 ddctm033 comparetotmag -20 00 -> 1
\r
66 ddctm034 comparetotmag -20 10 -> 1
\r
67 ddctm035 comparetotmag -20 20 -> 0
\r
68 ddctm036 comparetotmag -10 -20 -> -1
\r
69 ddctm037 comparetotmag -10 -10 -> 0
\r
70 ddctm038 comparetotmag -10 00 -> 1
\r
71 ddctm039 comparetotmag -10 10 -> 0
\r
72 ddctm040 comparetotmag -10 20 -> -1
\r
73 ddctm041 comparetotmag 00 -20 -> -1
\r
74 ddctm042 comparetotmag 00 -10 -> -1
\r
75 ddctm043 comparetotmag 00 00 -> 0
\r
76 ddctm044 comparetotmag 00 10 -> -1
\r
77 ddctm045 comparetotmag 00 20 -> -1
\r
78 ddctm046 comparetotmag 10 -20 -> -1
\r
79 ddctm047 comparetotmag 10 -10 -> 0
\r
80 ddctm048 comparetotmag 10 00 -> 1
\r
81 ddctm049 comparetotmag 10 10 -> 0
\r
82 ddctm050 comparetotmag 10 20 -> -1
\r
83 ddctm051 comparetotmag 20 -20 -> 0
\r
84 ddctm052 comparetotmag 20 -10 -> 1
\r
85 ddctm053 comparetotmag 20 00 -> 1
\r
86 ddctm055 comparetotmag 20 10 -> 1
\r
87 ddctm056 comparetotmag 20 20 -> 0
\r
89 ddctm061 comparetotmag -2.0 -2.0 -> 0
\r
90 ddctm062 comparetotmag -2.0 -1.0 -> 1
\r
91 ddctm063 comparetotmag -2.0 0.0 -> 1
\r
92 ddctm064 comparetotmag -2.0 1.0 -> 1
\r
93 ddctm065 comparetotmag -2.0 2.0 -> 0
\r
94 ddctm066 comparetotmag -1.0 -2.0 -> -1
\r
95 ddctm067 comparetotmag -1.0 -1.0 -> 0
\r
96 ddctm068 comparetotmag -1.0 0.0 -> 1
\r
97 ddctm069 comparetotmag -1.0 1.0 -> 0
\r
98 ddctm070 comparetotmag -1.0 2.0 -> -1
\r
99 ddctm071 comparetotmag 0.0 -2.0 -> -1
\r
100 ddctm072 comparetotmag 0.0 -1.0 -> -1
\r
101 ddctm073 comparetotmag 0.0 0.0 -> 0
\r
102 ddctm074 comparetotmag 0.0 1.0 -> -1
\r
103 ddctm075 comparetotmag 0.0 2.0 -> -1
\r
104 ddctm076 comparetotmag 1.0 -2.0 -> -1
\r
105 ddctm077 comparetotmag 1.0 -1.0 -> 0
\r
106 ddctm078 comparetotmag 1.0 0.0 -> 1
\r
107 ddctm079 comparetotmag 1.0 1.0 -> 0
\r
108 ddctm080 comparetotmag 1.0 2.0 -> -1
\r
109 ddctm081 comparetotmag 2.0 -2.0 -> 0
\r
110 ddctm082 comparetotmag 2.0 -1.0 -> 1
\r
111 ddctm083 comparetotmag 2.0 0.0 -> 1
\r
112 ddctm085 comparetotmag 2.0 1.0 -> 1
\r
113 ddctm086 comparetotmag 2.0 2.0 -> 0
\r
115 -- now some cases which might overflow if subtract were used
\r
116 ddctm090 comparetotmag 9.99999999E+384 9.99999999E+384 -> 0
\r
117 ddctm091 comparetotmag -9.99999999E+384 9.99999999E+384 -> 0
\r
118 ddctm092 comparetotmag 9.99999999E+384 -9.99999999E+384 -> 0
\r
119 ddctm093 comparetotmag -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 ddctm100 comparetotmag 7.0 7.0 -> 0
\r
124 ddctm101 comparetotmag 7.0 7 -> -1
\r
125 ddctm102 comparetotmag 7 7.0 -> 1
\r
126 ddctm103 comparetotmag 7E+0 7.0 -> 1
\r
127 ddctm104 comparetotmag 70E-1 7.0 -> 0
\r
128 ddctm105 comparetotmag 0.7E+1 7 -> 0
\r
129 ddctm106 comparetotmag 70E-1 7 -> -1
\r
130 ddctm107 comparetotmag 7.0 7E+0 -> -1
\r
131 ddctm108 comparetotmag 7.0 70E-1 -> 0
\r
132 ddctm109 comparetotmag 7 0.7E+1 -> 0
\r
133 ddctm110 comparetotmag 7 70E-1 -> 1
\r
135 ddctm120 comparetotmag 8.0 7.0 -> 1
\r
136 ddctm121 comparetotmag 8.0 7 -> 1
\r
137 ddctm122 comparetotmag 8 7.0 -> 1
\r
138 ddctm123 comparetotmag 8E+0 7.0 -> 1
\r
139 ddctm124 comparetotmag 80E-1 7.0 -> 1
\r
140 ddctm125 comparetotmag 0.8E+1 7 -> 1
\r
141 ddctm126 comparetotmag 80E-1 7 -> 1
\r
142 ddctm127 comparetotmag 8.0 7E+0 -> 1
\r
143 ddctm128 comparetotmag 8.0 70E-1 -> 1
\r
144 ddctm129 comparetotmag 8 0.7E+1 -> 1
\r
145 ddctm130 comparetotmag 8 70E-1 -> 1
\r
147 ddctm140 comparetotmag 8.0 9.0 -> -1
\r
148 ddctm141 comparetotmag 8.0 9 -> -1
\r
149 ddctm142 comparetotmag 8 9.0 -> -1
\r
150 ddctm143 comparetotmag 8E+0 9.0 -> -1
\r
151 ddctm144 comparetotmag 80E-1 9.0 -> -1
\r
152 ddctm145 comparetotmag 0.8E+1 9 -> -1
\r
153 ddctm146 comparetotmag 80E-1 9 -> -1
\r
154 ddctm147 comparetotmag 8.0 9E+0 -> -1
\r
155 ddctm148 comparetotmag 8.0 90E-1 -> -1
\r
156 ddctm149 comparetotmag 8 0.9E+1 -> -1
\r
157 ddctm150 comparetotmag 8 90E-1 -> -1
\r
159 -- and again, with sign changes -+ ..
\r
160 ddctm200 comparetotmag -7.0 7.0 -> 0
\r
161 ddctm201 comparetotmag -7.0 7 -> -1
\r
162 ddctm202 comparetotmag -7 7.0 -> 1
\r
163 ddctm203 comparetotmag -7E+0 7.0 -> 1
\r
164 ddctm204 comparetotmag -70E-1 7.0 -> 0
\r
165 ddctm205 comparetotmag -0.7E+1 7 -> 0
\r
166 ddctm206 comparetotmag -70E-1 7 -> -1
\r
167 ddctm207 comparetotmag -7.0 7E+0 -> -1
\r
168 ddctm208 comparetotmag -7.0 70E-1 -> 0
\r
169 ddctm209 comparetotmag -7 0.7E+1 -> 0
\r
170 ddctm210 comparetotmag -7 70E-1 -> 1
\r
172 ddctm220 comparetotmag -8.0 7.0 -> 1
\r
173 ddctm221 comparetotmag -8.0 7 -> 1
\r
174 ddctm222 comparetotmag -8 7.0 -> 1
\r
175 ddctm223 comparetotmag -8E+0 7.0 -> 1
\r
176 ddctm224 comparetotmag -80E-1 7.0 -> 1
\r
177 ddctm225 comparetotmag -0.8E+1 7 -> 1
\r
178 ddctm226 comparetotmag -80E-1 7 -> 1
\r
179 ddctm227 comparetotmag -8.0 7E+0 -> 1
\r
180 ddctm228 comparetotmag -8.0 70E-1 -> 1
\r
181 ddctm229 comparetotmag -8 0.7E+1 -> 1
\r
182 ddctm230 comparetotmag -8 70E-1 -> 1
\r
184 ddctm240 comparetotmag -8.0 9.0 -> -1
\r
185 ddctm241 comparetotmag -8.0 9 -> -1
\r
186 ddctm242 comparetotmag -8 9.0 -> -1
\r
187 ddctm243 comparetotmag -8E+0 9.0 -> -1
\r
188 ddctm244 comparetotmag -80E-1 9.0 -> -1
\r
189 ddctm245 comparetotmag -0.8E+1 9 -> -1
\r
190 ddctm246 comparetotmag -80E-1 9 -> -1
\r
191 ddctm247 comparetotmag -8.0 9E+0 -> -1
\r
192 ddctm248 comparetotmag -8.0 90E-1 -> -1
\r
193 ddctm249 comparetotmag -8 0.9E+1 -> -1
\r
194 ddctm250 comparetotmag -8 90E-1 -> -1
\r
196 -- and again, with sign changes +- ..
\r
197 ddctm300 comparetotmag 7.0 -7.0 -> 0
\r
198 ddctm301 comparetotmag 7.0 -7 -> -1
\r
199 ddctm302 comparetotmag 7 -7.0 -> 1
\r
200 ddctm303 comparetotmag 7E+0 -7.0 -> 1
\r
201 ddctm304 comparetotmag 70E-1 -7.0 -> 0
\r
202 ddctm305 comparetotmag .7E+1 -7 -> 0
\r
203 ddctm306 comparetotmag 70E-1 -7 -> -1
\r
204 ddctm307 comparetotmag 7.0 -7E+0 -> -1
\r
205 ddctm308 comparetotmag 7.0 -70E-1 -> 0
\r
206 ddctm309 comparetotmag 7 -.7E+1 -> 0
\r
207 ddctm310 comparetotmag 7 -70E-1 -> 1
\r
209 ddctm320 comparetotmag 8.0 -7.0 -> 1
\r
210 ddctm321 comparetotmag 8.0 -7 -> 1
\r
211 ddctm322 comparetotmag 8 -7.0 -> 1
\r
212 ddctm323 comparetotmag 8E+0 -7.0 -> 1
\r
213 ddctm324 comparetotmag 80E-1 -7.0 -> 1
\r
214 ddctm325 comparetotmag .8E+1 -7 -> 1
\r
215 ddctm326 comparetotmag 80E-1 -7 -> 1
\r
216 ddctm327 comparetotmag 8.0 -7E+0 -> 1
\r
217 ddctm328 comparetotmag 8.0 -70E-1 -> 1
\r
218 ddctm329 comparetotmag 8 -.7E+1 -> 1
\r
219 ddctm330 comparetotmag 8 -70E-1 -> 1
\r
221 ddctm340 comparetotmag 8.0 -9.0 -> -1
\r
222 ddctm341 comparetotmag 8.0 -9 -> -1
\r
223 ddctm342 comparetotmag 8 -9.0 -> -1
\r
224 ddctm343 comparetotmag 8E+0 -9.0 -> -1
\r
225 ddctm344 comparetotmag 80E-1 -9.0 -> -1
\r
226 ddctm345 comparetotmag .8E+1 -9 -> -1
\r
227 ddctm346 comparetotmag 80E-1 -9 -> -1
\r
228 ddctm347 comparetotmag 8.0 -9E+0 -> -1
\r
229 ddctm348 comparetotmag 8.0 -90E-1 -> -1
\r
230 ddctm349 comparetotmag 8 -.9E+1 -> -1
\r
231 ddctm350 comparetotmag 8 -90E-1 -> -1
\r
233 -- and again, with sign changes -- ..
\r
234 ddctm400 comparetotmag -7.0 -7.0 -> 0
\r
235 ddctm401 comparetotmag -7.0 -7 -> -1
\r
236 ddctm402 comparetotmag -7 -7.0 -> 1
\r
237 ddctm403 comparetotmag -7E+0 -7.0 -> 1
\r
238 ddctm404 comparetotmag -70E-1 -7.0 -> 0
\r
239 ddctm405 comparetotmag -.7E+1 -7 -> 0
\r
240 ddctm406 comparetotmag -70E-1 -7 -> -1
\r
241 ddctm407 comparetotmag -7.0 -7E+0 -> -1
\r
242 ddctm408 comparetotmag -7.0 -70E-1 -> 0
\r
243 ddctm409 comparetotmag -7 -.7E+1 -> 0
\r
244 ddctm410 comparetotmag -7 -70E-1 -> 1
\r
246 ddctm420 comparetotmag -8.0 -7.0 -> 1
\r
247 ddctm421 comparetotmag -8.0 -7 -> 1
\r
248 ddctm422 comparetotmag -8 -7.0 -> 1
\r
249 ddctm423 comparetotmag -8E+0 -7.0 -> 1
\r
250 ddctm424 comparetotmag -80E-1 -7.0 -> 1
\r
251 ddctm425 comparetotmag -.8E+1 -7 -> 1
\r
252 ddctm426 comparetotmag -80E-1 -7 -> 1
\r
253 ddctm427 comparetotmag -8.0 -7E+0 -> 1
\r
254 ddctm428 comparetotmag -8.0 -70E-1 -> 1
\r
255 ddctm429 comparetotmag -8 -.7E+1 -> 1
\r
256 ddctm430 comparetotmag -8 -70E-1 -> 1
\r
258 ddctm440 comparetotmag -8.0 -9.0 -> -1
\r
259 ddctm441 comparetotmag -8.0 -9 -> -1
\r
260 ddctm442 comparetotmag -8 -9.0 -> -1
\r
261 ddctm443 comparetotmag -8E+0 -9.0 -> -1
\r
262 ddctm444 comparetotmag -80E-1 -9.0 -> -1
\r
263 ddctm445 comparetotmag -.8E+1 -9 -> -1
\r
264 ddctm446 comparetotmag -80E-1 -9 -> -1
\r
265 ddctm447 comparetotmag -8.0 -9E+0 -> -1
\r
266 ddctm448 comparetotmag -8.0 -90E-1 -> -1
\r
267 ddctm449 comparetotmag -8 -.9E+1 -> -1
\r
268 ddctm450 comparetotmag -8 -90E-1 -> -1
\r
271 -- testcases that subtract to lots of zeros at boundaries [pgr]
\r
272 ddctm473 comparetotmag 123.4560000000000E-89 123.456E-89 -> -1
\r
273 ddctm474 comparetotmag 123.456000000000E+89 123.456E+89 -> -1
\r
274 ddctm475 comparetotmag 123.45600000000E-89 123.456E-89 -> -1
\r
275 ddctm476 comparetotmag 123.4560000000E+89 123.456E+89 -> -1
\r
276 ddctm477 comparetotmag 123.456000000E-89 123.456E-89 -> -1
\r
277 ddctm478 comparetotmag 123.45600000E+89 123.456E+89 -> -1
\r
278 ddctm479 comparetotmag 123.4560000E-89 123.456E-89 -> -1
\r
279 ddctm480 comparetotmag 123.456000E+89 123.456E+89 -> -1
\r
280 ddctm481 comparetotmag 123.45600E-89 123.456E-89 -> -1
\r
281 ddctm482 comparetotmag 123.4560E+89 123.456E+89 -> -1
\r
282 ddctm483 comparetotmag 123.456E-89 123.456E-89 -> 0
\r
283 ddctm487 comparetotmag 123.456E+89 123.4560000000000E+89 -> 1
\r
284 ddctm488 comparetotmag 123.456E-89 123.456000000000E-89 -> 1
\r
285 ddctm489 comparetotmag 123.456E+89 123.45600000000E+89 -> 1
\r
286 ddctm490 comparetotmag 123.456E-89 123.4560000000E-89 -> 1
\r
287 ddctm491 comparetotmag 123.456E+89 123.456000000E+89 -> 1
\r
288 ddctm492 comparetotmag 123.456E-89 123.45600000E-89 -> 1
\r
289 ddctm493 comparetotmag 123.456E+89 123.4560000E+89 -> 1
\r
290 ddctm494 comparetotmag 123.456E-89 123.456000E-89 -> 1
\r
291 ddctm495 comparetotmag 123.456E+89 123.45600E+89 -> 1
\r
292 ddctm496 comparetotmag 123.456E-89 123.4560E-89 -> 1
\r
293 ddctm497 comparetotmag 123.456E+89 123.456E+89 -> 0
\r
295 -- wide-ranging, around precision; signs equal
\r
296 ddctm498 comparetotmag 1 1E-17 -> 1
\r
297 ddctm499 comparetotmag 1 1E-16 -> 1
\r
298 ddctm500 comparetotmag 1 1E-15 -> 1
\r
299 ddctm501 comparetotmag 1 1E-14 -> 1
\r
300 ddctm502 comparetotmag 1 1E-13 -> 1
\r
301 ddctm503 comparetotmag 1 1E-12 -> 1
\r
302 ddctm504 comparetotmag 1 1E-11 -> 1
\r
303 ddctm505 comparetotmag 1 1E-10 -> 1
\r
304 ddctm506 comparetotmag 1 1E-9 -> 1
\r
305 ddctm507 comparetotmag 1 1E-8 -> 1
\r
306 ddctm508 comparetotmag 1 1E-7 -> 1
\r
307 ddctm509 comparetotmag 1 1E-6 -> 1
\r
308 ddctm510 comparetotmag 1 1E-5 -> 1
\r
309 ddctm511 comparetotmag 1 1E-4 -> 1
\r
310 ddctm512 comparetotmag 1 1E-3 -> 1
\r
311 ddctm513 comparetotmag 1 1E-2 -> 1
\r
312 ddctm514 comparetotmag 1 1E-1 -> 1
\r
313 ddctm515 comparetotmag 1 1E-0 -> 0
\r
314 ddctm516 comparetotmag 1 1E+1 -> -1
\r
315 ddctm517 comparetotmag 1 1E+2 -> -1
\r
316 ddctm518 comparetotmag 1 1E+3 -> -1
\r
317 ddctm519 comparetotmag 1 1E+4 -> -1
\r
318 ddctm521 comparetotmag 1 1E+5 -> -1
\r
319 ddctm522 comparetotmag 1 1E+6 -> -1
\r
320 ddctm523 comparetotmag 1 1E+7 -> -1
\r
321 ddctm524 comparetotmag 1 1E+8 -> -1
\r
322 ddctm525 comparetotmag 1 1E+9 -> -1
\r
323 ddctm526 comparetotmag 1 1E+10 -> -1
\r
324 ddctm527 comparetotmag 1 1E+11 -> -1
\r
325 ddctm528 comparetotmag 1 1E+12 -> -1
\r
326 ddctm529 comparetotmag 1 1E+13 -> -1
\r
327 ddctm530 comparetotmag 1 1E+14 -> -1
\r
328 ddctm531 comparetotmag 1 1E+15 -> -1
\r
329 ddctm532 comparetotmag 1 1E+16 -> -1
\r
330 ddctm533 comparetotmag 1 1E+17 -> -1
\r
332 ddctm538 comparetotmag 1E-17 1 -> -1
\r
333 ddctm539 comparetotmag 1E-16 1 -> -1
\r
334 ddctm540 comparetotmag 1E-15 1 -> -1
\r
335 ddctm541 comparetotmag 1E-14 1 -> -1
\r
336 ddctm542 comparetotmag 1E-13 1 -> -1
\r
337 ddctm543 comparetotmag 1E-12 1 -> -1
\r
338 ddctm544 comparetotmag 1E-11 1 -> -1
\r
339 ddctm545 comparetotmag 1E-10 1 -> -1
\r
340 ddctm546 comparetotmag 1E-9 1 -> -1
\r
341 ddctm547 comparetotmag 1E-8 1 -> -1
\r
342 ddctm548 comparetotmag 1E-7 1 -> -1
\r
343 ddctm549 comparetotmag 1E-6 1 -> -1
\r
344 ddctm550 comparetotmag 1E-5 1 -> -1
\r
345 ddctm551 comparetotmag 1E-4 1 -> -1
\r
346 ddctm552 comparetotmag 1E-3 1 -> -1
\r
347 ddctm553 comparetotmag 1E-2 1 -> -1
\r
348 ddctm554 comparetotmag 1E-1 1 -> -1
\r
349 ddctm555 comparetotmag 1E-0 1 -> 0
\r
350 ddctm556 comparetotmag 1E+1 1 -> 1
\r
351 ddctm557 comparetotmag 1E+2 1 -> 1
\r
352 ddctm558 comparetotmag 1E+3 1 -> 1
\r
353 ddctm559 comparetotmag 1E+4 1 -> 1
\r
354 ddctm561 comparetotmag 1E+5 1 -> 1
\r
355 ddctm562 comparetotmag 1E+6 1 -> 1
\r
356 ddctm563 comparetotmag 1E+7 1 -> 1
\r
357 ddctm564 comparetotmag 1E+8 1 -> 1
\r
358 ddctm565 comparetotmag 1E+9 1 -> 1
\r
359 ddctm566 comparetotmag 1E+10 1 -> 1
\r
360 ddctm567 comparetotmag 1E+11 1 -> 1
\r
361 ddctm568 comparetotmag 1E+12 1 -> 1
\r
362 ddctm569 comparetotmag 1E+13 1 -> 1
\r
363 ddctm570 comparetotmag 1E+14 1 -> 1
\r
364 ddctm571 comparetotmag 1E+15 1 -> 1
\r
365 ddctm572 comparetotmag 1E+16 1 -> 1
\r
366 ddctm573 comparetotmag 1E+17 1 -> 1
\r
367 -- similar with a useful coefficient, one side only
\r
368 ddctm578 comparetotmag 0.000000987654321 1E-17 -> 1
\r
369 ddctm579 comparetotmag 0.000000987654321 1E-16 -> 1
\r
370 ddctm580 comparetotmag 0.000000987654321 1E-15 -> 1
\r
371 ddctm581 comparetotmag 0.000000987654321 1E-14 -> 1
\r
372 ddctm582 comparetotmag 0.000000987654321 1E-13 -> 1
\r
373 ddctm583 comparetotmag 0.000000987654321 1E-12 -> 1
\r
374 ddctm584 comparetotmag 0.000000987654321 1E-11 -> 1
\r
375 ddctm585 comparetotmag 0.000000987654321 1E-10 -> 1
\r
376 ddctm586 comparetotmag 0.000000987654321 1E-9 -> 1
\r
377 ddctm587 comparetotmag 0.000000987654321 1E-8 -> 1
\r
378 ddctm588 comparetotmag 0.000000987654321 1E-7 -> 1
\r
379 ddctm589 comparetotmag 0.000000987654321 1E-6 -> -1
\r
380 ddctm590 comparetotmag 0.000000987654321 1E-5 -> -1
\r
381 ddctm591 comparetotmag 0.000000987654321 1E-4 -> -1
\r
382 ddctm592 comparetotmag 0.000000987654321 1E-3 -> -1
\r
383 ddctm593 comparetotmag 0.000000987654321 1E-2 -> -1
\r
384 ddctm594 comparetotmag 0.000000987654321 1E-1 -> -1
\r
385 ddctm595 comparetotmag 0.000000987654321 1E-0 -> -1
\r
386 ddctm596 comparetotmag 0.000000987654321 1E+1 -> -1
\r
387 ddctm597 comparetotmag 0.000000987654321 1E+2 -> -1
\r
388 ddctm598 comparetotmag 0.000000987654321 1E+3 -> -1
\r
389 ddctm599 comparetotmag 0.000000987654321 1E+4 -> -1
\r
391 -- check some unit-y traps
\r
392 ddctm600 comparetotmag 12 12.2345 -> -1
\r
393 ddctm601 comparetotmag 12.0 12.2345 -> -1
\r
394 ddctm602 comparetotmag 12.00 12.2345 -> -1
\r
395 ddctm603 comparetotmag 12.000 12.2345 -> -1
\r
396 ddctm604 comparetotmag 12.0000 12.2345 -> -1
\r
397 ddctm605 comparetotmag 12.00000 12.2345 -> -1
\r
398 ddctm606 comparetotmag 12.000000 12.2345 -> -1
\r
399 ddctm607 comparetotmag 12.0000000 12.2345 -> -1
\r
400 ddctm608 comparetotmag 12.00000000 12.2345 -> -1
\r
401 ddctm609 comparetotmag 12.000000000 12.2345 -> -1
\r
402 ddctm610 comparetotmag 12.1234 12 -> 1
\r
403 ddctm611 comparetotmag 12.1234 12.0 -> 1
\r
404 ddctm612 comparetotmag 12.1234 12.00 -> 1
\r
405 ddctm613 comparetotmag 12.1234 12.000 -> 1
\r
406 ddctm614 comparetotmag 12.1234 12.0000 -> 1
\r
407 ddctm615 comparetotmag 12.1234 12.00000 -> 1
\r
408 ddctm616 comparetotmag 12.1234 12.000000 -> 1
\r
409 ddctm617 comparetotmag 12.1234 12.0000000 -> 1
\r
410 ddctm618 comparetotmag 12.1234 12.00000000 -> 1
\r
411 ddctm619 comparetotmag 12.1234 12.000000000 -> 1
\r
412 ddctm620 comparetotmag -12 -12.2345 -> -1
\r
413 ddctm621 comparetotmag -12.0 -12.2345 -> -1
\r
414 ddctm622 comparetotmag -12.00 -12.2345 -> -1
\r
415 ddctm623 comparetotmag -12.000 -12.2345 -> -1
\r
416 ddctm624 comparetotmag -12.0000 -12.2345 -> -1
\r
417 ddctm625 comparetotmag -12.00000 -12.2345 -> -1
\r
418 ddctm626 comparetotmag -12.000000 -12.2345 -> -1
\r
419 ddctm627 comparetotmag -12.0000000 -12.2345 -> -1
\r
420 ddctm628 comparetotmag -12.00000000 -12.2345 -> -1
\r
421 ddctm629 comparetotmag -12.000000000 -12.2345 -> -1
\r
422 ddctm630 comparetotmag -12.1234 -12 -> 1
\r
423 ddctm631 comparetotmag -12.1234 -12.0 -> 1
\r
424 ddctm632 comparetotmag -12.1234 -12.00 -> 1
\r
425 ddctm633 comparetotmag -12.1234 -12.000 -> 1
\r
426 ddctm634 comparetotmag -12.1234 -12.0000 -> 1
\r
427 ddctm635 comparetotmag -12.1234 -12.00000 -> 1
\r
428 ddctm636 comparetotmag -12.1234 -12.000000 -> 1
\r
429 ddctm637 comparetotmag -12.1234 -12.0000000 -> 1
\r
430 ddctm638 comparetotmag -12.1234 -12.00000000 -> 1
\r
431 ddctm639 comparetotmag -12.1234 -12.000000000 -> 1
\r
434 ddctm640 comparetotmag 0 0 -> 0
\r
435 ddctm641 comparetotmag 0 -0 -> 0
\r
436 ddctm642 comparetotmag 0 -0.0 -> 1
\r
437 ddctm643 comparetotmag 0 0.0 -> 1
\r
438 ddctm644 comparetotmag -0 0 -> 0
\r
439 ddctm645 comparetotmag -0 -0 -> 0
\r
440 ddctm646 comparetotmag -0 -0.0 -> 1
\r
441 ddctm647 comparetotmag -0 0.0 -> 1
\r
442 ddctm648 comparetotmag 0.0 0 -> -1
\r
443 ddctm649 comparetotmag 0.0 -0 -> -1
\r
444 ddctm650 comparetotmag 0.0 -0.0 -> 0
\r
445 ddctm651 comparetotmag 0.0 0.0 -> 0
\r
446 ddctm652 comparetotmag -0.0 0 -> -1
\r
447 ddctm653 comparetotmag -0.0 -0 -> -1
\r
448 ddctm654 comparetotmag -0.0 -0.0 -> 0
\r
449 ddctm655 comparetotmag -0.0 0.0 -> 0
\r
451 ddctm656 comparetotmag -0E1 0.0 -> 1
\r
452 ddctm657 comparetotmag -0E2 0.0 -> 1
\r
453 ddctm658 comparetotmag 0E1 0.0 -> 1
\r
454 ddctm659 comparetotmag 0E2 0.0 -> 1
\r
455 ddctm660 comparetotmag -0E1 0 -> 1
\r
456 ddctm661 comparetotmag -0E2 0 -> 1
\r
457 ddctm662 comparetotmag 0E1 0 -> 1
\r
458 ddctm663 comparetotmag 0E2 0 -> 1
\r
459 ddctm664 comparetotmag -0E1 -0E1 -> 0
\r
460 ddctm665 comparetotmag -0E2 -0E1 -> 1
\r
461 ddctm666 comparetotmag 0E1 -0E1 -> 0
\r
462 ddctm667 comparetotmag 0E2 -0E1 -> 1
\r
463 ddctm668 comparetotmag -0E1 -0E2 -> -1
\r
464 ddctm669 comparetotmag -0E2 -0E2 -> 0
\r
465 ddctm670 comparetotmag 0E1 -0E2 -> -1
\r
466 ddctm671 comparetotmag 0E2 -0E2 -> 0
\r
467 ddctm672 comparetotmag -0E1 0E1 -> 0
\r
468 ddctm673 comparetotmag -0E2 0E1 -> 1
\r
469 ddctm674 comparetotmag 0E1 0E1 -> 0
\r
470 ddctm675 comparetotmag 0E2 0E1 -> 1
\r
471 ddctm676 comparetotmag -0E1 0E2 -> -1
\r
472 ddctm677 comparetotmag -0E2 0E2 -> 0
\r
473 ddctm678 comparetotmag 0E1 0E2 -> -1
\r
474 ddctm679 comparetotmag 0E2 0E2 -> 0
\r
476 -- trailing zeros; unit-y
\r
477 ddctm680 comparetotmag 12 12 -> 0
\r
478 ddctm681 comparetotmag 12 12.0 -> 1
\r
479 ddctm682 comparetotmag 12 12.00 -> 1
\r
480 ddctm683 comparetotmag 12 12.000 -> 1
\r
481 ddctm684 comparetotmag 12 12.0000 -> 1
\r
482 ddctm685 comparetotmag 12 12.00000 -> 1
\r
483 ddctm686 comparetotmag 12 12.000000 -> 1
\r
484 ddctm687 comparetotmag 12 12.0000000 -> 1
\r
485 ddctm688 comparetotmag 12 12.00000000 -> 1
\r
486 ddctm689 comparetotmag 12 12.000000000 -> 1
\r
487 ddctm690 comparetotmag 12 12 -> 0
\r
488 ddctm691 comparetotmag 12.0 12 -> -1
\r
489 ddctm692 comparetotmag 12.00 12 -> -1
\r
490 ddctm693 comparetotmag 12.000 12 -> -1
\r
491 ddctm694 comparetotmag 12.0000 12 -> -1
\r
492 ddctm695 comparetotmag 12.00000 12 -> -1
\r
493 ddctm696 comparetotmag 12.000000 12 -> -1
\r
494 ddctm697 comparetotmag 12.0000000 12 -> -1
\r
495 ddctm698 comparetotmag 12.00000000 12 -> -1
\r
496 ddctm699 comparetotmag 12.000000000 12 -> -1
\r
498 -- old long operand checks
\r
499 ddctm701 comparetotmag 12345678000 1 -> 1
\r
500 ddctm702 comparetotmag 1 12345678000 -> -1
\r
501 ddctm703 comparetotmag 1234567800 1 -> 1
\r
502 ddctm704 comparetotmag 1 1234567800 -> -1
\r
503 ddctm705 comparetotmag 1234567890 1 -> 1
\r
504 ddctm706 comparetotmag 1 1234567890 -> -1
\r
505 ddctm707 comparetotmag 1234567891 1 -> 1
\r
506 ddctm708 comparetotmag 1 1234567891 -> -1
\r
507 ddctm709 comparetotmag 12345678901 1 -> 1
\r
508 ddctm710 comparetotmag 1 12345678901 -> -1
\r
509 ddctm711 comparetotmag 1234567896 1 -> 1
\r
510 ddctm712 comparetotmag 1 1234567896 -> -1
\r
511 ddctm713 comparetotmag -1234567891 1 -> 1
\r
512 ddctm714 comparetotmag 1 -1234567891 -> -1
\r
513 ddctm715 comparetotmag -12345678901 1 -> 1
\r
514 ddctm716 comparetotmag 1 -12345678901 -> -1
\r
515 ddctm717 comparetotmag -1234567896 1 -> 1
\r
516 ddctm718 comparetotmag 1 -1234567896 -> -1
\r
518 -- old residue cases
\r
519 ddctm740 comparetotmag 1 0.9999999 -> 1
\r
520 ddctm741 comparetotmag 1 0.999999 -> 1
\r
521 ddctm742 comparetotmag 1 0.99999 -> 1
\r
522 ddctm743 comparetotmag 1 1.0000 -> 1
\r
523 ddctm744 comparetotmag 1 1.00001 -> -1
\r
524 ddctm745 comparetotmag 1 1.000001 -> -1
\r
525 ddctm746 comparetotmag 1 1.0000001 -> -1
\r
526 ddctm750 comparetotmag 0.9999999 1 -> -1
\r
527 ddctm751 comparetotmag 0.999999 1 -> -1
\r
528 ddctm752 comparetotmag 0.99999 1 -> -1
\r
529 ddctm753 comparetotmag 1.0000 1 -> -1
\r
530 ddctm754 comparetotmag 1.00001 1 -> 1
\r
531 ddctm755 comparetotmag 1.000001 1 -> 1
\r
532 ddctm756 comparetotmag 1.0000001 1 -> 1
\r
535 ddctm780 comparetotmag Inf -Inf -> 0
\r
536 ddctm781 comparetotmag Inf -1000 -> 1
\r
537 ddctm782 comparetotmag Inf -1 -> 1
\r
538 ddctm783 comparetotmag Inf -0 -> 1
\r
539 ddctm784 comparetotmag Inf 0 -> 1
\r
540 ddctm785 comparetotmag Inf 1 -> 1
\r
541 ddctm786 comparetotmag Inf 1000 -> 1
\r
542 ddctm787 comparetotmag Inf Inf -> 0
\r
543 ddctm788 comparetotmag -1000 Inf -> -1
\r
544 ddctm789 comparetotmag -Inf Inf -> 0
\r
545 ddctm790 comparetotmag -1 Inf -> -1
\r
546 ddctm791 comparetotmag -0 Inf -> -1
\r
547 ddctm792 comparetotmag 0 Inf -> -1
\r
548 ddctm793 comparetotmag 1 Inf -> -1
\r
549 ddctm794 comparetotmag 1000 Inf -> -1
\r
550 ddctm795 comparetotmag Inf Inf -> 0
\r
552 ddctm800 comparetotmag -Inf -Inf -> 0
\r
553 ddctm801 comparetotmag -Inf -1000 -> 1
\r
554 ddctm802 comparetotmag -Inf -1 -> 1
\r
555 ddctm803 comparetotmag -Inf -0 -> 1
\r
556 ddctm804 comparetotmag -Inf 0 -> 1
\r
557 ddctm805 comparetotmag -Inf 1 -> 1
\r
558 ddctm806 comparetotmag -Inf 1000 -> 1
\r
559 ddctm807 comparetotmag -Inf Inf -> 0
\r
560 ddctm808 comparetotmag -Inf -Inf -> 0
\r
561 ddctm809 comparetotmag -1000 -Inf -> -1
\r
562 ddctm810 comparetotmag -1 -Inf -> -1
\r
563 ddctm811 comparetotmag -0 -Inf -> -1
\r
564 ddctm812 comparetotmag 0 -Inf -> -1
\r
565 ddctm813 comparetotmag 1 -Inf -> -1
\r
566 ddctm814 comparetotmag 1000 -Inf -> -1
\r
567 ddctm815 comparetotmag Inf -Inf -> 0
\r
569 ddctm821 comparetotmag NaN -Inf -> 1
\r
570 ddctm822 comparetotmag NaN -1000 -> 1
\r
571 ddctm823 comparetotmag NaN -1 -> 1
\r
572 ddctm824 comparetotmag NaN -0 -> 1
\r
573 ddctm825 comparetotmag NaN 0 -> 1
\r
574 ddctm826 comparetotmag NaN 1 -> 1
\r
575 ddctm827 comparetotmag NaN 1000 -> 1
\r
576 ddctm828 comparetotmag NaN Inf -> 1
\r
577 ddctm829 comparetotmag NaN NaN -> 0
\r
578 ddctm830 comparetotmag -Inf NaN -> -1
\r
579 ddctm831 comparetotmag -1000 NaN -> -1
\r
580 ddctm832 comparetotmag -1 NaN -> -1
\r
581 ddctm833 comparetotmag -0 NaN -> -1
\r
582 ddctm834 comparetotmag 0 NaN -> -1
\r
583 ddctm835 comparetotmag 1 NaN -> -1
\r
584 ddctm836 comparetotmag 1000 NaN -> -1
\r
585 ddctm837 comparetotmag Inf NaN -> -1
\r
586 ddctm838 comparetotmag -NaN -NaN -> 0
\r
587 ddctm839 comparetotmag +NaN -NaN -> 0
\r
588 ddctm840 comparetotmag -NaN +NaN -> 0
\r
590 ddctm841 comparetotmag sNaN -sNaN -> 0
\r
591 ddctm842 comparetotmag sNaN -NaN -> -1
\r
592 ddctm843 comparetotmag sNaN -Inf -> 1
\r
593 ddctm844 comparetotmag sNaN -1000 -> 1
\r
594 ddctm845 comparetotmag sNaN -1 -> 1
\r
595 ddctm846 comparetotmag sNaN -0 -> 1
\r
596 ddctm847 comparetotmag sNaN 0 -> 1
\r
597 ddctm848 comparetotmag sNaN 1 -> 1
\r
598 ddctm849 comparetotmag sNaN 1000 -> 1
\r
599 ddctm850 comparetotmag sNaN NaN -> -1
\r
600 ddctm851 comparetotmag sNaN sNaN -> 0
\r
602 ddctm852 comparetotmag -sNaN sNaN -> 0
\r
603 ddctm853 comparetotmag -NaN sNaN -> 1
\r
604 ddctm854 comparetotmag -Inf sNaN -> -1
\r
605 ddctm855 comparetotmag -1000 sNaN -> -1
\r
606 ddctm856 comparetotmag -1 sNaN -> -1
\r
607 ddctm857 comparetotmag -0 sNaN -> -1
\r
608 ddctm858 comparetotmag 0 sNaN -> -1
\r
609 ddctm859 comparetotmag 1 sNaN -> -1
\r
610 ddctm860 comparetotmag 1000 sNaN -> -1
\r
611 ddctm861 comparetotmag Inf sNaN -> -1
\r
612 ddctm862 comparetotmag NaN sNaN -> 1
\r
613 ddctm863 comparetotmag sNaN sNaN -> 0
\r
615 ddctm871 comparetotmag -sNaN -sNaN -> 0
\r
616 ddctm872 comparetotmag -sNaN -NaN -> -1
\r
617 ddctm873 comparetotmag -sNaN -Inf -> 1
\r
618 ddctm874 comparetotmag -sNaN -1000 -> 1
\r
619 ddctm875 comparetotmag -sNaN -1 -> 1
\r
620 ddctm876 comparetotmag -sNaN -0 -> 1
\r
621 ddctm877 comparetotmag -sNaN 0 -> 1
\r
622 ddctm878 comparetotmag -sNaN 1 -> 1
\r
623 ddctm879 comparetotmag -sNaN 1000 -> 1
\r
624 ddctm880 comparetotmag -sNaN NaN -> -1
\r
625 ddctm881 comparetotmag -sNaN sNaN -> 0
\r
627 ddctm882 comparetotmag -sNaN -sNaN -> 0
\r
628 ddctm883 comparetotmag -NaN -sNaN -> 1
\r
629 ddctm884 comparetotmag -Inf -sNaN -> -1
\r
630 ddctm885 comparetotmag -1000 -sNaN -> -1
\r
631 ddctm886 comparetotmag -1 -sNaN -> -1
\r
632 ddctm887 comparetotmag -0 -sNaN -> -1
\r
633 ddctm888 comparetotmag 0 -sNaN -> -1
\r
634 ddctm889 comparetotmag 1 -sNaN -> -1
\r
635 ddctm890 comparetotmag 1000 -sNaN -> -1
\r
636 ddctm891 comparetotmag Inf -sNaN -> -1
\r
637 ddctm892 comparetotmag NaN -sNaN -> 1
\r
638 ddctm893 comparetotmag sNaN -sNaN -> 0
\r
640 -- NaNs with payload
\r
641 ddctm960 comparetotmag NaN9 -Inf -> 1
\r
642 ddctm961 comparetotmag NaN8 999 -> 1
\r
643 ddctm962 comparetotmag NaN77 Inf -> 1
\r
644 ddctm963 comparetotmag -NaN67 NaN5 -> 1
\r
645 ddctm964 comparetotmag -Inf -NaN4 -> -1
\r
646 ddctm965 comparetotmag -999 -NaN33 -> -1
\r
647 ddctm966 comparetotmag Inf NaN2 -> -1
\r
649 ddctm970 comparetotmag -NaN41 -NaN42 -> -1
\r
650 ddctm971 comparetotmag +NaN41 -NaN42 -> -1
\r
651 ddctm972 comparetotmag -NaN41 +NaN42 -> -1
\r
652 ddctm973 comparetotmag +NaN41 +NaN42 -> -1
\r
653 ddctm974 comparetotmag -NaN42 -NaN01 -> 1
\r
654 ddctm975 comparetotmag +NaN42 -NaN01 -> 1
\r
655 ddctm976 comparetotmag -NaN42 +NaN01 -> 1
\r
656 ddctm977 comparetotmag +NaN42 +NaN01 -> 1
\r
658 ddctm980 comparetotmag -sNaN771 -sNaN772 -> -1
\r
659 ddctm981 comparetotmag +sNaN771 -sNaN772 -> -1
\r
660 ddctm982 comparetotmag -sNaN771 +sNaN772 -> -1
\r
661 ddctm983 comparetotmag +sNaN771 +sNaN772 -> -1
\r
662 ddctm984 comparetotmag -sNaN772 -sNaN771 -> 1
\r
663 ddctm985 comparetotmag +sNaN772 -sNaN771 -> 1
\r
664 ddctm986 comparetotmag -sNaN772 +sNaN771 -> 1
\r
665 ddctm987 comparetotmag +sNaN772 +sNaN771 -> 1
\r
667 ddctm991 comparetotmag -sNaN99 -Inf -> 1
\r
668 ddctm992 comparetotmag sNaN98 -11 -> 1
\r
669 ddctm993 comparetotmag sNaN97 NaN -> -1
\r
670 ddctm994 comparetotmag sNaN16 sNaN94 -> -1
\r
671 ddctm995 comparetotmag NaN85 sNaN83 -> 1
\r
672 ddctm996 comparetotmag -Inf sNaN92 -> -1
\r
673 ddctm997 comparetotmag 088 sNaN81 -> -1
\r
674 ddctm998 comparetotmag Inf sNaN90 -> -1
\r
675 ddctm999 comparetotmag NaN -sNaN89 -> 1
\r
678 ddctm1110 comparetotmag 0E-383 0 -> -1
\r
679 ddctm1111 comparetotmag 0E-383 -0 -> -1
\r
680 ddctm1112 comparetotmag -0E-383 0 -> -1
\r
681 ddctm1113 comparetotmag -0E-383 -0 -> -1
\r
682 ddctm1114 comparetotmag 0E-383 0E+384 -> -1
\r
683 ddctm1115 comparetotmag 0E-383 -0E+384 -> -1
\r
684 ddctm1116 comparetotmag -0E-383 0E+384 -> -1
\r
685 ddctm1117 comparetotmag -0E-383 -0E+384 -> -1
\r
686 ddctm1118 comparetotmag 0 0E+384 -> -1
\r
687 ddctm1119 comparetotmag 0 -0E+384 -> -1
\r
688 ddctm1120 comparetotmag -0 0E+384 -> -1
\r
689 ddctm1121 comparetotmag -0 -0E+384 -> -1
\r
691 ddctm1130 comparetotmag 0E+384 0 -> 1
\r
692 ddctm1131 comparetotmag 0E+384 -0 -> 1
\r
693 ddctm1132 comparetotmag -0E+384 0 -> 1
\r
694 ddctm1133 comparetotmag -0E+384 -0 -> 1
\r
695 ddctm1134 comparetotmag 0E+384 0E-383 -> 1
\r
696 ddctm1135 comparetotmag 0E+384 -0E-383 -> 1
\r
697 ddctm1136 comparetotmag -0E+384 0E-383 -> 1
\r
698 ddctm1137 comparetotmag -0E+384 -0E-383 -> 1
\r
699 ddctm1138 comparetotmag 0 0E-383 -> 1
\r
700 ddctm1139 comparetotmag 0 -0E-383 -> 1
\r
701 ddctm1140 comparetotmag -0 0E-383 -> 1
\r
702 ddctm1141 comparetotmag -0 -0E-383 -> 1
\r
705 ddctm9990 comparetotmag 10 # -> NaN Invalid_operation
\r
706 ddctm9991 comparetotmag # 10 -> NaN Invalid_operation
\r