summaryrefslogtreecommitdiffstats
path: root/Lib/test/decimaltestdata/dqCompareTotalMag.decTest
blob: 48b3e086b1b0fbc60da591178dc5333ca60e2297 (plain)
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