dqCompareTotalMag.decTest 31.9 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706
------------------------------------------------------------------------
-- dqCompareTotalMag.decTest -- decQuad comparison; abs. total order  --
-- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --
------------------------------------------------------------------------
-- Please see the document "General Decimal Arithmetic Testcases"     --
-- at http://www2.hursley.ibm.com/decimal for the description of      --
-- these testcases.                                                   --
--                                                                    --
-- These testcases are experimental ('beta' versions), and they       --
-- may contain errors.  They are offered on an as-is basis.  In       --
-- particular, achieving the same results as the tests here is not    --
-- a guarantee that an implementation complies with any Standard      --
-- or specification.  The tests are not exhaustive.                   --
--                                                                    --
-- Please send comments, suggestions, and corrections to the author:  --
--   Mike Cowlishaw, IBM Fellow                                       --
--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
--   mfc@uk.ibm.com                                                   --
------------------------------------------------------------------------
version: 2.59

-- Note that we cannot assume add/subtract tests cover paths adequately,
-- here, because the code might be quite different (comparison cannot
-- overflow or underflow, so actual subtractions are not necessary).
-- Similarly, comparetotal will have some radically different paths
-- than compare.

-- All operands and results are decQuads.
extended:    1
clamp:       1
precision:   34
maxExponent: 6144
minExponent: -6143
rounding:    half_even

-- sanity checks
dqctm001 comparetotmag  -2  -2   ->   0
dqctm002 comparetotmag  -2  -1   ->   1
dqctm003 comparetotmag  -2   0   ->   1
dqctm004 comparetotmag  -2   1   ->   1
dqctm005 comparetotmag  -2   2   ->   0
dqctm006 comparetotmag  -1  -2   ->  -1
dqctm007 comparetotmag  -1  -1   ->   0
dqctm008 comparetotmag  -1   0   ->   1
dqctm009 comparetotmag  -1   1   ->   0
dqctm010 comparetotmag  -1   2   ->  -1
dqctm011 comparetotmag   0  -2   ->  -1
dqctm012 comparetotmag   0  -1   ->  -1
dqctm013 comparetotmag   0   0   ->   0
dqctm014 comparetotmag   0   1   ->  -1
dqctm015 comparetotmag   0   2   ->  -1
dqctm016 comparetotmag   1  -2   ->  -1
dqctm017 comparetotmag   1  -1   ->   0
dqctm018 comparetotmag   1   0   ->   1
dqctm019 comparetotmag   1   1   ->   0
dqctm020 comparetotmag   1   2   ->  -1
dqctm021 comparetotmag   2  -2   ->   0
dqctm022 comparetotmag   2  -1   ->   1
dqctm023 comparetotmag   2   0   ->   1
dqctm025 comparetotmag   2   1   ->   1
dqctm026 comparetotmag   2   2   ->   0

dqctm031 comparetotmag  -20  -20   ->   0
dqctm032 comparetotmag  -20  -10   ->   1
dqctm033 comparetotmag  -20   00   ->   1
dqctm034 comparetotmag  -20   10   ->   1
dqctm035 comparetotmag  -20   20   ->   0
dqctm036 comparetotmag  -10  -20   ->  -1
dqctm037 comparetotmag  -10  -10   ->   0
dqctm038 comparetotmag  -10   00   ->   1
dqctm039 comparetotmag  -10   10   ->   0
dqctm040 comparetotmag  -10   20   ->  -1
dqctm041 comparetotmag   00  -20   ->  -1
dqctm042 comparetotmag   00  -10   ->  -1
dqctm043 comparetotmag   00   00   ->   0
dqctm044 comparetotmag   00   10   ->  -1
dqctm045 comparetotmag   00   20   ->  -1
dqctm046 comparetotmag   10  -20   ->  -1
dqctm047 comparetotmag   10  -10   ->   0
dqctm048 comparetotmag   10   00   ->   1
dqctm049 comparetotmag   10   10   ->   0
dqctm050 comparetotmag   10   20   ->  -1
dqctm051 comparetotmag   20  -20   ->   0
dqctm052 comparetotmag   20  -10   ->   1
dqctm053 comparetotmag   20   00   ->   1
dqctm055 comparetotmag   20   10   ->   1
dqctm056 comparetotmag   20   20   ->   0

dqctm061 comparetotmag  -2.0  -2.0   ->   0
dqctm062 comparetotmag  -2.0  -1.0   ->   1
dqctm063 comparetotmag  -2.0   0.0   ->   1
dqctm064 comparetotmag  -2.0   1.0   ->   1
dqctm065 comparetotmag  -2.0   2.0   ->   0
dqctm066 comparetotmag  -1.0  -2.0   ->  -1
dqctm067 comparetotmag  -1.0  -1.0   ->   0
dqctm068 comparetotmag  -1.0   0.0   ->   1
dqctm069 comparetotmag  -1.0   1.0   ->   0
dqctm070 comparetotmag  -1.0   2.0   ->  -1
dqctm071 comparetotmag   0.0  -2.0   ->  -1
dqctm072 comparetotmag   0.0  -1.0   ->  -1
dqctm073 comparetotmag   0.0   0.0   ->   0
dqctm074 comparetotmag   0.0   1.0   ->  -1
dqctm075 comparetotmag   0.0   2.0   ->  -1
dqctm076 comparetotmag   1.0  -2.0   ->  -1
dqctm077 comparetotmag   1.0  -1.0   ->   0
dqctm078 comparetotmag   1.0   0.0   ->   1
dqctm079 comparetotmag   1.0   1.0   ->   0
dqctm080 comparetotmag   1.0   2.0   ->  -1
dqctm081 comparetotmag   2.0  -2.0   ->   0
dqctm082 comparetotmag   2.0  -1.0   ->   1
dqctm083 comparetotmag   2.0   0.0   ->   1
dqctm085 comparetotmag   2.0   1.0   ->   1
dqctm086 comparetotmag   2.0   2.0   ->   0

-- now some cases which might overflow if subtract were used
dqctm090 comparetotmag  9.99999999999999999999999999999E+6144 9.99999999999999999999999999999E+6144   ->   0
dqctm091 comparetotmag -9.99999999999999999999999999999E+6144 9.99999999999999999999999999999E+6144   ->   0
dqctm092 comparetotmag  9.99999999999999999999999999999E+6144 -9.99999999999999999999999999999E+6144  ->   0
dqctm093 comparetotmag -9.99999999999999999999999999999E+6144 -9.99999999999999999999999999999E+6144  ->   0

-- some differing length/exponent cases
-- in this first group, compare would compare all equal
dqctm100 comparetotmag   7.0    7.0     ->   0
dqctm101 comparetotmag   7.0    7       ->  -1
dqctm102 comparetotmag   7      7.0     ->   1
dqctm103 comparetotmag   7E+0   7.0     ->   1
dqctm104 comparetotmag   70E-1  7.0     ->   0
dqctm105 comparetotmag   0.7E+1 7       ->   0
dqctm106 comparetotmag   70E-1  7       ->  -1
dqctm107 comparetotmag   7.0    7E+0    ->  -1
dqctm108 comparetotmag   7.0    70E-1   ->   0
dqctm109 comparetotmag   7      0.7E+1  ->   0
dqctm110 comparetotmag   7      70E-1   ->   1

dqctm120 comparetotmag   8.0    7.0     ->   1
dqctm121 comparetotmag   8.0    7       ->   1
dqctm122 comparetotmag   8      7.0     ->   1
dqctm123 comparetotmag   8E+0   7.0     ->   1
dqctm124 comparetotmag   80E-1  7.0     ->   1
dqctm125 comparetotmag   0.8E+1 7       ->   1
dqctm126 comparetotmag   80E-1  7       ->   1
dqctm127 comparetotmag   8.0    7E+0    ->   1
dqctm128 comparetotmag   8.0    70E-1   ->   1
dqctm129 comparetotmag   8      0.7E+1   ->   1
dqctm130 comparetotmag   8      70E-1   ->   1

dqctm140 comparetotmag   8.0    9.0     ->  -1
dqctm141 comparetotmag   8.0    9       ->  -1
dqctm142 comparetotmag   8      9.0     ->  -1
dqctm143 comparetotmag   8E+0   9.0     ->  -1
dqctm144 comparetotmag   80E-1  9.0     ->  -1
dqctm145 comparetotmag   0.8E+1 9       ->  -1
dqctm146 comparetotmag   80E-1  9       ->  -1
dqctm147 comparetotmag   8.0    9E+0    ->  -1
dqctm148 comparetotmag   8.0    90E-1   ->  -1
dqctm149 comparetotmag   8      0.9E+1  ->  -1
dqctm150 comparetotmag   8      90E-1   ->  -1

-- and again, with sign changes -+ ..
dqctm200 comparetotmag  -7.0    7.0     ->   0
dqctm201 comparetotmag  -7.0    7       ->  -1
dqctm202 comparetotmag  -7      7.0     ->   1
dqctm203 comparetotmag  -7E+0   7.0     ->   1
dqctm204 comparetotmag  -70E-1  7.0     ->   0
dqctm205 comparetotmag  -0.7E+1 7       ->   0
dqctm206 comparetotmag  -70E-1  7       ->  -1
dqctm207 comparetotmag  -7.0    7E+0    ->  -1
dqctm208 comparetotmag  -7.0    70E-1   ->   0
dqctm209 comparetotmag  -7      0.7E+1  ->   0
dqctm210 comparetotmag  -7      70E-1   ->   1

dqctm220 comparetotmag  -8.0    7.0     ->   1
dqctm221 comparetotmag  -8.0    7       ->   1
dqctm222 comparetotmag  -8      7.0     ->   1
dqctm223 comparetotmag  -8E+0   7.0     ->   1
dqctm224 comparetotmag  -80E-1  7.0     ->   1
dqctm225 comparetotmag  -0.8E+1 7       ->   1
dqctm226 comparetotmag  -80E-1  7       ->   1
dqctm227 comparetotmag  -8.0    7E+0    ->   1
dqctm228 comparetotmag  -8.0    70E-1   ->   1
dqctm229 comparetotmag  -8      0.7E+1  ->   1
dqctm230 comparetotmag  -8      70E-1   ->   1

dqctm240 comparetotmag  -8.0    9.0     ->  -1
dqctm241 comparetotmag  -8.0    9       ->  -1
dqctm242 comparetotmag  -8      9.0     ->  -1
dqctm243 comparetotmag  -8E+0   9.0     ->  -1
dqctm244 comparetotmag  -80E-1  9.0     ->  -1
dqctm245 comparetotmag  -0.8E+1 9       ->  -1
dqctm246 comparetotmag  -80E-1  9       ->  -1
dqctm247 comparetotmag  -8.0    9E+0    ->  -1
dqctm248 comparetotmag  -8.0    90E-1   ->  -1
dqctm249 comparetotmag  -8      0.9E+1  ->  -1
dqctm250 comparetotmag  -8      90E-1   ->  -1

-- and again, with sign changes +- ..
dqctm300 comparetotmag   7.0    -7.0     ->   0
dqctm301 comparetotmag   7.0    -7       ->  -1
dqctm302 comparetotmag   7      -7.0     ->   1
dqctm303 comparetotmag   7E+0   -7.0     ->   1
dqctm304 comparetotmag   70E-1  -7.0     ->   0
dqctm305 comparetotmag   .7E+1  -7       ->   0
dqctm306 comparetotmag   70E-1  -7       ->  -1
dqctm307 comparetotmag   7.0    -7E+0    ->  -1
dqctm308 comparetotmag   7.0    -70E-1   ->   0
dqctm309 comparetotmag   7      -.7E+1   ->   0
dqctm310 comparetotmag   7      -70E-1   ->   1

dqctm320 comparetotmag   8.0    -7.0     ->   1
dqctm321 comparetotmag   8.0    -7       ->   1
dqctm322 comparetotmag   8      -7.0     ->   1
dqctm323 comparetotmag   8E+0   -7.0     ->   1
dqctm324 comparetotmag   80E-1  -7.0     ->   1
dqctm325 comparetotmag   .8E+1  -7       ->   1
dqctm326 comparetotmag   80E-1  -7       ->   1
dqctm327 comparetotmag   8.0    -7E+0    ->   1
dqctm328 comparetotmag   8.0    -70E-1   ->   1
dqctm329 comparetotmag   8      -.7E+1   ->   1
dqctm330 comparetotmag   8      -70E-1   ->   1

dqctm340 comparetotmag   8.0    -9.0     ->  -1
dqctm341 comparetotmag   8.0    -9       ->  -1
dqctm342 comparetotmag   8      -9.0     ->  -1
dqctm343 comparetotmag   8E+0   -9.0     ->  -1
dqctm344 comparetotmag   80E-1  -9.0     ->  -1
dqctm345 comparetotmag   .8E+1  -9       ->  -1
dqctm346 comparetotmag   80E-1  -9       ->  -1
dqctm347 comparetotmag   8.0    -9E+0    ->  -1
dqctm348 comparetotmag   8.0    -90E-1   ->  -1
dqctm349 comparetotmag   8      -.9E+1   ->  -1
dqctm350 comparetotmag   8      -90E-1   ->  -1

-- and again, with sign changes -- ..
dqctm400 comparetotmag   -7.0    -7.0     ->   0
dqctm401 comparetotmag   -7.0    -7       ->  -1
dqctm402 comparetotmag   -7      -7.0     ->   1
dqctm403 comparetotmag   -7E+0   -7.0     ->   1
dqctm404 comparetotmag   -70E-1  -7.0     ->   0
dqctm405 comparetotmag   -.7E+1  -7       ->   0
dqctm406 comparetotmag   -70E-1  -7       ->  -1
dqctm407 comparetotmag   -7.0    -7E+0    ->  -1
dqctm408 comparetotmag   -7.0    -70E-1   ->   0
dqctm409 comparetotmag   -7      -.7E+1   ->   0
dqctm410 comparetotmag   -7      -70E-1   ->   1

dqctm420 comparetotmag   -8.0    -7.0     ->   1
dqctm421 comparetotmag   -8.0    -7       ->   1
dqctm422 comparetotmag   -8      -7.0     ->   1
dqctm423 comparetotmag   -8E+0   -7.0     ->   1
dqctm424 comparetotmag   -80E-1  -7.0     ->   1
dqctm425 comparetotmag   -.8E+1  -7       ->   1
dqctm426 comparetotmag   -80E-1  -7       ->   1
dqctm427 comparetotmag   -8.0    -7E+0    ->   1
dqctm428 comparetotmag   -8.0    -70E-1   ->   1
dqctm429 comparetotmag   -8      -.7E+1   ->   1
dqctm430 comparetotmag   -8      -70E-1   ->   1

dqctm440 comparetotmag   -8.0    -9.0     ->  -1
dqctm441 comparetotmag   -8.0    -9       ->  -1
dqctm442 comparetotmag   -8      -9.0     ->  -1
dqctm443 comparetotmag   -8E+0   -9.0     ->  -1
dqctm444 comparetotmag   -80E-1  -9.0     ->  -1
dqctm445 comparetotmag   -.8E+1  -9       ->  -1
dqctm446 comparetotmag   -80E-1  -9       ->  -1
dqctm447 comparetotmag   -8.0    -9E+0    ->  -1
dqctm448 comparetotmag   -8.0    -90E-1   ->  -1
dqctm449 comparetotmag   -8      -.9E+1   ->  -1
dqctm450 comparetotmag   -8      -90E-1   ->  -1


-- testcases that subtract to lots of zeros at boundaries [pgr]
dqctm473 comparetotmag 123.4560000000000E-89 123.456E-89  ->  -1
dqctm474 comparetotmag 123.456000000000E+89 123.456E+89  ->  -1
dqctm475 comparetotmag 123.45600000000E-89 123.456E-89  ->  -1
dqctm476 comparetotmag 123.4560000000E+89 123.456E+89  ->  -1
dqctm477 comparetotmag 123.456000000E-89 123.456E-89  ->  -1
dqctm478 comparetotmag 123.45600000E+89 123.456E+89  ->  -1
dqctm479 comparetotmag 123.4560000E-89 123.456E-89  ->  -1
dqctm480 comparetotmag 123.456000E+89 123.456E+89  ->  -1
dqctm481 comparetotmag 123.45600E-89 123.456E-89  ->  -1
dqctm482 comparetotmag 123.4560E+89 123.456E+89  ->  -1
dqctm483 comparetotmag 123.456E-89 123.456E-89  ->   0
dqctm487 comparetotmag 123.456E+89 123.4560000000000E+89  ->   1
dqctm488 comparetotmag 123.456E-89 123.456000000000E-89  ->   1
dqctm489 comparetotmag 123.456E+89 123.45600000000E+89  ->   1
dqctm490 comparetotmag 123.456E-89 123.4560000000E-89  ->   1
dqctm491 comparetotmag 123.456E+89 123.456000000E+89  ->   1
dqctm492 comparetotmag 123.456E-89 123.45600000E-89  ->   1
dqctm493 comparetotmag 123.456E+89 123.4560000E+89  ->   1
dqctm494 comparetotmag 123.456E-89 123.456000E-89  ->   1
dqctm495 comparetotmag 123.456E+89 123.45600E+89  ->   1
dqctm496 comparetotmag 123.456E-89 123.4560E-89  ->   1
dqctm497 comparetotmag 123.456E+89 123.456E+89  ->   0

-- wide-ranging, around precision; signs equal
dqctm498 comparetotmag    1     1E-17     ->   1
dqctm499 comparetotmag    1     1E-16     ->   1
dqctm500 comparetotmag    1     1E-15     ->   1
dqctm501 comparetotmag    1     1E-14     ->   1
dqctm502 comparetotmag    1     1E-13     ->   1
dqctm503 comparetotmag    1     1E-12     ->   1
dqctm504 comparetotmag    1     1E-11     ->   1
dqctm505 comparetotmag    1     1E-10     ->   1
dqctm506 comparetotmag    1     1E-9      ->   1
dqctm507 comparetotmag    1     1E-8      ->   1
dqctm508 comparetotmag    1     1E-7      ->   1
dqctm509 comparetotmag    1     1E-6      ->   1
dqctm510 comparetotmag    1     1E-5      ->   1
dqctm511 comparetotmag    1     1E-4      ->   1
dqctm512 comparetotmag    1     1E-3      ->   1
dqctm513 comparetotmag    1     1E-2      ->   1
dqctm514 comparetotmag    1     1E-1      ->   1
dqctm515 comparetotmag    1     1E-0      ->   0
dqctm516 comparetotmag    1     1E+1      ->  -1
dqctm517 comparetotmag    1     1E+2      ->  -1
dqctm518 comparetotmag    1     1E+3      ->  -1
dqctm519 comparetotmag    1     1E+4      ->  -1
dqctm521 comparetotmag    1     1E+5      ->  -1
dqctm522 comparetotmag    1     1E+6      ->  -1
dqctm523 comparetotmag    1     1E+7      ->  -1
dqctm524 comparetotmag    1     1E+8      ->  -1
dqctm525 comparetotmag    1     1E+9      ->  -1
dqctm526 comparetotmag    1     1E+10     ->  -1
dqctm527 comparetotmag    1     1E+11     ->  -1
dqctm528 comparetotmag    1     1E+12     ->  -1
dqctm529 comparetotmag    1     1E+13     ->  -1
dqctm530 comparetotmag    1     1E+14     ->  -1
dqctm531 comparetotmag    1     1E+15     ->  -1
dqctm532 comparetotmag    1     1E+16     ->  -1
dqctm533 comparetotmag    1     1E+17     ->  -1
-- LR swap
dqctm538 comparetotmag    1E-17  1        ->  -1
dqctm539 comparetotmag    1E-16  1        ->  -1
dqctm540 comparetotmag    1E-15  1        ->  -1
dqctm541 comparetotmag    1E-14  1        ->  -1
dqctm542 comparetotmag    1E-13  1        ->  -1
dqctm543 comparetotmag    1E-12  1        ->  -1
dqctm544 comparetotmag    1E-11  1        ->  -1
dqctm545 comparetotmag    1E-10  1        ->  -1
dqctm546 comparetotmag    1E-9   1        ->  -1
dqctm547 comparetotmag    1E-8   1        ->  -1
dqctm548 comparetotmag    1E-7   1        ->  -1
dqctm549 comparetotmag    1E-6   1        ->  -1
dqctm550 comparetotmag    1E-5   1        ->  -1
dqctm551 comparetotmag    1E-4   1        ->  -1
dqctm552 comparetotmag    1E-3   1        ->  -1
dqctm553 comparetotmag    1E-2   1        ->  -1
dqctm554 comparetotmag    1E-1   1        ->  -1
dqctm555 comparetotmag    1E-0   1        ->   0
dqctm556 comparetotmag    1E+1   1        ->   1
dqctm557 comparetotmag    1E+2   1        ->   1
dqctm558 comparetotmag    1E+3   1        ->   1
dqctm559 comparetotmag    1E+4   1        ->   1
dqctm561 comparetotmag    1E+5   1        ->   1
dqctm562 comparetotmag    1E+6   1        ->   1
dqctm563 comparetotmag    1E+7   1        ->   1
dqctm564 comparetotmag    1E+8   1        ->   1
dqctm565 comparetotmag    1E+9   1        ->   1
dqctm566 comparetotmag    1E+10  1        ->   1
dqctm567 comparetotmag    1E+11  1        ->   1
dqctm568 comparetotmag    1E+12  1        ->   1
dqctm569 comparetotmag    1E+13  1        ->   1
dqctm570 comparetotmag    1E+14  1        ->   1
dqctm571 comparetotmag    1E+15  1        ->   1
dqctm572 comparetotmag    1E+16  1        ->   1
dqctm573 comparetotmag    1E+17  1        ->   1
-- similar with a useful coefficient, one side only
dqctm578 comparetotmag  0.000000987654321     1E-17     ->   1
dqctm579 comparetotmag  0.000000987654321     1E-16     ->   1
dqctm580 comparetotmag  0.000000987654321     1E-15     ->   1
dqctm581 comparetotmag  0.000000987654321     1E-14     ->   1
dqctm582 comparetotmag  0.000000987654321     1E-13     ->   1
dqctm583 comparetotmag  0.000000987654321     1E-12     ->   1
dqctm584 comparetotmag  0.000000987654321     1E-11     ->   1
dqctm585 comparetotmag  0.000000987654321     1E-10     ->   1
dqctm586 comparetotmag  0.000000987654321     1E-9      ->   1
dqctm587 comparetotmag  0.000000987654321     1E-8      ->   1
dqctm588 comparetotmag  0.000000987654321     1E-7      ->   1
dqctm589 comparetotmag  0.000000987654321     1E-6      ->  -1
dqctm590 comparetotmag  0.000000987654321     1E-5      ->  -1
dqctm591 comparetotmag  0.000000987654321     1E-4      ->  -1
dqctm592 comparetotmag  0.000000987654321     1E-3      ->  -1
dqctm593 comparetotmag  0.000000987654321     1E-2      ->  -1
dqctm594 comparetotmag  0.000000987654321     1E-1      ->  -1
dqctm595 comparetotmag  0.000000987654321     1E-0      ->  -1
dqctm596 comparetotmag  0.000000987654321     1E+1      ->  -1
dqctm597 comparetotmag  0.000000987654321     1E+2      ->  -1
dqctm598 comparetotmag  0.000000987654321     1E+3      ->  -1
dqctm599 comparetotmag  0.000000987654321     1E+4      ->  -1

-- check some unit-y traps
dqctm600 comparetotmag   12            12.2345  ->  -1
dqctm601 comparetotmag   12.0          12.2345  ->  -1
dqctm602 comparetotmag   12.00         12.2345  ->  -1
dqctm603 comparetotmag   12.000        12.2345  ->  -1
dqctm604 comparetotmag   12.0000       12.2345  ->  -1
dqctm605 comparetotmag   12.00000      12.2345  ->  -1
dqctm606 comparetotmag   12.000000     12.2345  ->  -1
dqctm607 comparetotmag   12.0000000    12.2345  ->  -1
dqctm608 comparetotmag   12.00000000   12.2345  ->  -1
dqctm609 comparetotmag   12.000000000  12.2345  ->  -1
dqctm610 comparetotmag   12.1234 12             ->   1
dqctm611 comparetotmag   12.1234 12.0           ->   1
dqctm612 comparetotmag   12.1234 12.00          ->   1
dqctm613 comparetotmag   12.1234 12.000         ->   1
dqctm614 comparetotmag   12.1234 12.0000        ->   1
dqctm615 comparetotmag   12.1234 12.00000       ->   1
dqctm616 comparetotmag   12.1234 12.000000      ->   1
dqctm617 comparetotmag   12.1234 12.0000000     ->   1
dqctm618 comparetotmag   12.1234 12.00000000    ->   1
dqctm619 comparetotmag   12.1234 12.000000000   ->   1
dqctm620 comparetotmag  -12           -12.2345  ->  -1
dqctm621 comparetotmag  -12.0         -12.2345  ->  -1
dqctm622 comparetotmag  -12.00        -12.2345  ->  -1
dqctm623 comparetotmag  -12.000       -12.2345  ->  -1
dqctm624 comparetotmag  -12.0000      -12.2345  ->  -1
dqctm625 comparetotmag  -12.00000     -12.2345  ->  -1
dqctm626 comparetotmag  -12.000000    -12.2345  ->  -1
dqctm627 comparetotmag  -12.0000000   -12.2345  ->  -1
dqctm628 comparetotmag  -12.00000000  -12.2345  ->  -1
dqctm629 comparetotmag  -12.000000000 -12.2345  ->  -1
dqctm630 comparetotmag  -12.1234 -12            ->   1
dqctm631 comparetotmag  -12.1234 -12.0          ->   1
dqctm632 comparetotmag  -12.1234 -12.00         ->   1
dqctm633 comparetotmag  -12.1234 -12.000        ->   1
dqctm634 comparetotmag  -12.1234 -12.0000       ->   1
dqctm635 comparetotmag  -12.1234 -12.00000      ->   1
dqctm636 comparetotmag  -12.1234 -12.000000     ->   1
dqctm637 comparetotmag  -12.1234 -12.0000000    ->   1
dqctm638 comparetotmag  -12.1234 -12.00000000   ->   1
dqctm639 comparetotmag  -12.1234 -12.000000000  ->   1

-- extended zeros
dqctm640 comparetotmag   0     0    ->   0
dqctm641 comparetotmag   0    -0    ->   0
dqctm642 comparetotmag   0    -0.0  ->   1
dqctm643 comparetotmag   0     0.0  ->   1
dqctm644 comparetotmag  -0     0    ->   0
dqctm645 comparetotmag  -0    -0    ->   0
dqctm646 comparetotmag  -0    -0.0  ->   1
dqctm647 comparetotmag  -0     0.0  ->   1
dqctm648 comparetotmag   0.0   0    ->  -1
dqctm649 comparetotmag   0.0  -0    ->  -1
dqctm650 comparetotmag   0.0  -0.0  ->   0
dqctm651 comparetotmag   0.0   0.0  ->   0
dqctm652 comparetotmag  -0.0   0    ->  -1
dqctm653 comparetotmag  -0.0  -0    ->  -1
dqctm654 comparetotmag  -0.0  -0.0  ->   0
dqctm655 comparetotmag  -0.0   0.0  ->   0

dqctm656 comparetotmag  -0E1   0.0  ->   1
dqctm657 comparetotmag  -0E2   0.0  ->   1
dqctm658 comparetotmag   0E1   0.0  ->   1
dqctm659 comparetotmag   0E2   0.0  ->   1
dqctm660 comparetotmag  -0E1   0    ->   1
dqctm661 comparetotmag  -0E2   0    ->   1
dqctm662 comparetotmag   0E1   0    ->   1
dqctm663 comparetotmag   0E2   0    ->   1
dqctm664 comparetotmag  -0E1  -0E1  ->   0
dqctm665 comparetotmag  -0E2  -0E1  ->   1
dqctm666 comparetotmag   0E1  -0E1  ->   0
dqctm667 comparetotmag   0E2  -0E1  ->   1
dqctm668 comparetotmag  -0E1  -0E2  ->  -1
dqctm669 comparetotmag  -0E2  -0E2  ->   0
dqctm670 comparetotmag   0E1  -0E2  ->  -1
dqctm671 comparetotmag   0E2  -0E2  ->   0
dqctm672 comparetotmag  -0E1   0E1  ->   0
dqctm673 comparetotmag  -0E2   0E1  ->   1
dqctm674 comparetotmag   0E1   0E1  ->   0
dqctm675 comparetotmag   0E2   0E1  ->   1
dqctm676 comparetotmag  -0E1   0E2  ->  -1
dqctm677 comparetotmag  -0E2   0E2  ->   0
dqctm678 comparetotmag   0E1   0E2  ->  -1
dqctm679 comparetotmag   0E2   0E2  ->   0

-- trailing zeros; unit-y
dqctm680 comparetotmag   12    12            ->   0
dqctm681 comparetotmag   12    12.0          ->   1
dqctm682 comparetotmag   12    12.00         ->   1
dqctm683 comparetotmag   12    12.000        ->   1
dqctm684 comparetotmag   12    12.0000       ->   1
dqctm685 comparetotmag   12    12.00000      ->   1
dqctm686 comparetotmag   12    12.000000     ->   1
dqctm687 comparetotmag   12    12.0000000    ->   1
dqctm688 comparetotmag   12    12.00000000   ->   1
dqctm689 comparetotmag   12    12.000000000  ->   1
dqctm690 comparetotmag   12              12  ->   0
dqctm691 comparetotmag   12.0            12  ->  -1
dqctm692 comparetotmag   12.00           12  ->  -1
dqctm693 comparetotmag   12.000          12  ->  -1
dqctm694 comparetotmag   12.0000         12  ->  -1
dqctm695 comparetotmag   12.00000        12  ->  -1
dqctm696 comparetotmag   12.000000       12  ->  -1
dqctm697 comparetotmag   12.0000000      12  ->  -1
dqctm698 comparetotmag   12.00000000     12  ->  -1
dqctm699 comparetotmag   12.000000000    12  ->  -1

-- old long operand checks
dqctm701 comparetotmag 12345678000  1  ->   1
dqctm702 comparetotmag 1 12345678000   ->  -1
dqctm703 comparetotmag 1234567800   1  ->   1
dqctm704 comparetotmag 1 1234567800    ->  -1
dqctm705 comparetotmag 1234567890   1  ->   1
dqctm706 comparetotmag 1 1234567890    ->  -1
dqctm707 comparetotmag 1234567891   1  ->   1
dqctm708 comparetotmag 1 1234567891    ->  -1
dqctm709 comparetotmag 12345678901  1  ->   1
dqctm710 comparetotmag 1 12345678901   ->  -1
dqctm711 comparetotmag 1234567896   1  ->   1
dqctm712 comparetotmag 1 1234567896    ->  -1
dqctm713 comparetotmag -1234567891  1  ->   1
dqctm714 comparetotmag 1 -1234567891   ->  -1
dqctm715 comparetotmag -12345678901 1  ->   1
dqctm716 comparetotmag 1 -12345678901  ->  -1
dqctm717 comparetotmag -1234567896  1  ->   1
dqctm718 comparetotmag 1 -1234567896   ->  -1

-- old residue cases
dqctm740 comparetotmag  1  0.9999999   ->   1
dqctm741 comparetotmag  1  0.999999    ->   1
dqctm742 comparetotmag  1  0.99999     ->   1
dqctm743 comparetotmag  1  1.0000      ->   1
dqctm744 comparetotmag  1  1.00001     ->  -1
dqctm745 comparetotmag  1  1.000001    ->  -1
dqctm746 comparetotmag  1  1.0000001   ->  -1
dqctm750 comparetotmag  0.9999999  1   ->  -1
dqctm751 comparetotmag  0.999999   1   ->  -1
dqctm752 comparetotmag  0.99999    1   ->  -1
dqctm753 comparetotmag  1.0000     1   ->  -1
dqctm754 comparetotmag  1.00001    1   ->   1
dqctm755 comparetotmag  1.000001   1   ->   1
dqctm756 comparetotmag  1.0000001  1   ->   1

-- Specials
dqctm780 comparetotmag  Inf  -Inf   ->  0
dqctm781 comparetotmag  Inf  -1000  ->  1
dqctm782 comparetotmag  Inf  -1     ->  1
dqctm783 comparetotmag  Inf  -0     ->  1
dqctm784 comparetotmag  Inf   0     ->  1
dqctm785 comparetotmag  Inf   1     ->  1
dqctm786 comparetotmag  Inf   1000  ->  1
dqctm787 comparetotmag  Inf   Inf   ->  0
dqctm788 comparetotmag -1000  Inf   -> -1
dqctm789 comparetotmag -Inf   Inf   ->  0
dqctm790 comparetotmag -1     Inf   -> -1
dqctm791 comparetotmag -0     Inf   -> -1
dqctm792 comparetotmag  0     Inf   -> -1
dqctm793 comparetotmag  1     Inf   -> -1
dqctm794 comparetotmag  1000  Inf   -> -1
dqctm795 comparetotmag  Inf   Inf   ->  0

dqctm800 comparetotmag -Inf  -Inf   ->  0
dqctm801 comparetotmag -Inf  -1000  ->  1
dqctm802 comparetotmag -Inf  -1     ->  1
dqctm803 comparetotmag -Inf  -0     ->  1
dqctm804 comparetotmag -Inf   0     ->  1
dqctm805 comparetotmag -Inf   1     ->  1
dqctm806 comparetotmag -Inf   1000  ->  1
dqctm807 comparetotmag -Inf   Inf   ->  0
dqctm808 comparetotmag -Inf  -Inf   ->  0
dqctm809 comparetotmag -1000 -Inf   -> -1
dqctm810 comparetotmag -1    -Inf   -> -1
dqctm811 comparetotmag -0    -Inf   -> -1
dqctm812 comparetotmag  0    -Inf   -> -1
dqctm813 comparetotmag  1    -Inf   -> -1
dqctm814 comparetotmag  1000 -Inf   -> -1
dqctm815 comparetotmag  Inf  -Inf   ->  0

dqctm821 comparetotmag  NaN -Inf    ->  1
dqctm822 comparetotmag  NaN -1000   ->  1
dqctm823 comparetotmag  NaN -1      ->  1
dqctm824 comparetotmag  NaN -0      ->  1
dqctm825 comparetotmag  NaN  0      ->  1
dqctm826 comparetotmag  NaN  1      ->  1
dqctm827 comparetotmag  NaN  1000   ->  1
dqctm828 comparetotmag  NaN  Inf    ->  1
dqctm829 comparetotmag  NaN  NaN    ->  0
dqctm830 comparetotmag -Inf  NaN    ->  -1
dqctm831 comparetotmag -1000 NaN    ->  -1
dqctm832 comparetotmag -1    NaN    ->  -1
dqctm833 comparetotmag -0    NaN    ->  -1
dqctm834 comparetotmag  0    NaN    ->  -1
dqctm835 comparetotmag  1    NaN    ->  -1
dqctm836 comparetotmag  1000 NaN    ->  -1
dqctm837 comparetotmag  Inf  NaN    ->  -1
dqctm838 comparetotmag -NaN -NaN    ->  0
dqctm839 comparetotmag +NaN -NaN    ->  0
dqctm840 comparetotmag -NaN +NaN    ->  0

dqctm841 comparetotmag  sNaN -sNaN  ->  0
dqctm842 comparetotmag  sNaN -NaN   ->  -1
dqctm843 comparetotmag  sNaN -Inf   ->  1
dqctm844 comparetotmag  sNaN -1000  ->  1
dqctm845 comparetotmag  sNaN -1     ->  1
dqctm846 comparetotmag  sNaN -0     ->  1
dqctm847 comparetotmag  sNaN  0     ->  1
dqctm848 comparetotmag  sNaN  1     ->  1
dqctm849 comparetotmag  sNaN  1000  ->  1
dqctm850 comparetotmag  sNaN  NaN   ->  -1
dqctm851 comparetotmag  sNaN sNaN   ->  0

dqctm852 comparetotmag -sNaN sNaN   ->  0
dqctm853 comparetotmag -NaN  sNaN   ->  1
dqctm854 comparetotmag -Inf  sNaN   ->  -1
dqctm855 comparetotmag -1000 sNaN   ->  -1
dqctm856 comparetotmag -1    sNaN   ->  -1
dqctm857 comparetotmag -0    sNaN   ->  -1
dqctm858 comparetotmag  0    sNaN   ->  -1
dqctm859 comparetotmag  1    sNaN   ->  -1
dqctm860 comparetotmag  1000 sNaN   ->  -1
dqctm861 comparetotmag  Inf  sNaN   ->  -1
dqctm862 comparetotmag  NaN  sNaN   ->  1
dqctm863 comparetotmag  sNaN sNaN   ->  0

dqctm871 comparetotmag  -sNaN -sNaN  ->  0
dqctm872 comparetotmag  -sNaN -NaN   ->  -1
dqctm873 comparetotmag  -sNaN -Inf   ->  1
dqctm874 comparetotmag  -sNaN -1000  ->  1
dqctm875 comparetotmag  -sNaN -1     ->  1
dqctm876 comparetotmag  -sNaN -0     ->  1
dqctm877 comparetotmag  -sNaN  0     ->  1
dqctm878 comparetotmag  -sNaN  1     ->  1
dqctm879 comparetotmag  -sNaN  1000  ->  1
dqctm880 comparetotmag  -sNaN  NaN   ->  -1
dqctm881 comparetotmag  -sNaN sNaN   ->  0

dqctm882 comparetotmag -sNaN -sNaN   ->  0
dqctm883 comparetotmag -NaN  -sNaN   ->  1
dqctm884 comparetotmag -Inf  -sNaN   ->  -1
dqctm885 comparetotmag -1000 -sNaN   ->  -1
dqctm886 comparetotmag -1    -sNaN   ->  -1
dqctm887 comparetotmag -0    -sNaN   ->  -1
dqctm888 comparetotmag  0    -sNaN   ->  -1
dqctm889 comparetotmag  1    -sNaN   ->  -1
dqctm890 comparetotmag  1000 -sNaN   ->  -1
dqctm891 comparetotmag  Inf  -sNaN   ->  -1
dqctm892 comparetotmag  NaN  -sNaN   ->  1
dqctm893 comparetotmag  sNaN -sNaN   ->  0

-- NaNs with payload
dqctm960 comparetotmag  NaN9 -Inf   ->  1
dqctm961 comparetotmag  NaN8  999   ->  1
dqctm962 comparetotmag  NaN77 Inf   ->  1
dqctm963 comparetotmag -NaN67 NaN5  ->  1
dqctm964 comparetotmag -Inf  -NaN4  ->  -1
dqctm965 comparetotmag -999  -NaN33 ->  -1
dqctm966 comparetotmag  Inf   NaN2  ->  -1

dqctm970 comparetotmag -NaN41 -NaN42 -> -1
dqctm971 comparetotmag +NaN41 -NaN42 -> -1
dqctm972 comparetotmag -NaN41 +NaN42 -> -1
dqctm973 comparetotmag +NaN41 +NaN42 -> -1
dqctm974 comparetotmag -NaN42 -NaN01 ->  1
dqctm975 comparetotmag +NaN42 -NaN01 ->  1
dqctm976 comparetotmag -NaN42 +NaN01 ->  1
dqctm977 comparetotmag +NaN42 +NaN01 ->  1

dqctm980 comparetotmag -sNaN771 -sNaN772 -> -1
dqctm981 comparetotmag +sNaN771 -sNaN772 -> -1
dqctm982 comparetotmag -sNaN771 +sNaN772 -> -1
dqctm983 comparetotmag +sNaN771 +sNaN772 -> -1
dqctm984 comparetotmag -sNaN772 -sNaN771 ->  1
dqctm985 comparetotmag +sNaN772 -sNaN771 ->  1
dqctm986 comparetotmag -sNaN772 +sNaN771 ->  1
dqctm987 comparetotmag +sNaN772 +sNaN771 ->  1

dqctm991 comparetotmag -sNaN99 -Inf    ->  1
dqctm992 comparetotmag  sNaN98 -11     ->  1
dqctm993 comparetotmag  sNaN97  NaN    -> -1
dqctm994 comparetotmag  sNaN16 sNaN94  -> -1
dqctm995 comparetotmag  NaN85  sNaN83  ->  1
dqctm996 comparetotmag -Inf    sNaN92  -> -1
dqctm997 comparetotmag  088    sNaN81  -> -1
dqctm998 comparetotmag  Inf    sNaN90  -> -1
dqctm999 comparetotmag  NaN   -sNaN89  ->  1

-- spread zeros
dqctm1110 comparetotmag   0E-6143  0        ->  -1
dqctm1111 comparetotmag   0E-6143 -0        ->  -1
dqctm1112 comparetotmag  -0E-6143  0        ->  -1
dqctm1113 comparetotmag  -0E-6143 -0        ->  -1
dqctm1114 comparetotmag   0E-6143  0E+6144   ->  -1
dqctm1115 comparetotmag   0E-6143 -0E+6144   ->  -1
dqctm1116 comparetotmag  -0E-6143  0E+6144   ->  -1
dqctm1117 comparetotmag  -0E-6143 -0E+6144   ->  -1
dqctm1118 comparetotmag   0       0E+6144   ->  -1
dqctm1119 comparetotmag   0      -0E+6144   ->  -1
dqctm1120 comparetotmag  -0       0E+6144   ->  -1
dqctm1121 comparetotmag  -0      -0E+6144   ->  -1

dqctm1130 comparetotmag   0E+6144  0        ->   1
dqctm1131 comparetotmag   0E+6144 -0        ->   1
dqctm1132 comparetotmag  -0E+6144  0        ->   1
dqctm1133 comparetotmag  -0E+6144 -0        ->   1
dqctm1134 comparetotmag   0E+6144  0E-6143   ->   1
dqctm1135 comparetotmag   0E+6144 -0E-6143   ->   1
dqctm1136 comparetotmag  -0E+6144  0E-6143   ->   1
dqctm1137 comparetotmag  -0E+6144 -0E-6143   ->   1
dqctm1138 comparetotmag   0       0E-6143   ->   1
dqctm1139 comparetotmag   0      -0E-6143   ->   1
dqctm1140 comparetotmag  -0       0E-6143   ->   1
dqctm1141 comparetotmag  -0      -0E-6143   ->   1

-- Null tests
dqctm9990 comparetotmag 10  # -> NaN Invalid_operation
dqctm9991 comparetotmag  # 10 -> NaN Invalid_operation