|
1 ------------------------------------------------------------------------ |
|
2 -- ddCompareSig.decTest -- decDouble comparison; all NaNs signal -- |
|
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 -- |
|
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 ------------------------------------------------------------------------ |
|
20 version: 2.58 |
|
21 |
|
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 decDoubles. |
|
27 precision: 16 |
|
28 maxExponent: 384 |
|
29 minExponent: -383 |
|
30 extended: 1 |
|
31 clamp: 1 |
|
32 rounding: half_even |
|
33 |
|
34 -- sanity checks |
|
35 ddcms001 comparesig -2 -2 -> 0 |
|
36 ddcms002 comparesig -2 -1 -> -1 |
|
37 ddcms003 comparesig -2 0 -> -1 |
|
38 ddcms004 comparesig -2 1 -> -1 |
|
39 ddcms005 comparesig -2 2 -> -1 |
|
40 ddcms006 comparesig -1 -2 -> 1 |
|
41 ddcms007 comparesig -1 -1 -> 0 |
|
42 ddcms008 comparesig -1 0 -> -1 |
|
43 ddcms009 comparesig -1 1 -> -1 |
|
44 ddcms010 comparesig -1 2 -> -1 |
|
45 ddcms011 comparesig 0 -2 -> 1 |
|
46 ddcms012 comparesig 0 -1 -> 1 |
|
47 ddcms013 comparesig 0 0 -> 0 |
|
48 ddcms014 comparesig 0 1 -> -1 |
|
49 ddcms015 comparesig 0 2 -> -1 |
|
50 ddcms016 comparesig 1 -2 -> 1 |
|
51 ddcms017 comparesig 1 -1 -> 1 |
|
52 ddcms018 comparesig 1 0 -> 1 |
|
53 ddcms019 comparesig 1 1 -> 0 |
|
54 ddcms020 comparesig 1 2 -> -1 |
|
55 ddcms021 comparesig 2 -2 -> 1 |
|
56 ddcms022 comparesig 2 -1 -> 1 |
|
57 ddcms023 comparesig 2 0 -> 1 |
|
58 ddcms025 comparesig 2 1 -> 1 |
|
59 ddcms026 comparesig 2 2 -> 0 |
|
60 |
|
61 ddcms031 comparesig -20 -20 -> 0 |
|
62 ddcms032 comparesig -20 -10 -> -1 |
|
63 ddcms033 comparesig -20 00 -> -1 |
|
64 ddcms034 comparesig -20 10 -> -1 |
|
65 ddcms035 comparesig -20 20 -> -1 |
|
66 ddcms036 comparesig -10 -20 -> 1 |
|
67 ddcms037 comparesig -10 -10 -> 0 |
|
68 ddcms038 comparesig -10 00 -> -1 |
|
69 ddcms039 comparesig -10 10 -> -1 |
|
70 ddcms040 comparesig -10 20 -> -1 |
|
71 ddcms041 comparesig 00 -20 -> 1 |
|
72 ddcms042 comparesig 00 -10 -> 1 |
|
73 ddcms043 comparesig 00 00 -> 0 |
|
74 ddcms044 comparesig 00 10 -> -1 |
|
75 ddcms045 comparesig 00 20 -> -1 |
|
76 ddcms046 comparesig 10 -20 -> 1 |
|
77 ddcms047 comparesig 10 -10 -> 1 |
|
78 ddcms048 comparesig 10 00 -> 1 |
|
79 ddcms049 comparesig 10 10 -> 0 |
|
80 ddcms050 comparesig 10 20 -> -1 |
|
81 ddcms051 comparesig 20 -20 -> 1 |
|
82 ddcms052 comparesig 20 -10 -> 1 |
|
83 ddcms053 comparesig 20 00 -> 1 |
|
84 ddcms055 comparesig 20 10 -> 1 |
|
85 ddcms056 comparesig 20 20 -> 0 |
|
86 |
|
87 ddcms061 comparesig -2.0 -2.0 -> 0 |
|
88 ddcms062 comparesig -2.0 -1.0 -> -1 |
|
89 ddcms063 comparesig -2.0 0.0 -> -1 |
|
90 ddcms064 comparesig -2.0 1.0 -> -1 |
|
91 ddcms065 comparesig -2.0 2.0 -> -1 |
|
92 ddcms066 comparesig -1.0 -2.0 -> 1 |
|
93 ddcms067 comparesig -1.0 -1.0 -> 0 |
|
94 ddcms068 comparesig -1.0 0.0 -> -1 |
|
95 ddcms069 comparesig -1.0 1.0 -> -1 |
|
96 ddcms070 comparesig -1.0 2.0 -> -1 |
|
97 ddcms071 comparesig 0.0 -2.0 -> 1 |
|
98 ddcms072 comparesig 0.0 -1.0 -> 1 |
|
99 ddcms073 comparesig 0.0 0.0 -> 0 |
|
100 ddcms074 comparesig 0.0 1.0 -> -1 |
|
101 ddcms075 comparesig 0.0 2.0 -> -1 |
|
102 ddcms076 comparesig 1.0 -2.0 -> 1 |
|
103 ddcms077 comparesig 1.0 -1.0 -> 1 |
|
104 ddcms078 comparesig 1.0 0.0 -> 1 |
|
105 ddcms079 comparesig 1.0 1.0 -> 0 |
|
106 ddcms080 comparesig 1.0 2.0 -> -1 |
|
107 ddcms081 comparesig 2.0 -2.0 -> 1 |
|
108 ddcms082 comparesig 2.0 -1.0 -> 1 |
|
109 ddcms083 comparesig 2.0 0.0 -> 1 |
|
110 ddcms085 comparesig 2.0 1.0 -> 1 |
|
111 ddcms086 comparesig 2.0 2.0 -> 0 |
|
112 |
|
113 -- now some cases which might overflow if subtract were used |
|
114 ddcms090 comparesig 9.999999999999999E+384 9.999999999999999E+384 -> 0 |
|
115 ddcms091 comparesig -9.999999999999999E+384 9.999999999999999E+384 -> -1 |
|
116 ddcms092 comparesig 9.999999999999999E+384 -9.999999999999999E+384 -> 1 |
|
117 ddcms093 comparesig -9.999999999999999E+384 -9.999999999999999E+384 -> 0 |
|
118 |
|
119 -- some differing length/exponent cases |
|
120 ddcms100 comparesig 7.0 7.0 -> 0 |
|
121 ddcms101 comparesig 7.0 7 -> 0 |
|
122 ddcms102 comparesig 7 7.0 -> 0 |
|
123 ddcms103 comparesig 7E+0 7.0 -> 0 |
|
124 ddcms104 comparesig 70E-1 7.0 -> 0 |
|
125 ddcms105 comparesig 0.7E+1 7 -> 0 |
|
126 ddcms106 comparesig 70E-1 7 -> 0 |
|
127 ddcms107 comparesig 7.0 7E+0 -> 0 |
|
128 ddcms108 comparesig 7.0 70E-1 -> 0 |
|
129 ddcms109 comparesig 7 0.7E+1 -> 0 |
|
130 ddcms110 comparesig 7 70E-1 -> 0 |
|
131 |
|
132 ddcms120 comparesig 8.0 7.0 -> 1 |
|
133 ddcms121 comparesig 8.0 7 -> 1 |
|
134 ddcms122 comparesig 8 7.0 -> 1 |
|
135 ddcms123 comparesig 8E+0 7.0 -> 1 |
|
136 ddcms124 comparesig 80E-1 7.0 -> 1 |
|
137 ddcms125 comparesig 0.8E+1 7 -> 1 |
|
138 ddcms126 comparesig 80E-1 7 -> 1 |
|
139 ddcms127 comparesig 8.0 7E+0 -> 1 |
|
140 ddcms128 comparesig 8.0 70E-1 -> 1 |
|
141 ddcms129 comparesig 8 0.7E+1 -> 1 |
|
142 ddcms130 comparesig 8 70E-1 -> 1 |
|
143 |
|
144 ddcms140 comparesig 8.0 9.0 -> -1 |
|
145 ddcms141 comparesig 8.0 9 -> -1 |
|
146 ddcms142 comparesig 8 9.0 -> -1 |
|
147 ddcms143 comparesig 8E+0 9.0 -> -1 |
|
148 ddcms144 comparesig 80E-1 9.0 -> -1 |
|
149 ddcms145 comparesig 0.8E+1 9 -> -1 |
|
150 ddcms146 comparesig 80E-1 9 -> -1 |
|
151 ddcms147 comparesig 8.0 9E+0 -> -1 |
|
152 ddcms148 comparesig 8.0 90E-1 -> -1 |
|
153 ddcms149 comparesig 8 0.9E+1 -> -1 |
|
154 ddcms150 comparesig 8 90E-1 -> -1 |
|
155 |
|
156 -- and again, with sign changes -+ .. |
|
157 ddcms200 comparesig -7.0 7.0 -> -1 |
|
158 ddcms201 comparesig -7.0 7 -> -1 |
|
159 ddcms202 comparesig -7 7.0 -> -1 |
|
160 ddcms203 comparesig -7E+0 7.0 -> -1 |
|
161 ddcms204 comparesig -70E-1 7.0 -> -1 |
|
162 ddcms205 comparesig -0.7E+1 7 -> -1 |
|
163 ddcms206 comparesig -70E-1 7 -> -1 |
|
164 ddcms207 comparesig -7.0 7E+0 -> -1 |
|
165 ddcms208 comparesig -7.0 70E-1 -> -1 |
|
166 ddcms209 comparesig -7 0.7E+1 -> -1 |
|
167 ddcms210 comparesig -7 70E-1 -> -1 |
|
168 |
|
169 ddcms220 comparesig -8.0 7.0 -> -1 |
|
170 ddcms221 comparesig -8.0 7 -> -1 |
|
171 ddcms222 comparesig -8 7.0 -> -1 |
|
172 ddcms223 comparesig -8E+0 7.0 -> -1 |
|
173 ddcms224 comparesig -80E-1 7.0 -> -1 |
|
174 ddcms225 comparesig -0.8E+1 7 -> -1 |
|
175 ddcms226 comparesig -80E-1 7 -> -1 |
|
176 ddcms227 comparesig -8.0 7E+0 -> -1 |
|
177 ddcms228 comparesig -8.0 70E-1 -> -1 |
|
178 ddcms229 comparesig -8 0.7E+1 -> -1 |
|
179 ddcms230 comparesig -8 70E-1 -> -1 |
|
180 |
|
181 ddcms240 comparesig -8.0 9.0 -> -1 |
|
182 ddcms241 comparesig -8.0 9 -> -1 |
|
183 ddcms242 comparesig -8 9.0 -> -1 |
|
184 ddcms243 comparesig -8E+0 9.0 -> -1 |
|
185 ddcms244 comparesig -80E-1 9.0 -> -1 |
|
186 ddcms245 comparesig -0.8E+1 9 -> -1 |
|
187 ddcms246 comparesig -80E-1 9 -> -1 |
|
188 ddcms247 comparesig -8.0 9E+0 -> -1 |
|
189 ddcms248 comparesig -8.0 90E-1 -> -1 |
|
190 ddcms249 comparesig -8 0.9E+1 -> -1 |
|
191 ddcms250 comparesig -8 90E-1 -> -1 |
|
192 |
|
193 -- and again, with sign changes +- .. |
|
194 ddcms300 comparesig 7.0 -7.0 -> 1 |
|
195 ddcms301 comparesig 7.0 -7 -> 1 |
|
196 ddcms302 comparesig 7 -7.0 -> 1 |
|
197 ddcms303 comparesig 7E+0 -7.0 -> 1 |
|
198 ddcms304 comparesig 70E-1 -7.0 -> 1 |
|
199 ddcms305 comparesig .7E+1 -7 -> 1 |
|
200 ddcms306 comparesig 70E-1 -7 -> 1 |
|
201 ddcms307 comparesig 7.0 -7E+0 -> 1 |
|
202 ddcms308 comparesig 7.0 -70E-1 -> 1 |
|
203 ddcms309 comparesig 7 -.7E+1 -> 1 |
|
204 ddcms310 comparesig 7 -70E-1 -> 1 |
|
205 |
|
206 ddcms320 comparesig 8.0 -7.0 -> 1 |
|
207 ddcms321 comparesig 8.0 -7 -> 1 |
|
208 ddcms322 comparesig 8 -7.0 -> 1 |
|
209 ddcms323 comparesig 8E+0 -7.0 -> 1 |
|
210 ddcms324 comparesig 80E-1 -7.0 -> 1 |
|
211 ddcms325 comparesig .8E+1 -7 -> 1 |
|
212 ddcms326 comparesig 80E-1 -7 -> 1 |
|
213 ddcms327 comparesig 8.0 -7E+0 -> 1 |
|
214 ddcms328 comparesig 8.0 -70E-1 -> 1 |
|
215 ddcms329 comparesig 8 -.7E+1 -> 1 |
|
216 ddcms330 comparesig 8 -70E-1 -> 1 |
|
217 |
|
218 ddcms340 comparesig 8.0 -9.0 -> 1 |
|
219 ddcms341 comparesig 8.0 -9 -> 1 |
|
220 ddcms342 comparesig 8 -9.0 -> 1 |
|
221 ddcms343 comparesig 8E+0 -9.0 -> 1 |
|
222 ddcms344 comparesig 80E-1 -9.0 -> 1 |
|
223 ddcms345 comparesig .8E+1 -9 -> 1 |
|
224 ddcms346 comparesig 80E-1 -9 -> 1 |
|
225 ddcms347 comparesig 8.0 -9E+0 -> 1 |
|
226 ddcms348 comparesig 8.0 -90E-1 -> 1 |
|
227 ddcms349 comparesig 8 -.9E+1 -> 1 |
|
228 ddcms350 comparesig 8 -90E-1 -> 1 |
|
229 |
|
230 -- and again, with sign changes -- .. |
|
231 ddcms400 comparesig -7.0 -7.0 -> 0 |
|
232 ddcms401 comparesig -7.0 -7 -> 0 |
|
233 ddcms402 comparesig -7 -7.0 -> 0 |
|
234 ddcms403 comparesig -7E+0 -7.0 -> 0 |
|
235 ddcms404 comparesig -70E-1 -7.0 -> 0 |
|
236 ddcms405 comparesig -.7E+1 -7 -> 0 |
|
237 ddcms406 comparesig -70E-1 -7 -> 0 |
|
238 ddcms407 comparesig -7.0 -7E+0 -> 0 |
|
239 ddcms408 comparesig -7.0 -70E-1 -> 0 |
|
240 ddcms409 comparesig -7 -.7E+1 -> 0 |
|
241 ddcms410 comparesig -7 -70E-1 -> 0 |
|
242 |
|
243 ddcms420 comparesig -8.0 -7.0 -> -1 |
|
244 ddcms421 comparesig -8.0 -7 -> -1 |
|
245 ddcms422 comparesig -8 -7.0 -> -1 |
|
246 ddcms423 comparesig -8E+0 -7.0 -> -1 |
|
247 ddcms424 comparesig -80E-1 -7.0 -> -1 |
|
248 ddcms425 comparesig -.8E+1 -7 -> -1 |
|
249 ddcms426 comparesig -80E-1 -7 -> -1 |
|
250 ddcms427 comparesig -8.0 -7E+0 -> -1 |
|
251 ddcms428 comparesig -8.0 -70E-1 -> -1 |
|
252 ddcms429 comparesig -8 -.7E+1 -> -1 |
|
253 ddcms430 comparesig -8 -70E-1 -> -1 |
|
254 |
|
255 ddcms440 comparesig -8.0 -9.0 -> 1 |
|
256 ddcms441 comparesig -8.0 -9 -> 1 |
|
257 ddcms442 comparesig -8 -9.0 -> 1 |
|
258 ddcms443 comparesig -8E+0 -9.0 -> 1 |
|
259 ddcms444 comparesig -80E-1 -9.0 -> 1 |
|
260 ddcms445 comparesig -.8E+1 -9 -> 1 |
|
261 ddcms446 comparesig -80E-1 -9 -> 1 |
|
262 ddcms447 comparesig -8.0 -9E+0 -> 1 |
|
263 ddcms448 comparesig -8.0 -90E-1 -> 1 |
|
264 ddcms449 comparesig -8 -.9E+1 -> 1 |
|
265 ddcms450 comparesig -8 -90E-1 -> 1 |
|
266 |
|
267 |
|
268 -- testcases that subtract to lots of zeros at boundaries [pgr] |
|
269 ddcms473 comparesig 123.4560000000000E-89 123.456E-89 -> 0 |
|
270 ddcms474 comparesig 123.456000000000E+89 123.456E+89 -> 0 |
|
271 ddcms475 comparesig 123.45600000000E-89 123.456E-89 -> 0 |
|
272 ddcms476 comparesig 123.4560000000E+89 123.456E+89 -> 0 |
|
273 ddcms477 comparesig 123.456000000E-89 123.456E-89 -> 0 |
|
274 ddcms478 comparesig 123.45600000E+89 123.456E+89 -> 0 |
|
275 ddcms479 comparesig 123.4560000E-89 123.456E-89 -> 0 |
|
276 ddcms480 comparesig 123.456000E+89 123.456E+89 -> 0 |
|
277 ddcms481 comparesig 123.45600E-89 123.456E-89 -> 0 |
|
278 ddcms482 comparesig 123.4560E+89 123.456E+89 -> 0 |
|
279 ddcms483 comparesig 123.456E-89 123.456E-89 -> 0 |
|
280 ddcms487 comparesig 123.456E+89 123.4560000000000E+89 -> 0 |
|
281 ddcms488 comparesig 123.456E-89 123.456000000000E-89 -> 0 |
|
282 ddcms489 comparesig 123.456E+89 123.45600000000E+89 -> 0 |
|
283 ddcms490 comparesig 123.456E-89 123.4560000000E-89 -> 0 |
|
284 ddcms491 comparesig 123.456E+89 123.456000000E+89 -> 0 |
|
285 ddcms492 comparesig 123.456E-89 123.45600000E-89 -> 0 |
|
286 ddcms493 comparesig 123.456E+89 123.4560000E+89 -> 0 |
|
287 ddcms494 comparesig 123.456E-89 123.456000E-89 -> 0 |
|
288 ddcms495 comparesig 123.456E+89 123.45600E+89 -> 0 |
|
289 ddcms496 comparesig 123.456E-89 123.4560E-89 -> 0 |
|
290 ddcms497 comparesig 123.456E+89 123.456E+89 -> 0 |
|
291 |
|
292 -- wide-ranging, around precision; signs equal |
|
293 ddcms500 comparesig 1 1E-15 -> 1 |
|
294 ddcms501 comparesig 1 1E-14 -> 1 |
|
295 ddcms502 comparesig 1 1E-13 -> 1 |
|
296 ddcms503 comparesig 1 1E-12 -> 1 |
|
297 ddcms504 comparesig 1 1E-11 -> 1 |
|
298 ddcms505 comparesig 1 1E-10 -> 1 |
|
299 ddcms506 comparesig 1 1E-9 -> 1 |
|
300 ddcms507 comparesig 1 1E-8 -> 1 |
|
301 ddcms508 comparesig 1 1E-7 -> 1 |
|
302 ddcms509 comparesig 1 1E-6 -> 1 |
|
303 ddcms510 comparesig 1 1E-5 -> 1 |
|
304 ddcms511 comparesig 1 1E-4 -> 1 |
|
305 ddcms512 comparesig 1 1E-3 -> 1 |
|
306 ddcms513 comparesig 1 1E-2 -> 1 |
|
307 ddcms514 comparesig 1 1E-1 -> 1 |
|
308 ddcms515 comparesig 1 1E-0 -> 0 |
|
309 ddcms516 comparesig 1 1E+1 -> -1 |
|
310 ddcms517 comparesig 1 1E+2 -> -1 |
|
311 ddcms518 comparesig 1 1E+3 -> -1 |
|
312 ddcms519 comparesig 1 1E+4 -> -1 |
|
313 ddcms521 comparesig 1 1E+5 -> -1 |
|
314 ddcms522 comparesig 1 1E+6 -> -1 |
|
315 ddcms523 comparesig 1 1E+7 -> -1 |
|
316 ddcms524 comparesig 1 1E+8 -> -1 |
|
317 ddcms525 comparesig 1 1E+9 -> -1 |
|
318 ddcms526 comparesig 1 1E+10 -> -1 |
|
319 ddcms527 comparesig 1 1E+11 -> -1 |
|
320 ddcms528 comparesig 1 1E+12 -> -1 |
|
321 ddcms529 comparesig 1 1E+13 -> -1 |
|
322 ddcms530 comparesig 1 1E+14 -> -1 |
|
323 ddcms531 comparesig 1 1E+15 -> -1 |
|
324 -- LR swap |
|
325 ddcms540 comparesig 1E-15 1 -> -1 |
|
326 ddcms541 comparesig 1E-14 1 -> -1 |
|
327 ddcms542 comparesig 1E-13 1 -> -1 |
|
328 ddcms543 comparesig 1E-12 1 -> -1 |
|
329 ddcms544 comparesig 1E-11 1 -> -1 |
|
330 ddcms545 comparesig 1E-10 1 -> -1 |
|
331 ddcms546 comparesig 1E-9 1 -> -1 |
|
332 ddcms547 comparesig 1E-8 1 -> -1 |
|
333 ddcms548 comparesig 1E-7 1 -> -1 |
|
334 ddcms549 comparesig 1E-6 1 -> -1 |
|
335 ddcms550 comparesig 1E-5 1 -> -1 |
|
336 ddcms551 comparesig 1E-4 1 -> -1 |
|
337 ddcms552 comparesig 1E-3 1 -> -1 |
|
338 ddcms553 comparesig 1E-2 1 -> -1 |
|
339 ddcms554 comparesig 1E-1 1 -> -1 |
|
340 ddcms555 comparesig 1E-0 1 -> 0 |
|
341 ddcms556 comparesig 1E+1 1 -> 1 |
|
342 ddcms557 comparesig 1E+2 1 -> 1 |
|
343 ddcms558 comparesig 1E+3 1 -> 1 |
|
344 ddcms559 comparesig 1E+4 1 -> 1 |
|
345 ddcms561 comparesig 1E+5 1 -> 1 |
|
346 ddcms562 comparesig 1E+6 1 -> 1 |
|
347 ddcms563 comparesig 1E+7 1 -> 1 |
|
348 ddcms564 comparesig 1E+8 1 -> 1 |
|
349 ddcms565 comparesig 1E+9 1 -> 1 |
|
350 ddcms566 comparesig 1E+10 1 -> 1 |
|
351 ddcms567 comparesig 1E+11 1 -> 1 |
|
352 ddcms568 comparesig 1E+12 1 -> 1 |
|
353 ddcms569 comparesig 1E+13 1 -> 1 |
|
354 ddcms570 comparesig 1E+14 1 -> 1 |
|
355 ddcms571 comparesig 1E+15 1 -> 1 |
|
356 -- similar with a useful coefficient, one side only |
|
357 ddcms580 comparesig 0.000000987654321 1E-15 -> 1 |
|
358 ddcms581 comparesig 0.000000987654321 1E-14 -> 1 |
|
359 ddcms582 comparesig 0.000000987654321 1E-13 -> 1 |
|
360 ddcms583 comparesig 0.000000987654321 1E-12 -> 1 |
|
361 ddcms584 comparesig 0.000000987654321 1E-11 -> 1 |
|
362 ddcms585 comparesig 0.000000987654321 1E-10 -> 1 |
|
363 ddcms586 comparesig 0.000000987654321 1E-9 -> 1 |
|
364 ddcms587 comparesig 0.000000987654321 1E-8 -> 1 |
|
365 ddcms588 comparesig 0.000000987654321 1E-7 -> 1 |
|
366 ddcms589 comparesig 0.000000987654321 1E-6 -> -1 |
|
367 ddcms590 comparesig 0.000000987654321 1E-5 -> -1 |
|
368 ddcms591 comparesig 0.000000987654321 1E-4 -> -1 |
|
369 ddcms592 comparesig 0.000000987654321 1E-3 -> -1 |
|
370 ddcms593 comparesig 0.000000987654321 1E-2 -> -1 |
|
371 ddcms594 comparesig 0.000000987654321 1E-1 -> -1 |
|
372 ddcms595 comparesig 0.000000987654321 1E-0 -> -1 |
|
373 ddcms596 comparesig 0.000000987654321 1E+1 -> -1 |
|
374 ddcms597 comparesig 0.000000987654321 1E+2 -> -1 |
|
375 ddcms598 comparesig 0.000000987654321 1E+3 -> -1 |
|
376 ddcms599 comparesig 0.000000987654321 1E+4 -> -1 |
|
377 |
|
378 -- check some unit-y traps |
|
379 ddcms600 comparesig 12 12.2345 -> -1 |
|
380 ddcms601 comparesig 12.0 12.2345 -> -1 |
|
381 ddcms602 comparesig 12.00 12.2345 -> -1 |
|
382 ddcms603 comparesig 12.000 12.2345 -> -1 |
|
383 ddcms604 comparesig 12.0000 12.2345 -> -1 |
|
384 ddcms605 comparesig 12.00000 12.2345 -> -1 |
|
385 ddcms606 comparesig 12.000000 12.2345 -> -1 |
|
386 ddcms607 comparesig 12.0000000 12.2345 -> -1 |
|
387 ddcms608 comparesig 12.00000000 12.2345 -> -1 |
|
388 ddcms609 comparesig 12.000000000 12.2345 -> -1 |
|
389 ddcms610 comparesig 12.1234 12 -> 1 |
|
390 ddcms611 comparesig 12.1234 12.0 -> 1 |
|
391 ddcms612 comparesig 12.1234 12.00 -> 1 |
|
392 ddcms613 comparesig 12.1234 12.000 -> 1 |
|
393 ddcms614 comparesig 12.1234 12.0000 -> 1 |
|
394 ddcms615 comparesig 12.1234 12.00000 -> 1 |
|
395 ddcms616 comparesig 12.1234 12.000000 -> 1 |
|
396 ddcms617 comparesig 12.1234 12.0000000 -> 1 |
|
397 ddcms618 comparesig 12.1234 12.00000000 -> 1 |
|
398 ddcms619 comparesig 12.1234 12.000000000 -> 1 |
|
399 ddcms620 comparesig -12 -12.2345 -> 1 |
|
400 ddcms621 comparesig -12.0 -12.2345 -> 1 |
|
401 ddcms622 comparesig -12.00 -12.2345 -> 1 |
|
402 ddcms623 comparesig -12.000 -12.2345 -> 1 |
|
403 ddcms624 comparesig -12.0000 -12.2345 -> 1 |
|
404 ddcms625 comparesig -12.00000 -12.2345 -> 1 |
|
405 ddcms626 comparesig -12.000000 -12.2345 -> 1 |
|
406 ddcms627 comparesig -12.0000000 -12.2345 -> 1 |
|
407 ddcms628 comparesig -12.00000000 -12.2345 -> 1 |
|
408 ddcms629 comparesig -12.000000000 -12.2345 -> 1 |
|
409 ddcms630 comparesig -12.1234 -12 -> -1 |
|
410 ddcms631 comparesig -12.1234 -12.0 -> -1 |
|
411 ddcms632 comparesig -12.1234 -12.00 -> -1 |
|
412 ddcms633 comparesig -12.1234 -12.000 -> -1 |
|
413 ddcms634 comparesig -12.1234 -12.0000 -> -1 |
|
414 ddcms635 comparesig -12.1234 -12.00000 -> -1 |
|
415 ddcms636 comparesig -12.1234 -12.000000 -> -1 |
|
416 ddcms637 comparesig -12.1234 -12.0000000 -> -1 |
|
417 ddcms638 comparesig -12.1234 -12.00000000 -> -1 |
|
418 ddcms639 comparesig -12.1234 -12.000000000 -> -1 |
|
419 |
|
420 -- extended zeros |
|
421 ddcms640 comparesig 0 0 -> 0 |
|
422 ddcms641 comparesig 0 -0 -> 0 |
|
423 ddcms642 comparesig 0 -0.0 -> 0 |
|
424 ddcms643 comparesig 0 0.0 -> 0 |
|
425 ddcms644 comparesig -0 0 -> 0 |
|
426 ddcms645 comparesig -0 -0 -> 0 |
|
427 ddcms646 comparesig -0 -0.0 -> 0 |
|
428 ddcms647 comparesig -0 0.0 -> 0 |
|
429 ddcms648 comparesig 0.0 0 -> 0 |
|
430 ddcms649 comparesig 0.0 -0 -> 0 |
|
431 ddcms650 comparesig 0.0 -0.0 -> 0 |
|
432 ddcms651 comparesig 0.0 0.0 -> 0 |
|
433 ddcms652 comparesig -0.0 0 -> 0 |
|
434 ddcms653 comparesig -0.0 -0 -> 0 |
|
435 ddcms654 comparesig -0.0 -0.0 -> 0 |
|
436 ddcms655 comparesig -0.0 0.0 -> 0 |
|
437 |
|
438 ddcms656 comparesig -0E1 0.0 -> 0 |
|
439 ddcms657 comparesig -0E2 0.0 -> 0 |
|
440 ddcms658 comparesig 0E1 0.0 -> 0 |
|
441 ddcms659 comparesig 0E2 0.0 -> 0 |
|
442 ddcms660 comparesig -0E1 0 -> 0 |
|
443 ddcms661 comparesig -0E2 0 -> 0 |
|
444 ddcms662 comparesig 0E1 0 -> 0 |
|
445 ddcms663 comparesig 0E2 0 -> 0 |
|
446 ddcms664 comparesig -0E1 -0E1 -> 0 |
|
447 ddcms665 comparesig -0E2 -0E1 -> 0 |
|
448 ddcms666 comparesig 0E1 -0E1 -> 0 |
|
449 ddcms667 comparesig 0E2 -0E1 -> 0 |
|
450 ddcms668 comparesig -0E1 -0E2 -> 0 |
|
451 ddcms669 comparesig -0E2 -0E2 -> 0 |
|
452 ddcms670 comparesig 0E1 -0E2 -> 0 |
|
453 ddcms671 comparesig 0E2 -0E2 -> 0 |
|
454 ddcms672 comparesig -0E1 0E1 -> 0 |
|
455 ddcms673 comparesig -0E2 0E1 -> 0 |
|
456 ddcms674 comparesig 0E1 0E1 -> 0 |
|
457 ddcms675 comparesig 0E2 0E1 -> 0 |
|
458 ddcms676 comparesig -0E1 0E2 -> 0 |
|
459 ddcms677 comparesig -0E2 0E2 -> 0 |
|
460 ddcms678 comparesig 0E1 0E2 -> 0 |
|
461 ddcms679 comparesig 0E2 0E2 -> 0 |
|
462 |
|
463 -- trailing zeros; unit-y |
|
464 ddcms680 comparesig 12 12 -> 0 |
|
465 ddcms681 comparesig 12 12.0 -> 0 |
|
466 ddcms682 comparesig 12 12.00 -> 0 |
|
467 ddcms683 comparesig 12 12.000 -> 0 |
|
468 ddcms684 comparesig 12 12.0000 -> 0 |
|
469 ddcms685 comparesig 12 12.00000 -> 0 |
|
470 ddcms686 comparesig 12 12.000000 -> 0 |
|
471 ddcms687 comparesig 12 12.0000000 -> 0 |
|
472 ddcms688 comparesig 12 12.00000000 -> 0 |
|
473 ddcms689 comparesig 12 12.000000000 -> 0 |
|
474 ddcms690 comparesig 12 12 -> 0 |
|
475 ddcms691 comparesig 12.0 12 -> 0 |
|
476 ddcms692 comparesig 12.00 12 -> 0 |
|
477 ddcms693 comparesig 12.000 12 -> 0 |
|
478 ddcms694 comparesig 12.0000 12 -> 0 |
|
479 ddcms695 comparesig 12.00000 12 -> 0 |
|
480 ddcms696 comparesig 12.000000 12 -> 0 |
|
481 ddcms697 comparesig 12.0000000 12 -> 0 |
|
482 ddcms698 comparesig 12.00000000 12 -> 0 |
|
483 ddcms699 comparesig 12.000000000 12 -> 0 |
|
484 |
|
485 -- first, second, & last digit |
|
486 ddcms700 comparesig 1234567890123456 1234567890123455 -> 1 |
|
487 ddcms701 comparesig 1234567890123456 1234567890123456 -> 0 |
|
488 ddcms702 comparesig 1234567890123456 1234567890123457 -> -1 |
|
489 ddcms703 comparesig 1234567890123456 0234567890123456 -> 1 |
|
490 ddcms704 comparesig 1234567890123456 1234567890123456 -> 0 |
|
491 ddcms705 comparesig 1234567890123456 2234567890123456 -> -1 |
|
492 ddcms706 comparesig 1134567890123456 1034567890123456 -> 1 |
|
493 ddcms707 comparesig 1134567890123456 1134567890123456 -> 0 |
|
494 ddcms708 comparesig 1134567890123456 1234567890123456 -> -1 |
|
495 |
|
496 -- miscellaneous |
|
497 ddcms721 comparesig 12345678000 1 -> 1 |
|
498 ddcms722 comparesig 1 12345678000 -> -1 |
|
499 ddcms723 comparesig 1234567800 1 -> 1 |
|
500 ddcms724 comparesig 1 1234567800 -> -1 |
|
501 ddcms725 comparesig 1234567890 1 -> 1 |
|
502 ddcms726 comparesig 1 1234567890 -> -1 |
|
503 ddcms727 comparesig 1234567891 1 -> 1 |
|
504 ddcms728 comparesig 1 1234567891 -> -1 |
|
505 ddcms729 comparesig 12345678901 1 -> 1 |
|
506 ddcms730 comparesig 1 12345678901 -> -1 |
|
507 ddcms731 comparesig 1234567896 1 -> 1 |
|
508 ddcms732 comparesig 1 1234567896 -> -1 |
|
509 |
|
510 -- residue cases at lower precision |
|
511 ddcms740 comparesig 1 0.9999999 -> 1 |
|
512 ddcms741 comparesig 1 0.999999 -> 1 |
|
513 ddcms742 comparesig 1 0.99999 -> 1 |
|
514 ddcms743 comparesig 1 1.0000 -> 0 |
|
515 ddcms744 comparesig 1 1.00001 -> -1 |
|
516 ddcms745 comparesig 1 1.000001 -> -1 |
|
517 ddcms746 comparesig 1 1.0000001 -> -1 |
|
518 ddcms750 comparesig 0.9999999 1 -> -1 |
|
519 ddcms751 comparesig 0.999999 1 -> -1 |
|
520 ddcms752 comparesig 0.99999 1 -> -1 |
|
521 ddcms753 comparesig 1.0000 1 -> 0 |
|
522 ddcms754 comparesig 1.00001 1 -> 1 |
|
523 ddcms755 comparesig 1.000001 1 -> 1 |
|
524 ddcms756 comparesig 1.0000001 1 -> 1 |
|
525 |
|
526 -- Specials |
|
527 ddcms780 comparesig Inf -Inf -> 1 |
|
528 ddcms781 comparesig Inf -1000 -> 1 |
|
529 ddcms782 comparesig Inf -1 -> 1 |
|
530 ddcms783 comparesig Inf -0 -> 1 |
|
531 ddcms784 comparesig Inf 0 -> 1 |
|
532 ddcms785 comparesig Inf 1 -> 1 |
|
533 ddcms786 comparesig Inf 1000 -> 1 |
|
534 ddcms787 comparesig Inf Inf -> 0 |
|
535 ddcms788 comparesig -1000 Inf -> -1 |
|
536 ddcms789 comparesig -Inf Inf -> -1 |
|
537 ddcms790 comparesig -1 Inf -> -1 |
|
538 ddcms791 comparesig -0 Inf -> -1 |
|
539 ddcms792 comparesig 0 Inf -> -1 |
|
540 ddcms793 comparesig 1 Inf -> -1 |
|
541 ddcms794 comparesig 1000 Inf -> -1 |
|
542 ddcms795 comparesig Inf Inf -> 0 |
|
543 |
|
544 ddcms800 comparesig -Inf -Inf -> 0 |
|
545 ddcms801 comparesig -Inf -1000 -> -1 |
|
546 ddcms802 comparesig -Inf -1 -> -1 |
|
547 ddcms803 comparesig -Inf -0 -> -1 |
|
548 ddcms804 comparesig -Inf 0 -> -1 |
|
549 ddcms805 comparesig -Inf 1 -> -1 |
|
550 ddcms806 comparesig -Inf 1000 -> -1 |
|
551 ddcms807 comparesig -Inf Inf -> -1 |
|
552 ddcms808 comparesig -Inf -Inf -> 0 |
|
553 ddcms809 comparesig -1000 -Inf -> 1 |
|
554 ddcms810 comparesig -1 -Inf -> 1 |
|
555 ddcms811 comparesig -0 -Inf -> 1 |
|
556 ddcms812 comparesig 0 -Inf -> 1 |
|
557 ddcms813 comparesig 1 -Inf -> 1 |
|
558 ddcms814 comparesig 1000 -Inf -> 1 |
|
559 ddcms815 comparesig Inf -Inf -> 1 |
|
560 |
|
561 ddcms821 comparesig NaN -Inf -> NaN Invalid_operation |
|
562 ddcms822 comparesig NaN -1000 -> NaN Invalid_operation |
|
563 ddcms823 comparesig NaN -1 -> NaN Invalid_operation |
|
564 ddcms824 comparesig NaN -0 -> NaN Invalid_operation |
|
565 ddcms825 comparesig NaN 0 -> NaN Invalid_operation |
|
566 ddcms826 comparesig NaN 1 -> NaN Invalid_operation |
|
567 ddcms827 comparesig NaN 1000 -> NaN Invalid_operation |
|
568 ddcms828 comparesig NaN Inf -> NaN Invalid_operation |
|
569 ddcms829 comparesig NaN NaN -> NaN Invalid_operation |
|
570 ddcms830 comparesig -Inf NaN -> NaN Invalid_operation |
|
571 ddcms831 comparesig -1000 NaN -> NaN Invalid_operation |
|
572 ddcms832 comparesig -1 NaN -> NaN Invalid_operation |
|
573 ddcms833 comparesig -0 NaN -> NaN Invalid_operation |
|
574 ddcms834 comparesig 0 NaN -> NaN Invalid_operation |
|
575 ddcms835 comparesig 1 NaN -> NaN Invalid_operation |
|
576 ddcms836 comparesig 1000 NaN -> NaN Invalid_operation |
|
577 ddcms837 comparesig Inf NaN -> NaN Invalid_operation |
|
578 ddcms838 comparesig -NaN -NaN -> -NaN Invalid_operation |
|
579 ddcms839 comparesig +NaN -NaN -> NaN Invalid_operation |
|
580 ddcms840 comparesig -NaN +NaN -> -NaN Invalid_operation |
|
581 |
|
582 ddcms841 comparesig sNaN -Inf -> NaN Invalid_operation |
|
583 ddcms842 comparesig sNaN -1000 -> NaN Invalid_operation |
|
584 ddcms843 comparesig sNaN -1 -> NaN Invalid_operation |
|
585 ddcms844 comparesig sNaN -0 -> NaN Invalid_operation |
|
586 ddcms845 comparesig sNaN 0 -> NaN Invalid_operation |
|
587 ddcms846 comparesig sNaN 1 -> NaN Invalid_operation |
|
588 ddcms847 comparesig sNaN 1000 -> NaN Invalid_operation |
|
589 ddcms848 comparesig sNaN NaN -> NaN Invalid_operation |
|
590 ddcms849 comparesig sNaN sNaN -> NaN Invalid_operation |
|
591 ddcms850 comparesig NaN sNaN -> NaN Invalid_operation |
|
592 ddcms851 comparesig -Inf sNaN -> NaN Invalid_operation |
|
593 ddcms852 comparesig -1000 sNaN -> NaN Invalid_operation |
|
594 ddcms853 comparesig -1 sNaN -> NaN Invalid_operation |
|
595 ddcms854 comparesig -0 sNaN -> NaN Invalid_operation |
|
596 ddcms855 comparesig 0 sNaN -> NaN Invalid_operation |
|
597 ddcms856 comparesig 1 sNaN -> NaN Invalid_operation |
|
598 ddcms857 comparesig 1000 sNaN -> NaN Invalid_operation |
|
599 ddcms858 comparesig Inf sNaN -> NaN Invalid_operation |
|
600 ddcms859 comparesig NaN sNaN -> NaN Invalid_operation |
|
601 |
|
602 -- propagating NaNs |
|
603 ddcms860 comparesig NaN9 -Inf -> NaN9 Invalid_operation |
|
604 ddcms861 comparesig NaN8 999 -> NaN8 Invalid_operation |
|
605 ddcms862 comparesig NaN77 Inf -> NaN77 Invalid_operation |
|
606 ddcms863 comparesig -NaN67 NaN5 -> -NaN67 Invalid_operation |
|
607 ddcms864 comparesig -Inf -NaN4 -> -NaN4 Invalid_operation |
|
608 ddcms865 comparesig -999 -NaN33 -> -NaN33 Invalid_operation |
|
609 ddcms866 comparesig Inf NaN2 -> NaN2 Invalid_operation |
|
610 ddcms867 comparesig -NaN41 -NaN42 -> -NaN41 Invalid_operation |
|
611 ddcms868 comparesig +NaN41 -NaN42 -> NaN41 Invalid_operation |
|
612 ddcms869 comparesig -NaN41 +NaN42 -> -NaN41 Invalid_operation |
|
613 ddcms870 comparesig +NaN41 +NaN42 -> NaN41 Invalid_operation |
|
614 |
|
615 ddcms871 comparesig -sNaN99 -Inf -> -NaN99 Invalid_operation |
|
616 ddcms872 comparesig sNaN98 -11 -> NaN98 Invalid_operation |
|
617 ddcms873 comparesig sNaN97 NaN -> NaN97 Invalid_operation |
|
618 ddcms874 comparesig sNaN16 sNaN94 -> NaN16 Invalid_operation |
|
619 ddcms875 comparesig NaN85 sNaN83 -> NaN83 Invalid_operation |
|
620 ddcms876 comparesig -Inf sNaN92 -> NaN92 Invalid_operation |
|
621 ddcms877 comparesig 088 sNaN81 -> NaN81 Invalid_operation |
|
622 ddcms878 comparesig Inf sNaN90 -> NaN90 Invalid_operation |
|
623 ddcms879 comparesig NaN -sNaN89 -> -NaN89 Invalid_operation |
|
624 |
|
625 -- wide range |
|
626 ddcms880 comparesig +1.23456789012345E-0 9E+384 -> -1 |
|
627 ddcms881 comparesig 9E+384 +1.23456789012345E-0 -> 1 |
|
628 ddcms882 comparesig +0.100 9E-383 -> 1 |
|
629 ddcms883 comparesig 9E-383 +0.100 -> -1 |
|
630 ddcms885 comparesig -1.23456789012345E-0 9E+384 -> -1 |
|
631 ddcms886 comparesig 9E+384 -1.23456789012345E-0 -> 1 |
|
632 ddcms887 comparesig -0.100 9E-383 -> -1 |
|
633 ddcms888 comparesig 9E-383 -0.100 -> 1 |
|
634 |
|
635 -- signs |
|
636 ddcms901 comparesig 1e+77 1e+11 -> 1 |
|
637 ddcms902 comparesig 1e+77 -1e+11 -> 1 |
|
638 ddcms903 comparesig -1e+77 1e+11 -> -1 |
|
639 ddcms904 comparesig -1e+77 -1e+11 -> -1 |
|
640 ddcms905 comparesig 1e-77 1e-11 -> -1 |
|
641 ddcms906 comparesig 1e-77 -1e-11 -> 1 |
|
642 ddcms907 comparesig -1e-77 1e-11 -> -1 |
|
643 ddcms908 comparesig -1e-77 -1e-11 -> 1 |
|
644 |
|
645 -- Null tests |
|
646 ddcms990 comparesig 10 # -> NaN Invalid_operation |
|
647 ddcms991 comparesig # 10 -> NaN Invalid_operation |