| 12
 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
 
 | ------------------------------------------------------------------------
-- dqCompareTotal.decTest -- decQuad comparison using total ordering  --
-- 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
dqcot001 comparetotal  -2  -2  -> 0
dqcot002 comparetotal  -2  -1  -> -1
dqcot003 comparetotal  -2   0  -> -1
dqcot004 comparetotal  -2   1  -> -1
dqcot005 comparetotal  -2   2  -> -1
dqcot006 comparetotal  -1  -2  -> 1
dqcot007 comparetotal  -1  -1  -> 0
dqcot008 comparetotal  -1   0  -> -1
dqcot009 comparetotal  -1   1  -> -1
dqcot010 comparetotal  -1   2  -> -1
dqcot011 comparetotal   0  -2  -> 1
dqcot012 comparetotal   0  -1  -> 1
dqcot013 comparetotal   0   0  -> 0
dqcot014 comparetotal   0   1  -> -1
dqcot015 comparetotal   0   2  -> -1
dqcot016 comparetotal   1  -2  -> 1
dqcot017 comparetotal   1  -1  -> 1
dqcot018 comparetotal   1   0  -> 1
dqcot019 comparetotal   1   1  -> 0
dqcot020 comparetotal   1   2  -> -1
dqcot021 comparetotal   2  -2  -> 1
dqcot022 comparetotal   2  -1  -> 1
dqcot023 comparetotal   2   0  -> 1
dqcot025 comparetotal   2   1  -> 1
dqcot026 comparetotal   2   2  -> 0
dqcot031 comparetotal  -20  -20  -> 0
dqcot032 comparetotal  -20  -10  -> -1
dqcot033 comparetotal  -20   00  -> -1
dqcot034 comparetotal  -20   10  -> -1
dqcot035 comparetotal  -20   20  -> -1
dqcot036 comparetotal  -10  -20  -> 1
dqcot037 comparetotal  -10  -10  -> 0
dqcot038 comparetotal  -10   00  -> -1
dqcot039 comparetotal  -10   10  -> -1
dqcot040 comparetotal  -10   20  -> -1
dqcot041 comparetotal   00  -20  -> 1
dqcot042 comparetotal   00  -10  -> 1
dqcot043 comparetotal   00   00  -> 0
dqcot044 comparetotal   00   10  -> -1
dqcot045 comparetotal   00   20  -> -1
dqcot046 comparetotal   10  -20  -> 1
dqcot047 comparetotal   10  -10  -> 1
dqcot048 comparetotal   10   00  -> 1
dqcot049 comparetotal   10   10  -> 0
dqcot050 comparetotal   10   20  -> -1
dqcot051 comparetotal   20  -20  -> 1
dqcot052 comparetotal   20  -10  -> 1
dqcot053 comparetotal   20   00  -> 1
dqcot055 comparetotal   20   10  -> 1
dqcot056 comparetotal   20   20  -> 0
dqcot061 comparetotal  -2.0  -2.0  -> 0
dqcot062 comparetotal  -2.0  -1.0  -> -1
dqcot063 comparetotal  -2.0   0.0  -> -1
dqcot064 comparetotal  -2.0   1.0  -> -1
dqcot065 comparetotal  -2.0   2.0  -> -1
dqcot066 comparetotal  -1.0  -2.0  -> 1
dqcot067 comparetotal  -1.0  -1.0  -> 0
dqcot068 comparetotal  -1.0   0.0  -> -1
dqcot069 comparetotal  -1.0   1.0  -> -1
dqcot070 comparetotal  -1.0   2.0  -> -1
dqcot071 comparetotal   0.0  -2.0  -> 1
dqcot072 comparetotal   0.0  -1.0  -> 1
dqcot073 comparetotal   0.0   0.0  -> 0
dqcot074 comparetotal   0.0   1.0  -> -1
dqcot075 comparetotal   0.0   2.0  -> -1
dqcot076 comparetotal   1.0  -2.0  -> 1
dqcot077 comparetotal   1.0  -1.0  -> 1
dqcot078 comparetotal   1.0   0.0  -> 1
dqcot079 comparetotal   1.0   1.0  -> 0
dqcot080 comparetotal   1.0   2.0  -> -1
dqcot081 comparetotal   2.0  -2.0  -> 1
dqcot082 comparetotal   2.0  -1.0  -> 1
dqcot083 comparetotal   2.0   0.0  -> 1
dqcot085 comparetotal   2.0   1.0  -> 1
dqcot086 comparetotal   2.0   2.0  -> 0
-- now some cases which might overflow if subtract were used
dqcot090 comparetotal  9.99999999999999999999999999999E+6144 9.99999999999999999999999999999E+6144  -> 0
dqcot091 comparetotal -9.99999999999999999999999999999E+6144 9.99999999999999999999999999999E+6144  -> -1
dqcot092 comparetotal  9.99999999999999999999999999999E+6144 -9.99999999999999999999999999999E+6144 -> 1
dqcot093 comparetotal -9.99999999999999999999999999999E+6144 -9.99999999999999999999999999999E+6144 -> 0
-- some differing length/exponent cases
-- in this first group, compare would compare all equal
dqcot100 comparetotal   7.0    7.0    -> 0
dqcot101 comparetotal   7.0    7      -> -1
dqcot102 comparetotal   7      7.0    -> 1
dqcot103 comparetotal   7E+0   7.0    -> 1
dqcot104 comparetotal   70E-1  7.0    -> 0
dqcot105 comparetotal   0.7E+1 7      -> 0
dqcot106 comparetotal   70E-1  7      -> -1
dqcot107 comparetotal   7.0    7E+0   -> -1
dqcot108 comparetotal   7.0    70E-1  -> 0
dqcot109 comparetotal   7      0.7E+1 -> 0
dqcot110 comparetotal   7      70E-1  -> 1
dqcot120 comparetotal   8.0    7.0    -> 1
dqcot121 comparetotal   8.0    7      -> 1
dqcot122 comparetotal   8      7.0    -> 1
dqcot123 comparetotal   8E+0   7.0    -> 1
dqcot124 comparetotal   80E-1  7.0    -> 1
dqcot125 comparetotal   0.8E+1 7      -> 1
dqcot126 comparetotal   80E-1  7      -> 1
dqcot127 comparetotal   8.0    7E+0   -> 1
dqcot128 comparetotal   8.0    70E-1  -> 1
dqcot129 comparetotal   8      0.7E+1  -> 1
dqcot130 comparetotal   8      70E-1  -> 1
dqcot140 comparetotal   8.0    9.0    -> -1
dqcot141 comparetotal   8.0    9      -> -1
dqcot142 comparetotal   8      9.0    -> -1
dqcot143 comparetotal   8E+0   9.0    -> -1
dqcot144 comparetotal   80E-1  9.0    -> -1
dqcot145 comparetotal   0.8E+1 9      -> -1
dqcot146 comparetotal   80E-1  9      -> -1
dqcot147 comparetotal   8.0    9E+0   -> -1
dqcot148 comparetotal   8.0    90E-1  -> -1
dqcot149 comparetotal   8      0.9E+1 -> -1
dqcot150 comparetotal   8      90E-1  -> -1
-- and again, with sign changes -+ ..
dqcot200 comparetotal  -7.0    7.0    -> -1
dqcot201 comparetotal  -7.0    7      -> -1
dqcot202 comparetotal  -7      7.0    -> -1
dqcot203 comparetotal  -7E+0   7.0    -> -1
dqcot204 comparetotal  -70E-1  7.0    -> -1
dqcot205 comparetotal  -0.7E+1 7      -> -1
dqcot206 comparetotal  -70E-1  7      -> -1
dqcot207 comparetotal  -7.0    7E+0   -> -1
dqcot208 comparetotal  -7.0    70E-1  -> -1
dqcot209 comparetotal  -7      0.7E+1 -> -1
dqcot210 comparetotal  -7      70E-1  -> -1
dqcot220 comparetotal  -8.0    7.0    -> -1
dqcot221 comparetotal  -8.0    7      -> -1
dqcot222 comparetotal  -8      7.0    -> -1
dqcot223 comparetotal  -8E+0   7.0    -> -1
dqcot224 comparetotal  -80E-1  7.0    -> -1
dqcot225 comparetotal  -0.8E+1 7      -> -1
dqcot226 comparetotal  -80E-1  7      -> -1
dqcot227 comparetotal  -8.0    7E+0   -> -1
dqcot228 comparetotal  -8.0    70E-1  -> -1
dqcot229 comparetotal  -8      0.7E+1 -> -1
dqcot230 comparetotal  -8      70E-1  -> -1
dqcot240 comparetotal  -8.0    9.0    -> -1
dqcot241 comparetotal  -8.0    9      -> -1
dqcot242 comparetotal  -8      9.0    -> -1
dqcot243 comparetotal  -8E+0   9.0    -> -1
dqcot244 comparetotal  -80E-1  9.0    -> -1
dqcot245 comparetotal  -0.8E+1 9      -> -1
dqcot246 comparetotal  -80E-1  9      -> -1
dqcot247 comparetotal  -8.0    9E+0   -> -1
dqcot248 comparetotal  -8.0    90E-1  -> -1
dqcot249 comparetotal  -8      0.9E+1 -> -1
dqcot250 comparetotal  -8      90E-1  -> -1
-- and again, with sign changes +- ..
dqcot300 comparetotal   7.0    -7.0    -> 1
dqcot301 comparetotal   7.0    -7      -> 1
dqcot302 comparetotal   7      -7.0    -> 1
dqcot303 comparetotal   7E+0   -7.0    -> 1
dqcot304 comparetotal   70E-1  -7.0    -> 1
dqcot305 comparetotal   .7E+1  -7      -> 1
dqcot306 comparetotal   70E-1  -7      -> 1
dqcot307 comparetotal   7.0    -7E+0   -> 1
dqcot308 comparetotal   7.0    -70E-1  -> 1
dqcot309 comparetotal   7      -.7E+1  -> 1
dqcot310 comparetotal   7      -70E-1  -> 1
dqcot320 comparetotal   8.0    -7.0    -> 1
dqcot321 comparetotal   8.0    -7      -> 1
dqcot322 comparetotal   8      -7.0    -> 1
dqcot323 comparetotal   8E+0   -7.0    -> 1
dqcot324 comparetotal   80E-1  -7.0    -> 1
dqcot325 comparetotal   .8E+1  -7      -> 1
dqcot326 comparetotal   80E-1  -7      -> 1
dqcot327 comparetotal   8.0    -7E+0   -> 1
dqcot328 comparetotal   8.0    -70E-1  -> 1
dqcot329 comparetotal   8      -.7E+1  -> 1
dqcot330 comparetotal   8      -70E-1  -> 1
dqcot340 comparetotal   8.0    -9.0    -> 1
dqcot341 comparetotal   8.0    -9      -> 1
dqcot342 comparetotal   8      -9.0    -> 1
dqcot343 comparetotal   8E+0   -9.0    -> 1
dqcot344 comparetotal   80E-1  -9.0    -> 1
dqcot345 comparetotal   .8E+1  -9      -> 1
dqcot346 comparetotal   80E-1  -9      -> 1
dqcot347 comparetotal   8.0    -9E+0   -> 1
dqcot348 comparetotal   8.0    -90E-1  -> 1
dqcot349 comparetotal   8      -.9E+1  -> 1
dqcot350 comparetotal   8      -90E-1  -> 1
-- and again, with sign changes -- ..
dqcot400 comparetotal   -7.0    -7.0    -> 0
dqcot401 comparetotal   -7.0    -7      -> 1
dqcot402 comparetotal   -7      -7.0    -> -1
dqcot403 comparetotal   -7E+0   -7.0    -> -1
dqcot404 comparetotal   -70E-1  -7.0    -> 0
dqcot405 comparetotal   -.7E+1  -7      -> 0
dqcot406 comparetotal   -70E-1  -7      -> 1
dqcot407 comparetotal   -7.0    -7E+0   -> 1
dqcot408 comparetotal   -7.0    -70E-1  -> 0
dqcot409 comparetotal   -7      -.7E+1  -> 0
dqcot410 comparetotal   -7      -70E-1  -> -1
dqcot420 comparetotal   -8.0    -7.0    -> -1
dqcot421 comparetotal   -8.0    -7      -> -1
dqcot422 comparetotal   -8      -7.0    -> -1
dqcot423 comparetotal   -8E+0   -7.0    -> -1
dqcot424 comparetotal   -80E-1  -7.0    -> -1
dqcot425 comparetotal   -.8E+1  -7      -> -1
dqcot426 comparetotal   -80E-1  -7      -> -1
dqcot427 comparetotal   -8.0    -7E+0   -> -1
dqcot428 comparetotal   -8.0    -70E-1  -> -1
dqcot429 comparetotal   -8      -.7E+1  -> -1
dqcot430 comparetotal   -8      -70E-1  -> -1
dqcot440 comparetotal   -8.0    -9.0    -> 1
dqcot441 comparetotal   -8.0    -9      -> 1
dqcot442 comparetotal   -8      -9.0    -> 1
dqcot443 comparetotal   -8E+0   -9.0    -> 1
dqcot444 comparetotal   -80E-1  -9.0    -> 1
dqcot445 comparetotal   -.8E+1  -9      -> 1
dqcot446 comparetotal   -80E-1  -9      -> 1
dqcot447 comparetotal   -8.0    -9E+0   -> 1
dqcot448 comparetotal   -8.0    -90E-1  -> 1
dqcot449 comparetotal   -8      -.9E+1  -> 1
dqcot450 comparetotal   -8      -90E-1  -> 1
-- testcases that subtract to lots of zeros at boundaries [pgr]
dqcot473 comparetotal 123.4560000000000E-89 123.456E-89 -> -1
dqcot474 comparetotal 123.456000000000E+89 123.456E+89 -> -1
dqcot475 comparetotal 123.45600000000E-89 123.456E-89 -> -1
dqcot476 comparetotal 123.4560000000E+89 123.456E+89 -> -1
dqcot477 comparetotal 123.456000000E-89 123.456E-89 -> -1
dqcot478 comparetotal 123.45600000E+89 123.456E+89 -> -1
dqcot479 comparetotal 123.4560000E-89 123.456E-89 -> -1
dqcot480 comparetotal 123.456000E+89 123.456E+89 -> -1
dqcot481 comparetotal 123.45600E-89 123.456E-89 -> -1
dqcot482 comparetotal 123.4560E+89 123.456E+89 -> -1
dqcot483 comparetotal 123.456E-89 123.456E-89 -> 0
dqcot487 comparetotal 123.456E+89 123.4560000000000E+89 -> 1
dqcot488 comparetotal 123.456E-89 123.456000000000E-89 -> 1
dqcot489 comparetotal 123.456E+89 123.45600000000E+89 -> 1
dqcot490 comparetotal 123.456E-89 123.4560000000E-89 -> 1
dqcot491 comparetotal 123.456E+89 123.456000000E+89 -> 1
dqcot492 comparetotal 123.456E-89 123.45600000E-89 -> 1
dqcot493 comparetotal 123.456E+89 123.4560000E+89 -> 1
dqcot494 comparetotal 123.456E-89 123.456000E-89 -> 1
dqcot495 comparetotal 123.456E+89 123.45600E+89 -> 1
dqcot496 comparetotal 123.456E-89 123.4560E-89 -> 1
dqcot497 comparetotal 123.456E+89 123.456E+89 -> 0
-- wide-ranging, around precision; signs equal
dqcot498 comparetotal    1     1E-17    -> 1
dqcot499 comparetotal    1     1E-16    -> 1
dqcot500 comparetotal    1     1E-15    -> 1
dqcot501 comparetotal    1     1E-14    -> 1
dqcot502 comparetotal    1     1E-13    -> 1
dqcot503 comparetotal    1     1E-12    -> 1
dqcot504 comparetotal    1     1E-11    -> 1
dqcot505 comparetotal    1     1E-10    -> 1
dqcot506 comparetotal    1     1E-9     -> 1
dqcot507 comparetotal    1     1E-8     -> 1
dqcot508 comparetotal    1     1E-7     -> 1
dqcot509 comparetotal    1     1E-6     -> 1
dqcot510 comparetotal    1     1E-5     -> 1
dqcot511 comparetotal    1     1E-4     -> 1
dqcot512 comparetotal    1     1E-3     -> 1
dqcot513 comparetotal    1     1E-2     -> 1
dqcot514 comparetotal    1     1E-1     -> 1
dqcot515 comparetotal    1     1E-0     -> 0
dqcot516 comparetotal    1     1E+1     -> -1
dqcot517 comparetotal    1     1E+2     -> -1
dqcot518 comparetotal    1     1E+3     -> -1
dqcot519 comparetotal    1     1E+4     -> -1
dqcot521 comparetotal    1     1E+5     -> -1
dqcot522 comparetotal    1     1E+6     -> -1
dqcot523 comparetotal    1     1E+7     -> -1
dqcot524 comparetotal    1     1E+8     -> -1
dqcot525 comparetotal    1     1E+9     -> -1
dqcot526 comparetotal    1     1E+10    -> -1
dqcot527 comparetotal    1     1E+11    -> -1
dqcot528 comparetotal    1     1E+12    -> -1
dqcot529 comparetotal    1     1E+13    -> -1
dqcot530 comparetotal    1     1E+14    -> -1
dqcot531 comparetotal    1     1E+15    -> -1
dqcot532 comparetotal    1     1E+16    -> -1
dqcot533 comparetotal    1     1E+17    -> -1
-- LR swap
dqcot538 comparetotal    1E-17  1       -> -1
dqcot539 comparetotal    1E-16  1       -> -1
dqcot540 comparetotal    1E-15  1       -> -1
dqcot541 comparetotal    1E-14  1       -> -1
dqcot542 comparetotal    1E-13  1       -> -1
dqcot543 comparetotal    1E-12  1       -> -1
dqcot544 comparetotal    1E-11  1       -> -1
dqcot545 comparetotal    1E-10  1       -> -1
dqcot546 comparetotal    1E-9   1       -> -1
dqcot547 comparetotal    1E-8   1       -> -1
dqcot548 comparetotal    1E-7   1       -> -1
dqcot549 comparetotal    1E-6   1       -> -1
dqcot550 comparetotal    1E-5   1       -> -1
dqcot551 comparetotal    1E-4   1       -> -1
dqcot552 comparetotal    1E-3   1       -> -1
dqcot553 comparetotal    1E-2   1       -> -1
dqcot554 comparetotal    1E-1   1       -> -1
dqcot555 comparetotal    1E-0   1       ->  0
dqcot556 comparetotal    1E+1   1       ->  1
dqcot557 comparetotal    1E+2   1       ->  1
dqcot558 comparetotal    1E+3   1       ->  1
dqcot559 comparetotal    1E+4   1       ->  1
dqcot561 comparetotal    1E+5   1       ->  1
dqcot562 comparetotal    1E+6   1       ->  1
dqcot563 comparetotal    1E+7   1       ->  1
dqcot564 comparetotal    1E+8   1       ->  1
dqcot565 comparetotal    1E+9   1       ->  1
dqcot566 comparetotal    1E+10  1       ->  1
dqcot567 comparetotal    1E+11  1       ->  1
dqcot568 comparetotal    1E+12  1       ->  1
dqcot569 comparetotal    1E+13  1       ->  1
dqcot570 comparetotal    1E+14  1       ->  1
dqcot571 comparetotal    1E+15  1       ->  1
dqcot572 comparetotal    1E+16  1       ->  1
dqcot573 comparetotal    1E+17  1       ->  1
-- similar with a useful coefficient, one side only
dqcot578 comparetotal  0.000000987654321     1E-17    -> 1
dqcot579 comparetotal  0.000000987654321     1E-16    -> 1
dqcot580 comparetotal  0.000000987654321     1E-15    -> 1
dqcot581 comparetotal  0.000000987654321     1E-14    -> 1
dqcot582 comparetotal  0.000000987654321     1E-13    -> 1
dqcot583 comparetotal  0.000000987654321     1E-12    -> 1
dqcot584 comparetotal  0.000000987654321     1E-11    -> 1
dqcot585 comparetotal  0.000000987654321     1E-10    -> 1
dqcot586 comparetotal  0.000000987654321     1E-9     -> 1
dqcot587 comparetotal  0.000000987654321     1E-8     -> 1
dqcot588 comparetotal  0.000000987654321     1E-7     -> 1
dqcot589 comparetotal  0.000000987654321     1E-6     -> -1
dqcot590 comparetotal  0.000000987654321     1E-5     -> -1
dqcot591 comparetotal  0.000000987654321     1E-4     -> -1
dqcot592 comparetotal  0.000000987654321     1E-3     -> -1
dqcot593 comparetotal  0.000000987654321     1E-2     -> -1
dqcot594 comparetotal  0.000000987654321     1E-1     -> -1
dqcot595 comparetotal  0.000000987654321     1E-0     -> -1
dqcot596 comparetotal  0.000000987654321     1E+1     -> -1
dqcot597 comparetotal  0.000000987654321     1E+2     -> -1
dqcot598 comparetotal  0.000000987654321     1E+3     -> -1
dqcot599 comparetotal  0.000000987654321     1E+4     -> -1
-- check some unit-y traps
dqcot600 comparetotal   12            12.2345 -> -1
dqcot601 comparetotal   12.0          12.2345 -> -1
dqcot602 comparetotal   12.00         12.2345 -> -1
dqcot603 comparetotal   12.000        12.2345 -> -1
dqcot604 comparetotal   12.0000       12.2345 -> -1
dqcot605 comparetotal   12.00000      12.2345 -> -1
dqcot606 comparetotal   12.000000     12.2345 -> -1
dqcot607 comparetotal   12.0000000    12.2345 -> -1
dqcot608 comparetotal   12.00000000   12.2345 -> -1
dqcot609 comparetotal   12.000000000  12.2345 -> -1
dqcot610 comparetotal   12.1234 12            ->  1
dqcot611 comparetotal   12.1234 12.0          ->  1
dqcot612 comparetotal   12.1234 12.00         ->  1
dqcot613 comparetotal   12.1234 12.000        ->  1
dqcot614 comparetotal   12.1234 12.0000       ->  1
dqcot615 comparetotal   12.1234 12.00000      ->  1
dqcot616 comparetotal   12.1234 12.000000     ->  1
dqcot617 comparetotal   12.1234 12.0000000    ->  1
dqcot618 comparetotal   12.1234 12.00000000   ->  1
dqcot619 comparetotal   12.1234 12.000000000  ->  1
dqcot620 comparetotal  -12           -12.2345 ->  1
dqcot621 comparetotal  -12.0         -12.2345 ->  1
dqcot622 comparetotal  -12.00        -12.2345 ->  1
dqcot623 comparetotal  -12.000       -12.2345 ->  1
dqcot624 comparetotal  -12.0000      -12.2345 ->  1
dqcot625 comparetotal  -12.00000     -12.2345 ->  1
dqcot626 comparetotal  -12.000000    -12.2345 ->  1
dqcot627 comparetotal  -12.0000000   -12.2345 ->  1
dqcot628 comparetotal  -12.00000000  -12.2345 ->  1
dqcot629 comparetotal  -12.000000000 -12.2345 ->  1
dqcot630 comparetotal  -12.1234 -12           -> -1
dqcot631 comparetotal  -12.1234 -12.0         -> -1
dqcot632 comparetotal  -12.1234 -12.00        -> -1
dqcot633 comparetotal  -12.1234 -12.000       -> -1
dqcot634 comparetotal  -12.1234 -12.0000      -> -1
dqcot635 comparetotal  -12.1234 -12.00000     -> -1
dqcot636 comparetotal  -12.1234 -12.000000    -> -1
dqcot637 comparetotal  -12.1234 -12.0000000   -> -1
dqcot638 comparetotal  -12.1234 -12.00000000  -> -1
dqcot639 comparetotal  -12.1234 -12.000000000 -> -1
-- extended zeros
dqcot640 comparetotal   0     0   -> 0
dqcot641 comparetotal   0    -0   -> 1
dqcot642 comparetotal   0    -0.0 -> 1
dqcot643 comparetotal   0     0.0 -> 1
dqcot644 comparetotal  -0     0   -> -1
dqcot645 comparetotal  -0    -0   -> 0
dqcot646 comparetotal  -0    -0.0 -> -1
dqcot647 comparetotal  -0     0.0 -> -1
dqcot648 comparetotal   0.0   0   -> -1
dqcot649 comparetotal   0.0  -0   -> 1
dqcot650 comparetotal   0.0  -0.0 -> 1
dqcot651 comparetotal   0.0   0.0 -> 0
dqcot652 comparetotal  -0.0   0   -> -1
dqcot653 comparetotal  -0.0  -0   -> 1
dqcot654 comparetotal  -0.0  -0.0 -> 0
dqcot655 comparetotal  -0.0   0.0 -> -1
dqcot656 comparetotal  -0E1   0.0 -> -1
dqcot657 comparetotal  -0E2   0.0 -> -1
dqcot658 comparetotal   0E1   0.0 -> 1
dqcot659 comparetotal   0E2   0.0 -> 1
dqcot660 comparetotal  -0E1   0   -> -1
dqcot661 comparetotal  -0E2   0   -> -1
dqcot662 comparetotal   0E1   0   -> 1
dqcot663 comparetotal   0E2   0   -> 1
dqcot664 comparetotal  -0E1  -0E1 -> 0
dqcot665 comparetotal  -0E2  -0E1 -> -1
dqcot666 comparetotal   0E1  -0E1 -> 1
dqcot667 comparetotal   0E2  -0E1 -> 1
dqcot668 comparetotal  -0E1  -0E2 -> 1
dqcot669 comparetotal  -0E2  -0E2 -> 0
dqcot670 comparetotal   0E1  -0E2 -> 1
dqcot671 comparetotal   0E2  -0E2 -> 1
dqcot672 comparetotal  -0E1   0E1 -> -1
dqcot673 comparetotal  -0E2   0E1 -> -1
dqcot674 comparetotal   0E1   0E1 -> 0
dqcot675 comparetotal   0E2   0E1 -> 1
dqcot676 comparetotal  -0E1   0E2 -> -1
dqcot677 comparetotal  -0E2   0E2 -> -1
dqcot678 comparetotal   0E1   0E2 -> -1
dqcot679 comparetotal   0E2   0E2 -> 0
-- trailing zeros; unit-y
dqcot680 comparetotal   12    12           -> 0
dqcot681 comparetotal   12    12.0         -> 1
dqcot682 comparetotal   12    12.00        -> 1
dqcot683 comparetotal   12    12.000       -> 1
dqcot684 comparetotal   12    12.0000      -> 1
dqcot685 comparetotal   12    12.00000     -> 1
dqcot686 comparetotal   12    12.000000    -> 1
dqcot687 comparetotal   12    12.0000000   -> 1
dqcot688 comparetotal   12    12.00000000  -> 1
dqcot689 comparetotal   12    12.000000000 -> 1
dqcot690 comparetotal   12              12 -> 0
dqcot691 comparetotal   12.0            12 -> -1
dqcot692 comparetotal   12.00           12 -> -1
dqcot693 comparetotal   12.000          12 -> -1
dqcot694 comparetotal   12.0000         12 -> -1
dqcot695 comparetotal   12.00000        12 -> -1
dqcot696 comparetotal   12.000000       12 -> -1
dqcot697 comparetotal   12.0000000      12 -> -1
dqcot698 comparetotal   12.00000000     12 -> -1
dqcot699 comparetotal   12.000000000    12 -> -1
-- old long operand checks
dqcot701 comparetotal 12345678000  1 ->  1
dqcot702 comparetotal 1 12345678000  -> -1
dqcot703 comparetotal 1234567800   1 ->  1
dqcot704 comparetotal 1 1234567800   -> -1
dqcot705 comparetotal 1234567890   1 ->  1
dqcot706 comparetotal 1 1234567890   -> -1
dqcot707 comparetotal 1234567891   1 ->  1
dqcot708 comparetotal 1 1234567891   -> -1
dqcot709 comparetotal 12345678901  1 ->  1
dqcot710 comparetotal 1 12345678901  -> -1
dqcot711 comparetotal 1234567896   1 ->  1
dqcot712 comparetotal 1 1234567896   -> -1
dqcot713 comparetotal -1234567891  1 -> -1
dqcot714 comparetotal 1 -1234567891  ->  1
dqcot715 comparetotal -12345678901 1 -> -1
dqcot716 comparetotal 1 -12345678901 ->  1
dqcot717 comparetotal -1234567896  1 -> -1
dqcot718 comparetotal 1 -1234567896  ->  1
-- old residue cases
dqcot740 comparetotal  1  0.9999999  -> 1
dqcot741 comparetotal  1  0.999999   -> 1
dqcot742 comparetotal  1  0.99999    -> 1
dqcot743 comparetotal  1  1.0000     -> 1
dqcot744 comparetotal  1  1.00001    -> -1
dqcot745 comparetotal  1  1.000001   -> -1
dqcot746 comparetotal  1  1.0000001  -> -1
dqcot750 comparetotal  0.9999999  1  -> -1
dqcot751 comparetotal  0.999999   1  -> -1
dqcot752 comparetotal  0.99999    1  -> -1
dqcot753 comparetotal  1.0000     1  -> -1
dqcot754 comparetotal  1.00001    1  -> 1
dqcot755 comparetotal  1.000001   1  -> 1
dqcot756 comparetotal  1.0000001  1  -> 1
-- Specials
dqcot780 comparetotal  Inf  -Inf   ->  1
dqcot781 comparetotal  Inf  -1000  ->  1
dqcot782 comparetotal  Inf  -1     ->  1
dqcot783 comparetotal  Inf  -0     ->  1
dqcot784 comparetotal  Inf   0     ->  1
dqcot785 comparetotal  Inf   1     ->  1
dqcot786 comparetotal  Inf   1000  ->  1
dqcot787 comparetotal  Inf   Inf   ->  0
dqcot788 comparetotal -1000  Inf   -> -1
dqcot789 comparetotal -Inf   Inf   -> -1
dqcot790 comparetotal -1     Inf   -> -1
dqcot791 comparetotal -0     Inf   -> -1
dqcot792 comparetotal  0     Inf   -> -1
dqcot793 comparetotal  1     Inf   -> -1
dqcot794 comparetotal  1000  Inf   -> -1
dqcot795 comparetotal  Inf   Inf   ->  0
dqcot800 comparetotal -Inf  -Inf   ->  0
dqcot801 comparetotal -Inf  -1000  -> -1
dqcot802 comparetotal -Inf  -1     -> -1
dqcot803 comparetotal -Inf  -0     -> -1
dqcot804 comparetotal -Inf   0     -> -1
dqcot805 comparetotal -Inf   1     -> -1
dqcot806 comparetotal -Inf   1000  -> -1
dqcot807 comparetotal -Inf   Inf   -> -1
dqcot808 comparetotal -Inf  -Inf   ->  0
dqcot809 comparetotal -1000 -Inf   ->  1
dqcot810 comparetotal -1    -Inf   ->  1
dqcot811 comparetotal -0    -Inf   ->  1
dqcot812 comparetotal  0    -Inf   ->  1
dqcot813 comparetotal  1    -Inf   ->  1
dqcot814 comparetotal  1000 -Inf   ->  1
dqcot815 comparetotal  Inf  -Inf   ->  1
dqcot821 comparetotal  NaN -Inf    ->  1
dqcot822 comparetotal  NaN -1000   ->  1
dqcot823 comparetotal  NaN -1      ->  1
dqcot824 comparetotal  NaN -0      ->  1
dqcot825 comparetotal  NaN  0      ->  1
dqcot826 comparetotal  NaN  1      ->  1
dqcot827 comparetotal  NaN  1000   ->  1
dqcot828 comparetotal  NaN  Inf    ->  1
dqcot829 comparetotal  NaN  NaN    ->  0
dqcot830 comparetotal -Inf  NaN    ->  -1
dqcot831 comparetotal -1000 NaN    ->  -1
dqcot832 comparetotal -1    NaN    ->  -1
dqcot833 comparetotal -0    NaN    ->  -1
dqcot834 comparetotal  0    NaN    ->  -1
dqcot835 comparetotal  1    NaN    ->  -1
dqcot836 comparetotal  1000 NaN    ->  -1
dqcot837 comparetotal  Inf  NaN    ->  -1
dqcot838 comparetotal -NaN -NaN    ->  0
dqcot839 comparetotal +NaN -NaN    ->  1
dqcot840 comparetotal -NaN +NaN    ->  -1
dqcot841 comparetotal  sNaN -sNaN  ->  1
dqcot842 comparetotal  sNaN -NaN   ->  1
dqcot843 comparetotal  sNaN -Inf   ->  1
dqcot844 comparetotal  sNaN -1000  ->  1
dqcot845 comparetotal  sNaN -1     ->  1
dqcot846 comparetotal  sNaN -0     ->  1
dqcot847 comparetotal  sNaN  0     ->  1
dqcot848 comparetotal  sNaN  1     ->  1
dqcot849 comparetotal  sNaN  1000  ->  1
dqcot850 comparetotal  sNaN  NaN   ->  -1
dqcot851 comparetotal  sNaN sNaN   ->  0
dqcot852 comparetotal -sNaN sNaN   ->  -1
dqcot853 comparetotal -NaN  sNaN   ->  -1
dqcot854 comparetotal -Inf  sNaN   ->  -1
dqcot855 comparetotal -1000 sNaN   ->  -1
dqcot856 comparetotal -1    sNaN   ->  -1
dqcot857 comparetotal -0    sNaN   ->  -1
dqcot858 comparetotal  0    sNaN   ->  -1
dqcot859 comparetotal  1    sNaN   ->  -1
dqcot860 comparetotal  1000 sNaN   ->  -1
dqcot861 comparetotal  Inf  sNaN   ->  -1
dqcot862 comparetotal  NaN  sNaN   ->  1
dqcot863 comparetotal  sNaN sNaN   ->  0
dqcot871 comparetotal  -sNaN -sNaN  ->  0
dqcot872 comparetotal  -sNaN -NaN   ->  1
dqcot873 comparetotal  -sNaN -Inf   ->  -1
dqcot874 comparetotal  -sNaN -1000  ->  -1
dqcot875 comparetotal  -sNaN -1     ->  -1
dqcot876 comparetotal  -sNaN -0     ->  -1
dqcot877 comparetotal  -sNaN  0     ->  -1
dqcot878 comparetotal  -sNaN  1     ->  -1
dqcot879 comparetotal  -sNaN  1000  ->  -1
dqcot880 comparetotal  -sNaN  NaN   ->  -1
dqcot881 comparetotal  -sNaN sNaN   ->  -1
dqcot882 comparetotal -sNaN -sNaN   ->  0
dqcot883 comparetotal -NaN  -sNaN   ->  -1
dqcot884 comparetotal -Inf  -sNaN   ->  1
dqcot885 comparetotal -1000 -sNaN   ->  1
dqcot886 comparetotal -1    -sNaN   ->  1
dqcot887 comparetotal -0    -sNaN   ->  1
dqcot888 comparetotal  0    -sNaN   ->  1
dqcot889 comparetotal  1    -sNaN   ->  1
dqcot890 comparetotal  1000 -sNaN   ->  1
dqcot891 comparetotal  Inf  -sNaN   ->  1
dqcot892 comparetotal  NaN  -sNaN   ->  1
dqcot893 comparetotal  sNaN -sNaN   ->  1
-- NaNs with payload
dqcot960 comparetotal  NaN9 -Inf   ->  1
dqcot961 comparetotal  NaN8  999   ->  1
dqcot962 comparetotal  NaN77 Inf   ->  1
dqcot963 comparetotal -NaN67 NaN5  ->  -1
dqcot964 comparetotal -Inf  -NaN4  ->  1
dqcot965 comparetotal -999  -NaN33 ->  1
dqcot966 comparetotal  Inf   NaN2  ->  -1
dqcot970 comparetotal -NaN41 -NaN42 -> 1
dqcot971 comparetotal +NaN41 -NaN42 -> 1
dqcot972 comparetotal -NaN41 +NaN42 -> -1
dqcot973 comparetotal +NaN41 +NaN42 -> -1
dqcot974 comparetotal -NaN42 -NaN01 -> -1
dqcot975 comparetotal +NaN42 -NaN01 ->  1
dqcot976 comparetotal -NaN42 +NaN01 -> -1
dqcot977 comparetotal +NaN42 +NaN01 ->  1
dqcot980 comparetotal -sNaN771 -sNaN772 -> 1
dqcot981 comparetotal +sNaN771 -sNaN772 -> 1
dqcot982 comparetotal -sNaN771 +sNaN772 -> -1
dqcot983 comparetotal +sNaN771 +sNaN772 -> -1
dqcot984 comparetotal -sNaN772 -sNaN771 -> -1
dqcot985 comparetotal +sNaN772 -sNaN771 ->  1
dqcot986 comparetotal -sNaN772 +sNaN771 -> -1
dqcot987 comparetotal +sNaN772 +sNaN771 ->  1
dqcot991 comparetotal -sNaN99 -Inf    -> -1
dqcot992 comparetotal  sNaN98 -11     ->  1
dqcot993 comparetotal  sNaN97  NaN    -> -1
dqcot994 comparetotal  sNaN16 sNaN94  -> -1
dqcot995 comparetotal  NaN85  sNaN83  ->  1
dqcot996 comparetotal -Inf    sNaN92  -> -1
dqcot997 comparetotal  088    sNaN81  -> -1
dqcot998 comparetotal  Inf    sNaN90  -> -1
dqcot999 comparetotal  NaN   -sNaN89  ->  1
-- spread zeros
dqcot1110 comparetotal   0E-6143  0       -> -1
dqcot1111 comparetotal   0E-6143 -0       ->  1
dqcot1112 comparetotal  -0E-6143  0       -> -1
dqcot1113 comparetotal  -0E-6143 -0       ->  1
dqcot1114 comparetotal   0E-6143  0E+6144  -> -1
dqcot1115 comparetotal   0E-6143 -0E+6144  ->  1
dqcot1116 comparetotal  -0E-6143  0E+6144  -> -1
dqcot1117 comparetotal  -0E-6143 -0E+6144  ->  1
dqcot1118 comparetotal   0       0E+6144  -> -1
dqcot1119 comparetotal   0      -0E+6144  ->  1
dqcot1120 comparetotal  -0       0E+6144  -> -1
dqcot1121 comparetotal  -0      -0E+6144  ->  1
dqcot1130 comparetotal   0E+6144  0       ->  1
dqcot1131 comparetotal   0E+6144 -0       ->  1
dqcot1132 comparetotal  -0E+6144  0       -> -1
dqcot1133 comparetotal  -0E+6144 -0       -> -1
dqcot1134 comparetotal   0E+6144  0E-6143  ->  1
dqcot1135 comparetotal   0E+6144 -0E-6143  ->  1
dqcot1136 comparetotal  -0E+6144  0E-6143  -> -1
dqcot1137 comparetotal  -0E+6144 -0E-6143  -> -1
dqcot1138 comparetotal   0       0E-6143  ->  1
dqcot1139 comparetotal   0      -0E-6143  ->  1
dqcot1140 comparetotal  -0       0E-6143  -> -1
dqcot1141 comparetotal  -0      -0E-6143  -> -1
-- Null tests
dqcot9990 comparetotal 10  # -> NaN Invalid_operation
dqcot9991 comparetotal  # 10 -> NaN Invalid_operation
 |