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, 2007. 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.57
-- 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
|