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