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