Merged revisions 58095-58132,58136-58148,58151-58197 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r58096 | brett.cannon | 2007-09-10 23:38:27 +0200 (Mon, 10 Sep 2007) | 4 lines

  Fix a possible segfault from recursing too deep to get the repr of a list.

  Closes issue #1096.
........
  r58097 | bill.janssen | 2007-09-10 23:51:02 +0200 (Mon, 10 Sep 2007) | 33 lines

  More work on SSL support.

  * Much expanded test suite:

    All protocols tested against all other protocols.
    All protocols tested with all certificate options.
    Tests for bad key and bad cert.
    Test of STARTTLS functionality.
    Test of RAND_* functions.

  * Fixes for threading/malloc bug.

  * Issue 1065 fixed:

    sslsocket class renamed to SSLSocket.
    sslerror class renamed to SSLError.
    Function "wrap_socket" now used to wrap an existing socket.

  * Issue 1583946 finally fixed:

    Support for subjectAltName added.
    Subject name now returned as proper DN list of RDNs.

  * SSLError exported from socket as "sslerror".

  * RAND_* functions properly exported from ssl.py.

  * Documentation improved:

    Example of how to create a self-signed certificate.
    Better indexing.
........
  r58098 | guido.van.rossum | 2007-09-11 00:02:25 +0200 (Tue, 11 Sep 2007) | 9 lines

  Patch # 1140 (my code, approved by Effbot).

  Make sure the type of the return value of re.sub(x, y, z) is the type
  of y+x (i.e. unicode if either is unicode, str if they are both str)
  even if there are no substitutions or if x==z (which triggered various
  special cases in join_list()).

  Could be backported to 2.5; no need to port to 3.0.
........
  r58099 | guido.van.rossum | 2007-09-11 00:36:02 +0200 (Tue, 11 Sep 2007) | 8 lines

  Patch # 1026 by Benjamin Aranguren (with Alex Martelli):
  Backport abc.py and isinstance/issubclass overloading to 2.6.

  I had to backport test_typechecks.py myself, and make one small change
  to abc.py to avoid duplicate work when x.__class__ and type(x) are the
  same.
........
  r58100 | bill.janssen | 2007-09-11 01:41:24 +0200 (Tue, 11 Sep 2007) | 3 lines

  A better way of finding an open port to test with.
........
  r58101 | bill.janssen | 2007-09-11 03:09:19 +0200 (Tue, 11 Sep 2007) | 4 lines

  Make sure test_ssl doesn't reference the ssl module in a
  context where it can't be imported.
........
  r58102 | bill.janssen | 2007-09-11 04:42:07 +0200 (Tue, 11 Sep 2007) | 3 lines

  Fix some documentation bugs.
........
  r58103 | nick.coghlan | 2007-09-11 16:01:18 +0200 (Tue, 11 Sep 2007) | 1 line

  Always use the -E flag when spawning subprocesses in test_cmd_line (Issue 1056)
........
  r58106 | thomas.heller | 2007-09-11 21:17:48 +0200 (Tue, 11 Sep 2007) | 3 lines

  Disable some tests that fail on the 'ppc Debian unstable' buildbot to
  find out if they cause the segfault on the 'alpha Debian' machine.
........
  r58108 | brett.cannon | 2007-09-11 23:02:28 +0200 (Tue, 11 Sep 2007) | 6 lines

  Generators had their throw() method allowing string exceptions.  That's a
  no-no.

  Fixes issue #1147.  Need to fix 2.5 to raise a proper warning if a string
  exception is passed in.
........
  r58112 | georg.brandl | 2007-09-12 20:03:51 +0200 (Wed, 12 Sep 2007) | 3 lines

  New documentation page for the bdb module.
  (This doesn't need to be merged to Py3k.)
........
  r58114 | georg.brandl | 2007-09-12 20:05:57 +0200 (Wed, 12 Sep 2007) | 2 lines

  Bug #1152: use non-deprecated name in example.
........
  r58115 | georg.brandl | 2007-09-12 20:08:33 +0200 (Wed, 12 Sep 2007) | 2 lines

  Fix #1122: wrong return type documented for various _Size() functions.
........
  r58117 | georg.brandl | 2007-09-12 20:10:56 +0200 (Wed, 12 Sep 2007) | 2 lines

  Fix #1139: PyFile_Encoding really is PyFile_SetEncoding.
........
  r58119 | georg.brandl | 2007-09-12 20:29:18 +0200 (Wed, 12 Sep 2007) | 2 lines

  bug #1154: release memory allocated by "es" PyArg_ParseTuple format specifier.
........
  r58121 | bill.janssen | 2007-09-12 20:52:05 +0200 (Wed, 12 Sep 2007) | 1 line

  root certificate for https://svn.python.org/, used in test_ssl
........
  r58122 | georg.brandl | 2007-09-12 21:00:07 +0200 (Wed, 12 Sep 2007) | 3 lines

  Bug #1153: repr.repr() now doesn't require set and dictionary items
  to be orderable to properly represent them.
........
  r58125 | georg.brandl | 2007-09-12 21:29:28 +0200 (Wed, 12 Sep 2007) | 4 lines

  #1120: put explicit version in the shebang lines of pydoc, idle
  and smtpd.py scripts that are installed by setup.py. That way, they
  work when only "make altinstall" is used.
........
  r58139 | mark.summerfield | 2007-09-13 16:54:30 +0200 (Thu, 13 Sep 2007) | 9 lines

  Replaced variable o with obj in operator.rst because o is easy to
  confuse.

  Added a note about Python 3's collections.Mapping etc., above section
  that describes isMappingType() etc.

  Added xrefs between os, os.path, fileinput, and open().
........
  r58143 | facundo.batista | 2007-09-13 20:13:15 +0200 (Thu, 13 Sep 2007) | 7 lines


  Merged the decimal-branch (revisions 54886 to 58140). Decimal is now
  fully updated to the latests Decimal Specification (v1.66) and the
  latests test cases (v2.56).

  Thanks to Mark Dickinson for all his help during this process.
........
  r58145 | facundo.batista | 2007-09-13 20:42:09 +0200 (Thu, 13 Sep 2007) | 7 lines


  Put the parameter watchexp back in (changed watchexp from an int
  to a bool).  Also second argument to watchexp is now converted
  to Decimal, just as with all the other two-argument operations.

  Thanks Mark Dickinson.
........
  r58147 | andrew.kuchling | 2007-09-14 00:49:34 +0200 (Fri, 14 Sep 2007) | 1 line

  Add various items
........
  r58148 | andrew.kuchling | 2007-09-14 00:50:10 +0200 (Fri, 14 Sep 2007) | 1 line

  Make target unique
........
  r58154 | facundo.batista | 2007-09-14 20:58:34 +0200 (Fri, 14 Sep 2007) | 3 lines


  Included the new functions, and new descriptions.
........
  r58155 | thomas.heller | 2007-09-14 21:40:35 +0200 (Fri, 14 Sep 2007) | 2 lines

  ctypes.util.find_library uses dump(1) instead of objdump(1) on Solaris.
  Fixes issue #1777530; will backport to release25-maint.
........
  r58159 | facundo.batista | 2007-09-14 23:29:52 +0200 (Fri, 14 Sep 2007) | 3 lines


  Some additions (examples and a bit on the tutorial).
........
  r58160 | georg.brandl | 2007-09-15 18:53:36 +0200 (Sat, 15 Sep 2007) | 2 lines

  Remove bdb from the "undocumented modules" list.
........
  r58164 | bill.janssen | 2007-09-17 00:06:00 +0200 (Mon, 17 Sep 2007) | 15 lines

  Add support for asyncore server-side SSL support.  This requires
  adding the 'makefile' method to ssl.SSLSocket, and importing the
  requisite fakefile class from socket.py, and making the appropriate
  changes to it to make it use the SSL connection.

  Added sample HTTPS server to test_ssl.py, and test that uses it.

  Change SSL tests to use https://svn.python.org/, instead of
  www.sf.net and pop.gmail.com.

  Added utility function to ssl module, get_server_certificate,
  to wrap up the several things to be done to pull a certificate
  from a remote server.
........
  r58173 | bill.janssen | 2007-09-17 01:16:46 +0200 (Mon, 17 Sep 2007) | 1 line

  use binary mode when reading files for testAsyncore to make Windows happy
........
  r58175 | raymond.hettinger | 2007-09-17 02:55:00 +0200 (Mon, 17 Sep 2007) | 7 lines

  Sync-up named tuples with the latest version of the ASPN recipe.
  Allows optional commas in the field-name spec (help when named tuples are used in conjuction with sql queries).
  Adds the __fields__ attribute for introspection and to support conversion to dictionary form.
  Adds a  __replace__() method similar to str.replace() but using a named field as a target.
  Clean-up spelling and presentation in doc-strings.
........
  r58176 | brett.cannon | 2007-09-17 05:28:34 +0200 (Mon, 17 Sep 2007) | 5 lines

  Add a bunch of GIL release/acquire points in tp_print implementations and for
  PyObject_Print().

  Closes issue #1164.
........
  r58177 | sean.reifschneider | 2007-09-17 07:45:04 +0200 (Mon, 17 Sep 2007) | 2 lines

  issue1597011: Fix for bz2 module corner-case error due to error checking bug.
........
  r58180 | facundo.batista | 2007-09-17 18:26:50 +0200 (Mon, 17 Sep 2007) | 3 lines


  Decimal is updated, :)
........
  r58181 | facundo.batista | 2007-09-17 19:30:13 +0200 (Mon, 17 Sep 2007) | 5 lines


  The methods always return Decimal classes, even if they're
  executed through a subclass (thanks Mark Dickinson).
  Added a bit of testing for this.
........
  r58183 | sean.reifschneider | 2007-09-17 22:53:21 +0200 (Mon, 17 Sep 2007) | 2 lines

  issue1082: Fixing platform and system for Vista.
........
  r58185 | andrew.kuchling | 2007-09-18 03:36:16 +0200 (Tue, 18 Sep 2007) | 1 line

  Add item; sort properly
........
  r58186 | raymond.hettinger | 2007-09-18 05:33:19 +0200 (Tue, 18 Sep 2007) | 1 line

  Handle corner cased on 0-tuples and 1-tuples.  Add verbose option so people can see how it works.
........
  r58192 | georg.brandl | 2007-09-18 09:24:40 +0200 (Tue, 18 Sep 2007) | 2 lines

  A bit of reordering, also show more subheadings in the lang ref index.
........
  r58193 | facundo.batista | 2007-09-18 18:53:18 +0200 (Tue, 18 Sep 2007) | 4 lines


  Speed up of the various division operations (remainder, divide,
  divideint and divmod). Thanks Mark Dickinson.
........
  r58197 | raymond.hettinger | 2007-09-19 00:18:02 +0200 (Wed, 19 Sep 2007) | 1 line

  Cleanup docs for NamedTuple.
........
diff --git a/Lib/test/decimaltestdata/dqCompareTotalMag.decTest b/Lib/test/decimaltestdata/dqCompareTotalMag.decTest
new file mode 100644
index 0000000..9461d6b
--- /dev/null
+++ b/Lib/test/decimaltestdata/dqCompareTotalMag.decTest
@@ -0,0 +1,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.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