707 lines
32 KiB
Plaintext
707 lines
32 KiB
Plaintext
------------------------------------------------------------------------
|
|
-- 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.56
|
|
|
|
-- 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
|