| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 1 | ------------------------------------------------------------------------
 | 
 | 2 | -- ddCompareTotalMag.decTest -- decDouble comparison; abs. total order--
 | 
| Benjamin Peterson | f17ff4e | 2008-07-31 16:32:12 +0000 | [diff] [blame] | 3 | -- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --
 | 
| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 4 | ------------------------------------------------------------------------
 | 
 | 5 | -- Please see the document "General Decimal Arithmetic Testcases"     --
 | 
 | 6 | -- at http://www2.hursley.ibm.com/decimal for the description of      --
 | 
 | 7 | -- these testcases.                                                   --
 | 
 | 8 | --                                                                    --
 | 
 | 9 | -- These testcases are experimental ('beta' versions), and they       --
 | 
 | 10 | -- may contain errors.  They are offered on an as-is basis.  In       --
 | 
 | 11 | -- particular, achieving the same results as the tests here is not    --
 | 
 | 12 | -- a guarantee that an implementation complies with any Standard      --
 | 
 | 13 | -- or specification.  The tests are not exhaustive.                   --
 | 
 | 14 | --                                                                    --
 | 
 | 15 | -- Please send comments, suggestions, and corrections to the author:  --
 | 
 | 16 | --   Mike Cowlishaw, IBM Fellow                                       --
 | 
 | 17 | --   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
 | 
 | 18 | --   mfc@uk.ibm.com                                                   --
 | 
 | 19 | ------------------------------------------------------------------------
 | 
| Mark Dickinson | 8a54653 | 2009-10-08 16:30:38 +0000 | [diff] [blame] | 20 | version: 2.59
 | 
| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 21 | 
 | 
 | 22 | -- Note that we cannot assume add/subtract tests cover paths adequately,
 | 
 | 23 | -- here, because the code might be quite different (comparison cannot
 | 
 | 24 | -- overflow or underflow, so actual subtractions are not necessary).
 | 
 | 25 | -- Similarly, comparetotal will have some radically different paths
 | 
 | 26 | -- than compare.
 | 
 | 27 | 
 | 
 | 28 | -- All operands and results are decDoubles.
 | 
 | 29 | precision:   16
 | 
 | 30 | maxExponent: 384
 | 
 | 31 | minExponent: -383
 | 
 | 32 | extended:    1
 | 
 | 33 | clamp:       1
 | 
 | 34 | rounding:    half_even
 | 
 | 35 | 
 | 
 | 36 | -- sanity checks
 | 
 | 37 | ddctm001 comparetotmag  -2  -2   ->   0
 | 
 | 38 | ddctm002 comparetotmag  -2  -1   ->   1
 | 
 | 39 | ddctm003 comparetotmag  -2   0   ->   1
 | 
 | 40 | ddctm004 comparetotmag  -2   1   ->   1
 | 
 | 41 | ddctm005 comparetotmag  -2   2   ->   0
 | 
 | 42 | ddctm006 comparetotmag  -1  -2   ->  -1
 | 
 | 43 | ddctm007 comparetotmag  -1  -1   ->   0
 | 
 | 44 | ddctm008 comparetotmag  -1   0   ->   1
 | 
 | 45 | ddctm009 comparetotmag  -1   1   ->   0
 | 
 | 46 | ddctm010 comparetotmag  -1   2   ->  -1
 | 
 | 47 | ddctm011 comparetotmag   0  -2   ->  -1
 | 
 | 48 | ddctm012 comparetotmag   0  -1   ->  -1
 | 
 | 49 | ddctm013 comparetotmag   0   0   ->   0
 | 
 | 50 | ddctm014 comparetotmag   0   1   ->  -1
 | 
 | 51 | ddctm015 comparetotmag   0   2   ->  -1
 | 
 | 52 | ddctm016 comparetotmag   1  -2   ->  -1
 | 
 | 53 | ddctm017 comparetotmag   1  -1   ->   0
 | 
 | 54 | ddctm018 comparetotmag   1   0   ->   1
 | 
 | 55 | ddctm019 comparetotmag   1   1   ->   0
 | 
 | 56 | ddctm020 comparetotmag   1   2   ->  -1
 | 
 | 57 | ddctm021 comparetotmag   2  -2   ->   0
 | 
 | 58 | ddctm022 comparetotmag   2  -1   ->   1
 | 
 | 59 | ddctm023 comparetotmag   2   0   ->   1
 | 
 | 60 | ddctm025 comparetotmag   2   1   ->   1
 | 
 | 61 | ddctm026 comparetotmag   2   2   ->   0
 | 
 | 62 | 
 | 
 | 63 | ddctm031 comparetotmag  -20  -20   ->   0
 | 
 | 64 | ddctm032 comparetotmag  -20  -10   ->   1
 | 
 | 65 | ddctm033 comparetotmag  -20   00   ->   1
 | 
 | 66 | ddctm034 comparetotmag  -20   10   ->   1
 | 
 | 67 | ddctm035 comparetotmag  -20   20   ->   0
 | 
 | 68 | ddctm036 comparetotmag  -10  -20   ->  -1
 | 
 | 69 | ddctm037 comparetotmag  -10  -10   ->   0
 | 
 | 70 | ddctm038 comparetotmag  -10   00   ->   1
 | 
 | 71 | ddctm039 comparetotmag  -10   10   ->   0
 | 
 | 72 | ddctm040 comparetotmag  -10   20   ->  -1
 | 
 | 73 | ddctm041 comparetotmag   00  -20   ->  -1
 | 
 | 74 | ddctm042 comparetotmag   00  -10   ->  -1
 | 
 | 75 | ddctm043 comparetotmag   00   00   ->   0
 | 
 | 76 | ddctm044 comparetotmag   00   10   ->  -1
 | 
 | 77 | ddctm045 comparetotmag   00   20   ->  -1
 | 
 | 78 | ddctm046 comparetotmag   10  -20   ->  -1
 | 
 | 79 | ddctm047 comparetotmag   10  -10   ->   0
 | 
 | 80 | ddctm048 comparetotmag   10   00   ->   1
 | 
 | 81 | ddctm049 comparetotmag   10   10   ->   0
 | 
 | 82 | ddctm050 comparetotmag   10   20   ->  -1
 | 
 | 83 | ddctm051 comparetotmag   20  -20   ->   0
 | 
 | 84 | ddctm052 comparetotmag   20  -10   ->   1
 | 
 | 85 | ddctm053 comparetotmag   20   00   ->   1
 | 
 | 86 | ddctm055 comparetotmag   20   10   ->   1
 | 
 | 87 | ddctm056 comparetotmag   20   20   ->   0
 | 
 | 88 | 
 | 
 | 89 | ddctm061 comparetotmag  -2.0  -2.0   ->   0
 | 
 | 90 | ddctm062 comparetotmag  -2.0  -1.0   ->   1
 | 
 | 91 | ddctm063 comparetotmag  -2.0   0.0   ->   1
 | 
 | 92 | ddctm064 comparetotmag  -2.0   1.0   ->   1
 | 
 | 93 | ddctm065 comparetotmag  -2.0   2.0   ->   0
 | 
 | 94 | ddctm066 comparetotmag  -1.0  -2.0   ->  -1
 | 
 | 95 | ddctm067 comparetotmag  -1.0  -1.0   ->   0
 | 
 | 96 | ddctm068 comparetotmag  -1.0   0.0   ->   1
 | 
 | 97 | ddctm069 comparetotmag  -1.0   1.0   ->   0
 | 
 | 98 | ddctm070 comparetotmag  -1.0   2.0   ->  -1
 | 
 | 99 | ddctm071 comparetotmag   0.0  -2.0   ->  -1
 | 
 | 100 | ddctm072 comparetotmag   0.0  -1.0   ->  -1
 | 
 | 101 | ddctm073 comparetotmag   0.0   0.0   ->   0
 | 
 | 102 | ddctm074 comparetotmag   0.0   1.0   ->  -1
 | 
 | 103 | ddctm075 comparetotmag   0.0   2.0   ->  -1
 | 
 | 104 | ddctm076 comparetotmag   1.0  -2.0   ->  -1
 | 
 | 105 | ddctm077 comparetotmag   1.0  -1.0   ->   0
 | 
 | 106 | ddctm078 comparetotmag   1.0   0.0   ->   1
 | 
 | 107 | ddctm079 comparetotmag   1.0   1.0   ->   0
 | 
 | 108 | ddctm080 comparetotmag   1.0   2.0   ->  -1
 | 
 | 109 | ddctm081 comparetotmag   2.0  -2.0   ->   0
 | 
 | 110 | ddctm082 comparetotmag   2.0  -1.0   ->   1
 | 
 | 111 | ddctm083 comparetotmag   2.0   0.0   ->   1
 | 
 | 112 | ddctm085 comparetotmag   2.0   1.0   ->   1
 | 
 | 113 | ddctm086 comparetotmag   2.0   2.0   ->   0
 | 
 | 114 | 
 | 
 | 115 | -- now some cases which might overflow if subtract were used
 | 
 | 116 | ddctm090 comparetotmag  9.99999999E+384 9.99999999E+384   ->   0
 | 
 | 117 | ddctm091 comparetotmag -9.99999999E+384 9.99999999E+384   ->   0
 | 
 | 118 | ddctm092 comparetotmag  9.99999999E+384 -9.99999999E+384  ->   0
 | 
 | 119 | ddctm093 comparetotmag -9.99999999E+384 -9.99999999E+384  ->   0
 | 
 | 120 | 
 | 
 | 121 | -- some differing length/exponent cases
 | 
 | 122 | -- in this first group, compare would compare all equal
 | 
 | 123 | ddctm100 comparetotmag   7.0    7.0     ->   0
 | 
 | 124 | ddctm101 comparetotmag   7.0    7       ->  -1
 | 
 | 125 | ddctm102 comparetotmag   7      7.0     ->   1
 | 
 | 126 | ddctm103 comparetotmag   7E+0   7.0     ->   1
 | 
 | 127 | ddctm104 comparetotmag   70E-1  7.0     ->   0
 | 
 | 128 | ddctm105 comparetotmag   0.7E+1 7       ->   0
 | 
 | 129 | ddctm106 comparetotmag   70E-1  7       ->  -1
 | 
 | 130 | ddctm107 comparetotmag   7.0    7E+0    ->  -1
 | 
 | 131 | ddctm108 comparetotmag   7.0    70E-1   ->   0
 | 
 | 132 | ddctm109 comparetotmag   7      0.7E+1  ->   0
 | 
 | 133 | ddctm110 comparetotmag   7      70E-1   ->   1
 | 
 | 134 | 
 | 
 | 135 | ddctm120 comparetotmag   8.0    7.0     ->   1
 | 
 | 136 | ddctm121 comparetotmag   8.0    7       ->   1
 | 
 | 137 | ddctm122 comparetotmag   8      7.0     ->   1
 | 
 | 138 | ddctm123 comparetotmag   8E+0   7.0     ->   1
 | 
 | 139 | ddctm124 comparetotmag   80E-1  7.0     ->   1
 | 
 | 140 | ddctm125 comparetotmag   0.8E+1 7       ->   1
 | 
 | 141 | ddctm126 comparetotmag   80E-1  7       ->   1
 | 
 | 142 | ddctm127 comparetotmag   8.0    7E+0    ->   1
 | 
 | 143 | ddctm128 comparetotmag   8.0    70E-1   ->   1
 | 
 | 144 | ddctm129 comparetotmag   8      0.7E+1   ->   1
 | 
 | 145 | ddctm130 comparetotmag   8      70E-1   ->   1
 | 
 | 146 | 
 | 
 | 147 | ddctm140 comparetotmag   8.0    9.0     ->  -1
 | 
 | 148 | ddctm141 comparetotmag   8.0    9       ->  -1
 | 
 | 149 | ddctm142 comparetotmag   8      9.0     ->  -1
 | 
 | 150 | ddctm143 comparetotmag   8E+0   9.0     ->  -1
 | 
 | 151 | ddctm144 comparetotmag   80E-1  9.0     ->  -1
 | 
 | 152 | ddctm145 comparetotmag   0.8E+1 9       ->  -1
 | 
 | 153 | ddctm146 comparetotmag   80E-1  9       ->  -1
 | 
 | 154 | ddctm147 comparetotmag   8.0    9E+0    ->  -1
 | 
 | 155 | ddctm148 comparetotmag   8.0    90E-1   ->  -1
 | 
 | 156 | ddctm149 comparetotmag   8      0.9E+1  ->  -1
 | 
 | 157 | ddctm150 comparetotmag   8      90E-1   ->  -1
 | 
 | 158 | 
 | 
 | 159 | -- and again, with sign changes -+ ..
 | 
 | 160 | ddctm200 comparetotmag  -7.0    7.0     ->   0
 | 
 | 161 | ddctm201 comparetotmag  -7.0    7       ->  -1
 | 
 | 162 | ddctm202 comparetotmag  -7      7.0     ->   1
 | 
 | 163 | ddctm203 comparetotmag  -7E+0   7.0     ->   1
 | 
 | 164 | ddctm204 comparetotmag  -70E-1  7.0     ->   0
 | 
 | 165 | ddctm205 comparetotmag  -0.7E+1 7       ->   0
 | 
 | 166 | ddctm206 comparetotmag  -70E-1  7       ->  -1
 | 
 | 167 | ddctm207 comparetotmag  -7.0    7E+0    ->  -1
 | 
 | 168 | ddctm208 comparetotmag  -7.0    70E-1   ->   0
 | 
 | 169 | ddctm209 comparetotmag  -7      0.7E+1  ->   0
 | 
 | 170 | ddctm210 comparetotmag  -7      70E-1   ->   1
 | 
 | 171 | 
 | 
 | 172 | ddctm220 comparetotmag  -8.0    7.0     ->   1
 | 
 | 173 | ddctm221 comparetotmag  -8.0    7       ->   1
 | 
 | 174 | ddctm222 comparetotmag  -8      7.0     ->   1
 | 
 | 175 | ddctm223 comparetotmag  -8E+0   7.0     ->   1
 | 
 | 176 | ddctm224 comparetotmag  -80E-1  7.0     ->   1
 | 
 | 177 | ddctm225 comparetotmag  -0.8E+1 7       ->   1
 | 
 | 178 | ddctm226 comparetotmag  -80E-1  7       ->   1
 | 
 | 179 | ddctm227 comparetotmag  -8.0    7E+0    ->   1
 | 
 | 180 | ddctm228 comparetotmag  -8.0    70E-1   ->   1
 | 
 | 181 | ddctm229 comparetotmag  -8      0.7E+1  ->   1
 | 
 | 182 | ddctm230 comparetotmag  -8      70E-1   ->   1
 | 
 | 183 | 
 | 
 | 184 | ddctm240 comparetotmag  -8.0    9.0     ->  -1
 | 
 | 185 | ddctm241 comparetotmag  -8.0    9       ->  -1
 | 
 | 186 | ddctm242 comparetotmag  -8      9.0     ->  -1
 | 
 | 187 | ddctm243 comparetotmag  -8E+0   9.0     ->  -1
 | 
 | 188 | ddctm244 comparetotmag  -80E-1  9.0     ->  -1
 | 
 | 189 | ddctm245 comparetotmag  -0.8E+1 9       ->  -1
 | 
 | 190 | ddctm246 comparetotmag  -80E-1  9       ->  -1
 | 
 | 191 | ddctm247 comparetotmag  -8.0    9E+0    ->  -1
 | 
 | 192 | ddctm248 comparetotmag  -8.0    90E-1   ->  -1
 | 
 | 193 | ddctm249 comparetotmag  -8      0.9E+1  ->  -1
 | 
 | 194 | ddctm250 comparetotmag  -8      90E-1   ->  -1
 | 
 | 195 | 
 | 
 | 196 | -- and again, with sign changes +- ..
 | 
 | 197 | ddctm300 comparetotmag   7.0    -7.0     ->   0
 | 
 | 198 | ddctm301 comparetotmag   7.0    -7       ->  -1
 | 
 | 199 | ddctm302 comparetotmag   7      -7.0     ->   1
 | 
 | 200 | ddctm303 comparetotmag   7E+0   -7.0     ->   1
 | 
 | 201 | ddctm304 comparetotmag   70E-1  -7.0     ->   0
 | 
 | 202 | ddctm305 comparetotmag   .7E+1  -7       ->   0
 | 
 | 203 | ddctm306 comparetotmag   70E-1  -7       ->  -1
 | 
 | 204 | ddctm307 comparetotmag   7.0    -7E+0    ->  -1
 | 
 | 205 | ddctm308 comparetotmag   7.0    -70E-1   ->   0
 | 
 | 206 | ddctm309 comparetotmag   7      -.7E+1   ->   0
 | 
 | 207 | ddctm310 comparetotmag   7      -70E-1   ->   1
 | 
 | 208 | 
 | 
 | 209 | ddctm320 comparetotmag   8.0    -7.0     ->   1
 | 
 | 210 | ddctm321 comparetotmag   8.0    -7       ->   1
 | 
 | 211 | ddctm322 comparetotmag   8      -7.0     ->   1
 | 
 | 212 | ddctm323 comparetotmag   8E+0   -7.0     ->   1
 | 
 | 213 | ddctm324 comparetotmag   80E-1  -7.0     ->   1
 | 
 | 214 | ddctm325 comparetotmag   .8E+1  -7       ->   1
 | 
 | 215 | ddctm326 comparetotmag   80E-1  -7       ->   1
 | 
 | 216 | ddctm327 comparetotmag   8.0    -7E+0    ->   1
 | 
 | 217 | ddctm328 comparetotmag   8.0    -70E-1   ->   1
 | 
 | 218 | ddctm329 comparetotmag   8      -.7E+1   ->   1
 | 
 | 219 | ddctm330 comparetotmag   8      -70E-1   ->   1
 | 
 | 220 | 
 | 
 | 221 | ddctm340 comparetotmag   8.0    -9.0     ->  -1
 | 
 | 222 | ddctm341 comparetotmag   8.0    -9       ->  -1
 | 
 | 223 | ddctm342 comparetotmag   8      -9.0     ->  -1
 | 
 | 224 | ddctm343 comparetotmag   8E+0   -9.0     ->  -1
 | 
 | 225 | ddctm344 comparetotmag   80E-1  -9.0     ->  -1
 | 
 | 226 | ddctm345 comparetotmag   .8E+1  -9       ->  -1
 | 
 | 227 | ddctm346 comparetotmag   80E-1  -9       ->  -1
 | 
 | 228 | ddctm347 comparetotmag   8.0    -9E+0    ->  -1
 | 
 | 229 | ddctm348 comparetotmag   8.0    -90E-1   ->  -1
 | 
 | 230 | ddctm349 comparetotmag   8      -.9E+1   ->  -1
 | 
 | 231 | ddctm350 comparetotmag   8      -90E-1   ->  -1
 | 
 | 232 | 
 | 
 | 233 | -- and again, with sign changes -- ..
 | 
 | 234 | ddctm400 comparetotmag   -7.0    -7.0     ->   0
 | 
 | 235 | ddctm401 comparetotmag   -7.0    -7       ->  -1
 | 
 | 236 | ddctm402 comparetotmag   -7      -7.0     ->   1
 | 
 | 237 | ddctm403 comparetotmag   -7E+0   -7.0     ->   1
 | 
 | 238 | ddctm404 comparetotmag   -70E-1  -7.0     ->   0
 | 
 | 239 | ddctm405 comparetotmag   -.7E+1  -7       ->   0
 | 
 | 240 | ddctm406 comparetotmag   -70E-1  -7       ->  -1
 | 
 | 241 | ddctm407 comparetotmag   -7.0    -7E+0    ->  -1
 | 
 | 242 | ddctm408 comparetotmag   -7.0    -70E-1   ->   0
 | 
 | 243 | ddctm409 comparetotmag   -7      -.7E+1   ->   0
 | 
 | 244 | ddctm410 comparetotmag   -7      -70E-1   ->   1
 | 
 | 245 | 
 | 
 | 246 | ddctm420 comparetotmag   -8.0    -7.0     ->   1
 | 
 | 247 | ddctm421 comparetotmag   -8.0    -7       ->   1
 | 
 | 248 | ddctm422 comparetotmag   -8      -7.0     ->   1
 | 
 | 249 | ddctm423 comparetotmag   -8E+0   -7.0     ->   1
 | 
 | 250 | ddctm424 comparetotmag   -80E-1  -7.0     ->   1
 | 
 | 251 | ddctm425 comparetotmag   -.8E+1  -7       ->   1
 | 
 | 252 | ddctm426 comparetotmag   -80E-1  -7       ->   1
 | 
 | 253 | ddctm427 comparetotmag   -8.0    -7E+0    ->   1
 | 
 | 254 | ddctm428 comparetotmag   -8.0    -70E-1   ->   1
 | 
 | 255 | ddctm429 comparetotmag   -8      -.7E+1   ->   1
 | 
 | 256 | ddctm430 comparetotmag   -8      -70E-1   ->   1
 | 
 | 257 | 
 | 
 | 258 | ddctm440 comparetotmag   -8.0    -9.0     ->  -1
 | 
 | 259 | ddctm441 comparetotmag   -8.0    -9       ->  -1
 | 
 | 260 | ddctm442 comparetotmag   -8      -9.0     ->  -1
 | 
 | 261 | ddctm443 comparetotmag   -8E+0   -9.0     ->  -1
 | 
 | 262 | ddctm444 comparetotmag   -80E-1  -9.0     ->  -1
 | 
 | 263 | ddctm445 comparetotmag   -.8E+1  -9       ->  -1
 | 
 | 264 | ddctm446 comparetotmag   -80E-1  -9       ->  -1
 | 
 | 265 | ddctm447 comparetotmag   -8.0    -9E+0    ->  -1
 | 
 | 266 | ddctm448 comparetotmag   -8.0    -90E-1   ->  -1
 | 
 | 267 | ddctm449 comparetotmag   -8      -.9E+1   ->  -1
 | 
 | 268 | ddctm450 comparetotmag   -8      -90E-1   ->  -1
 | 
 | 269 | 
 | 
 | 270 | 
 | 
 | 271 | -- testcases that subtract to lots of zeros at boundaries [pgr]
 | 
 | 272 | ddctm473 comparetotmag 123.4560000000000E-89 123.456E-89  ->  -1
 | 
 | 273 | ddctm474 comparetotmag 123.456000000000E+89 123.456E+89  ->  -1
 | 
 | 274 | ddctm475 comparetotmag 123.45600000000E-89 123.456E-89  ->  -1
 | 
 | 275 | ddctm476 comparetotmag 123.4560000000E+89 123.456E+89  ->  -1
 | 
 | 276 | ddctm477 comparetotmag 123.456000000E-89 123.456E-89  ->  -1
 | 
 | 277 | ddctm478 comparetotmag 123.45600000E+89 123.456E+89  ->  -1
 | 
 | 278 | ddctm479 comparetotmag 123.4560000E-89 123.456E-89  ->  -1
 | 
 | 279 | ddctm480 comparetotmag 123.456000E+89 123.456E+89  ->  -1
 | 
 | 280 | ddctm481 comparetotmag 123.45600E-89 123.456E-89  ->  -1
 | 
 | 281 | ddctm482 comparetotmag 123.4560E+89 123.456E+89  ->  -1
 | 
 | 282 | ddctm483 comparetotmag 123.456E-89 123.456E-89  ->   0
 | 
 | 283 | ddctm487 comparetotmag 123.456E+89 123.4560000000000E+89  ->   1
 | 
 | 284 | ddctm488 comparetotmag 123.456E-89 123.456000000000E-89  ->   1
 | 
 | 285 | ddctm489 comparetotmag 123.456E+89 123.45600000000E+89  ->   1
 | 
 | 286 | ddctm490 comparetotmag 123.456E-89 123.4560000000E-89  ->   1
 | 
 | 287 | ddctm491 comparetotmag 123.456E+89 123.456000000E+89  ->   1
 | 
 | 288 | ddctm492 comparetotmag 123.456E-89 123.45600000E-89  ->   1
 | 
 | 289 | ddctm493 comparetotmag 123.456E+89 123.4560000E+89  ->   1
 | 
 | 290 | ddctm494 comparetotmag 123.456E-89 123.456000E-89  ->   1
 | 
 | 291 | ddctm495 comparetotmag 123.456E+89 123.45600E+89  ->   1
 | 
 | 292 | ddctm496 comparetotmag 123.456E-89 123.4560E-89  ->   1
 | 
 | 293 | ddctm497 comparetotmag 123.456E+89 123.456E+89  ->   0
 | 
 | 294 | 
 | 
 | 295 | -- wide-ranging, around precision; signs equal
 | 
 | 296 | ddctm498 comparetotmag    1     1E-17     ->   1
 | 
 | 297 | ddctm499 comparetotmag    1     1E-16     ->   1
 | 
 | 298 | ddctm500 comparetotmag    1     1E-15     ->   1
 | 
 | 299 | ddctm501 comparetotmag    1     1E-14     ->   1
 | 
 | 300 | ddctm502 comparetotmag    1     1E-13     ->   1
 | 
 | 301 | ddctm503 comparetotmag    1     1E-12     ->   1
 | 
 | 302 | ddctm504 comparetotmag    1     1E-11     ->   1
 | 
 | 303 | ddctm505 comparetotmag    1     1E-10     ->   1
 | 
 | 304 | ddctm506 comparetotmag    1     1E-9      ->   1
 | 
 | 305 | ddctm507 comparetotmag    1     1E-8      ->   1
 | 
 | 306 | ddctm508 comparetotmag    1     1E-7      ->   1
 | 
 | 307 | ddctm509 comparetotmag    1     1E-6      ->   1
 | 
 | 308 | ddctm510 comparetotmag    1     1E-5      ->   1
 | 
 | 309 | ddctm511 comparetotmag    1     1E-4      ->   1
 | 
 | 310 | ddctm512 comparetotmag    1     1E-3      ->   1
 | 
 | 311 | ddctm513 comparetotmag    1     1E-2      ->   1
 | 
 | 312 | ddctm514 comparetotmag    1     1E-1      ->   1
 | 
 | 313 | ddctm515 comparetotmag    1     1E-0      ->   0
 | 
 | 314 | ddctm516 comparetotmag    1     1E+1      ->  -1
 | 
 | 315 | ddctm517 comparetotmag    1     1E+2      ->  -1
 | 
 | 316 | ddctm518 comparetotmag    1     1E+3      ->  -1
 | 
 | 317 | ddctm519 comparetotmag    1     1E+4      ->  -1
 | 
 | 318 | ddctm521 comparetotmag    1     1E+5      ->  -1
 | 
 | 319 | ddctm522 comparetotmag    1     1E+6      ->  -1
 | 
 | 320 | ddctm523 comparetotmag    1     1E+7      ->  -1
 | 
 | 321 | ddctm524 comparetotmag    1     1E+8      ->  -1
 | 
 | 322 | ddctm525 comparetotmag    1     1E+9      ->  -1
 | 
 | 323 | ddctm526 comparetotmag    1     1E+10     ->  -1
 | 
 | 324 | ddctm527 comparetotmag    1     1E+11     ->  -1
 | 
 | 325 | ddctm528 comparetotmag    1     1E+12     ->  -1
 | 
 | 326 | ddctm529 comparetotmag    1     1E+13     ->  -1
 | 
 | 327 | ddctm530 comparetotmag    1     1E+14     ->  -1
 | 
 | 328 | ddctm531 comparetotmag    1     1E+15     ->  -1
 | 
 | 329 | ddctm532 comparetotmag    1     1E+16     ->  -1
 | 
 | 330 | ddctm533 comparetotmag    1     1E+17     ->  -1
 | 
 | 331 | -- LR swap
 | 
 | 332 | ddctm538 comparetotmag    1E-17  1        ->  -1
 | 
 | 333 | ddctm539 comparetotmag    1E-16  1        ->  -1
 | 
 | 334 | ddctm540 comparetotmag    1E-15  1        ->  -1
 | 
 | 335 | ddctm541 comparetotmag    1E-14  1        ->  -1
 | 
 | 336 | ddctm542 comparetotmag    1E-13  1        ->  -1
 | 
 | 337 | ddctm543 comparetotmag    1E-12  1        ->  -1
 | 
 | 338 | ddctm544 comparetotmag    1E-11  1        ->  -1
 | 
 | 339 | ddctm545 comparetotmag    1E-10  1        ->  -1
 | 
 | 340 | ddctm546 comparetotmag    1E-9   1        ->  -1
 | 
 | 341 | ddctm547 comparetotmag    1E-8   1        ->  -1
 | 
 | 342 | ddctm548 comparetotmag    1E-7   1        ->  -1
 | 
 | 343 | ddctm549 comparetotmag    1E-6   1        ->  -1
 | 
 | 344 | ddctm550 comparetotmag    1E-5   1        ->  -1
 | 
 | 345 | ddctm551 comparetotmag    1E-4   1        ->  -1
 | 
 | 346 | ddctm552 comparetotmag    1E-3   1        ->  -1
 | 
 | 347 | ddctm553 comparetotmag    1E-2   1        ->  -1
 | 
 | 348 | ddctm554 comparetotmag    1E-1   1        ->  -1
 | 
 | 349 | ddctm555 comparetotmag    1E-0   1        ->   0
 | 
 | 350 | ddctm556 comparetotmag    1E+1   1        ->   1
 | 
 | 351 | ddctm557 comparetotmag    1E+2   1        ->   1
 | 
 | 352 | ddctm558 comparetotmag    1E+3   1        ->   1
 | 
 | 353 | ddctm559 comparetotmag    1E+4   1        ->   1
 | 
 | 354 | ddctm561 comparetotmag    1E+5   1        ->   1
 | 
 | 355 | ddctm562 comparetotmag    1E+6   1        ->   1
 | 
 | 356 | ddctm563 comparetotmag    1E+7   1        ->   1
 | 
 | 357 | ddctm564 comparetotmag    1E+8   1        ->   1
 | 
 | 358 | ddctm565 comparetotmag    1E+9   1        ->   1
 | 
 | 359 | ddctm566 comparetotmag    1E+10  1        ->   1
 | 
 | 360 | ddctm567 comparetotmag    1E+11  1        ->   1
 | 
 | 361 | ddctm568 comparetotmag    1E+12  1        ->   1
 | 
 | 362 | ddctm569 comparetotmag    1E+13  1        ->   1
 | 
 | 363 | ddctm570 comparetotmag    1E+14  1        ->   1
 | 
 | 364 | ddctm571 comparetotmag    1E+15  1        ->   1
 | 
 | 365 | ddctm572 comparetotmag    1E+16  1        ->   1
 | 
 | 366 | ddctm573 comparetotmag    1E+17  1        ->   1
 | 
 | 367 | -- similar with a useful coefficient, one side only
 | 
 | 368 | ddctm578 comparetotmag  0.000000987654321     1E-17     ->   1
 | 
 | 369 | ddctm579 comparetotmag  0.000000987654321     1E-16     ->   1
 | 
 | 370 | ddctm580 comparetotmag  0.000000987654321     1E-15     ->   1
 | 
 | 371 | ddctm581 comparetotmag  0.000000987654321     1E-14     ->   1
 | 
 | 372 | ddctm582 comparetotmag  0.000000987654321     1E-13     ->   1
 | 
 | 373 | ddctm583 comparetotmag  0.000000987654321     1E-12     ->   1
 | 
 | 374 | ddctm584 comparetotmag  0.000000987654321     1E-11     ->   1
 | 
 | 375 | ddctm585 comparetotmag  0.000000987654321     1E-10     ->   1
 | 
 | 376 | ddctm586 comparetotmag  0.000000987654321     1E-9      ->   1
 | 
 | 377 | ddctm587 comparetotmag  0.000000987654321     1E-8      ->   1
 | 
 | 378 | ddctm588 comparetotmag  0.000000987654321     1E-7      ->   1
 | 
 | 379 | ddctm589 comparetotmag  0.000000987654321     1E-6      ->  -1
 | 
 | 380 | ddctm590 comparetotmag  0.000000987654321     1E-5      ->  -1
 | 
 | 381 | ddctm591 comparetotmag  0.000000987654321     1E-4      ->  -1
 | 
 | 382 | ddctm592 comparetotmag  0.000000987654321     1E-3      ->  -1
 | 
 | 383 | ddctm593 comparetotmag  0.000000987654321     1E-2      ->  -1
 | 
 | 384 | ddctm594 comparetotmag  0.000000987654321     1E-1      ->  -1
 | 
 | 385 | ddctm595 comparetotmag  0.000000987654321     1E-0      ->  -1
 | 
 | 386 | ddctm596 comparetotmag  0.000000987654321     1E+1      ->  -1
 | 
 | 387 | ddctm597 comparetotmag  0.000000987654321     1E+2      ->  -1
 | 
 | 388 | ddctm598 comparetotmag  0.000000987654321     1E+3      ->  -1
 | 
 | 389 | ddctm599 comparetotmag  0.000000987654321     1E+4      ->  -1
 | 
 | 390 | 
 | 
 | 391 | -- check some unit-y traps
 | 
 | 392 | ddctm600 comparetotmag   12            12.2345  ->  -1
 | 
 | 393 | ddctm601 comparetotmag   12.0          12.2345  ->  -1
 | 
 | 394 | ddctm602 comparetotmag   12.00         12.2345  ->  -1
 | 
 | 395 | ddctm603 comparetotmag   12.000        12.2345  ->  -1
 | 
 | 396 | ddctm604 comparetotmag   12.0000       12.2345  ->  -1
 | 
 | 397 | ddctm605 comparetotmag   12.00000      12.2345  ->  -1
 | 
 | 398 | ddctm606 comparetotmag   12.000000     12.2345  ->  -1
 | 
 | 399 | ddctm607 comparetotmag   12.0000000    12.2345  ->  -1
 | 
 | 400 | ddctm608 comparetotmag   12.00000000   12.2345  ->  -1
 | 
 | 401 | ddctm609 comparetotmag   12.000000000  12.2345  ->  -1
 | 
 | 402 | ddctm610 comparetotmag   12.1234 12             ->   1
 | 
 | 403 | ddctm611 comparetotmag   12.1234 12.0           ->   1
 | 
 | 404 | ddctm612 comparetotmag   12.1234 12.00          ->   1
 | 
 | 405 | ddctm613 comparetotmag   12.1234 12.000         ->   1
 | 
 | 406 | ddctm614 comparetotmag   12.1234 12.0000        ->   1
 | 
 | 407 | ddctm615 comparetotmag   12.1234 12.00000       ->   1
 | 
 | 408 | ddctm616 comparetotmag   12.1234 12.000000      ->   1
 | 
 | 409 | ddctm617 comparetotmag   12.1234 12.0000000     ->   1
 | 
 | 410 | ddctm618 comparetotmag   12.1234 12.00000000    ->   1
 | 
 | 411 | ddctm619 comparetotmag   12.1234 12.000000000   ->   1
 | 
 | 412 | ddctm620 comparetotmag  -12           -12.2345  ->  -1
 | 
 | 413 | ddctm621 comparetotmag  -12.0         -12.2345  ->  -1
 | 
 | 414 | ddctm622 comparetotmag  -12.00        -12.2345  ->  -1
 | 
 | 415 | ddctm623 comparetotmag  -12.000       -12.2345  ->  -1
 | 
 | 416 | ddctm624 comparetotmag  -12.0000      -12.2345  ->  -1
 | 
 | 417 | ddctm625 comparetotmag  -12.00000     -12.2345  ->  -1
 | 
 | 418 | ddctm626 comparetotmag  -12.000000    -12.2345  ->  -1
 | 
 | 419 | ddctm627 comparetotmag  -12.0000000   -12.2345  ->  -1
 | 
 | 420 | ddctm628 comparetotmag  -12.00000000  -12.2345  ->  -1
 | 
 | 421 | ddctm629 comparetotmag  -12.000000000 -12.2345  ->  -1
 | 
 | 422 | ddctm630 comparetotmag  -12.1234 -12            ->   1
 | 
 | 423 | ddctm631 comparetotmag  -12.1234 -12.0          ->   1
 | 
 | 424 | ddctm632 comparetotmag  -12.1234 -12.00         ->   1
 | 
 | 425 | ddctm633 comparetotmag  -12.1234 -12.000        ->   1
 | 
 | 426 | ddctm634 comparetotmag  -12.1234 -12.0000       ->   1
 | 
 | 427 | ddctm635 comparetotmag  -12.1234 -12.00000      ->   1
 | 
 | 428 | ddctm636 comparetotmag  -12.1234 -12.000000     ->   1
 | 
 | 429 | ddctm637 comparetotmag  -12.1234 -12.0000000    ->   1
 | 
 | 430 | ddctm638 comparetotmag  -12.1234 -12.00000000   ->   1
 | 
 | 431 | ddctm639 comparetotmag  -12.1234 -12.000000000  ->   1
 | 
 | 432 | 
 | 
 | 433 | -- extended zeros
 | 
 | 434 | ddctm640 comparetotmag   0     0    ->   0
 | 
 | 435 | ddctm641 comparetotmag   0    -0    ->   0
 | 
 | 436 | ddctm642 comparetotmag   0    -0.0  ->   1
 | 
 | 437 | ddctm643 comparetotmag   0     0.0  ->   1
 | 
 | 438 | ddctm644 comparetotmag  -0     0    ->   0
 | 
 | 439 | ddctm645 comparetotmag  -0    -0    ->   0
 | 
 | 440 | ddctm646 comparetotmag  -0    -0.0  ->   1
 | 
 | 441 | ddctm647 comparetotmag  -0     0.0  ->   1
 | 
 | 442 | ddctm648 comparetotmag   0.0   0    ->  -1
 | 
 | 443 | ddctm649 comparetotmag   0.0  -0    ->  -1
 | 
 | 444 | ddctm650 comparetotmag   0.0  -0.0  ->   0
 | 
 | 445 | ddctm651 comparetotmag   0.0   0.0  ->   0
 | 
 | 446 | ddctm652 comparetotmag  -0.0   0    ->  -1
 | 
 | 447 | ddctm653 comparetotmag  -0.0  -0    ->  -1
 | 
 | 448 | ddctm654 comparetotmag  -0.0  -0.0  ->   0
 | 
 | 449 | ddctm655 comparetotmag  -0.0   0.0  ->   0
 | 
 | 450 | 
 | 
 | 451 | ddctm656 comparetotmag  -0E1   0.0  ->   1
 | 
 | 452 | ddctm657 comparetotmag  -0E2   0.0  ->   1
 | 
 | 453 | ddctm658 comparetotmag   0E1   0.0  ->   1
 | 
 | 454 | ddctm659 comparetotmag   0E2   0.0  ->   1
 | 
 | 455 | ddctm660 comparetotmag  -0E1   0    ->   1
 | 
 | 456 | ddctm661 comparetotmag  -0E2   0    ->   1
 | 
 | 457 | ddctm662 comparetotmag   0E1   0    ->   1
 | 
 | 458 | ddctm663 comparetotmag   0E2   0    ->   1
 | 
 | 459 | ddctm664 comparetotmag  -0E1  -0E1  ->   0
 | 
 | 460 | ddctm665 comparetotmag  -0E2  -0E1  ->   1
 | 
 | 461 | ddctm666 comparetotmag   0E1  -0E1  ->   0
 | 
 | 462 | ddctm667 comparetotmag   0E2  -0E1  ->   1
 | 
 | 463 | ddctm668 comparetotmag  -0E1  -0E2  ->  -1
 | 
 | 464 | ddctm669 comparetotmag  -0E2  -0E2  ->   0
 | 
 | 465 | ddctm670 comparetotmag   0E1  -0E2  ->  -1
 | 
 | 466 | ddctm671 comparetotmag   0E2  -0E2  ->   0
 | 
 | 467 | ddctm672 comparetotmag  -0E1   0E1  ->   0
 | 
 | 468 | ddctm673 comparetotmag  -0E2   0E1  ->   1
 | 
 | 469 | ddctm674 comparetotmag   0E1   0E1  ->   0
 | 
 | 470 | ddctm675 comparetotmag   0E2   0E1  ->   1
 | 
 | 471 | ddctm676 comparetotmag  -0E1   0E2  ->  -1
 | 
 | 472 | ddctm677 comparetotmag  -0E2   0E2  ->   0
 | 
 | 473 | ddctm678 comparetotmag   0E1   0E2  ->  -1
 | 
 | 474 | ddctm679 comparetotmag   0E2   0E2  ->   0
 | 
 | 475 | 
 | 
 | 476 | -- trailing zeros; unit-y
 | 
 | 477 | ddctm680 comparetotmag   12    12            ->   0
 | 
 | 478 | ddctm681 comparetotmag   12    12.0          ->   1
 | 
 | 479 | ddctm682 comparetotmag   12    12.00         ->   1
 | 
 | 480 | ddctm683 comparetotmag   12    12.000        ->   1
 | 
 | 481 | ddctm684 comparetotmag   12    12.0000       ->   1
 | 
 | 482 | ddctm685 comparetotmag   12    12.00000      ->   1
 | 
 | 483 | ddctm686 comparetotmag   12    12.000000     ->   1
 | 
 | 484 | ddctm687 comparetotmag   12    12.0000000    ->   1
 | 
 | 485 | ddctm688 comparetotmag   12    12.00000000   ->   1
 | 
 | 486 | ddctm689 comparetotmag   12    12.000000000  ->   1
 | 
 | 487 | ddctm690 comparetotmag   12              12  ->   0
 | 
 | 488 | ddctm691 comparetotmag   12.0            12  ->  -1
 | 
 | 489 | ddctm692 comparetotmag   12.00           12  ->  -1
 | 
 | 490 | ddctm693 comparetotmag   12.000          12  ->  -1
 | 
 | 491 | ddctm694 comparetotmag   12.0000         12  ->  -1
 | 
 | 492 | ddctm695 comparetotmag   12.00000        12  ->  -1
 | 
 | 493 | ddctm696 comparetotmag   12.000000       12  ->  -1
 | 
 | 494 | ddctm697 comparetotmag   12.0000000      12  ->  -1
 | 
 | 495 | ddctm698 comparetotmag   12.00000000     12  ->  -1
 | 
 | 496 | ddctm699 comparetotmag   12.000000000    12  ->  -1
 | 
 | 497 | 
 | 
 | 498 | -- old long operand checks
 | 
 | 499 | ddctm701 comparetotmag 12345678000  1  ->   1
 | 
 | 500 | ddctm702 comparetotmag 1 12345678000   ->  -1
 | 
 | 501 | ddctm703 comparetotmag 1234567800   1  ->   1
 | 
 | 502 | ddctm704 comparetotmag 1 1234567800    ->  -1
 | 
 | 503 | ddctm705 comparetotmag 1234567890   1  ->   1
 | 
 | 504 | ddctm706 comparetotmag 1 1234567890    ->  -1
 | 
 | 505 | ddctm707 comparetotmag 1234567891   1  ->   1
 | 
 | 506 | ddctm708 comparetotmag 1 1234567891    ->  -1
 | 
 | 507 | ddctm709 comparetotmag 12345678901  1  ->   1
 | 
 | 508 | ddctm710 comparetotmag 1 12345678901   ->  -1
 | 
 | 509 | ddctm711 comparetotmag 1234567896   1  ->   1
 | 
 | 510 | ddctm712 comparetotmag 1 1234567896    ->  -1
 | 
 | 511 | ddctm713 comparetotmag -1234567891  1  ->   1
 | 
 | 512 | ddctm714 comparetotmag 1 -1234567891   ->  -1
 | 
 | 513 | ddctm715 comparetotmag -12345678901 1  ->   1
 | 
 | 514 | ddctm716 comparetotmag 1 -12345678901  ->  -1
 | 
 | 515 | ddctm717 comparetotmag -1234567896  1  ->   1
 | 
 | 516 | ddctm718 comparetotmag 1 -1234567896   ->  -1
 | 
 | 517 | 
 | 
 | 518 | -- old residue cases
 | 
 | 519 | ddctm740 comparetotmag  1  0.9999999   ->   1
 | 
 | 520 | ddctm741 comparetotmag  1  0.999999    ->   1
 | 
 | 521 | ddctm742 comparetotmag  1  0.99999     ->   1
 | 
 | 522 | ddctm743 comparetotmag  1  1.0000      ->   1
 | 
 | 523 | ddctm744 comparetotmag  1  1.00001     ->  -1
 | 
 | 524 | ddctm745 comparetotmag  1  1.000001    ->  -1
 | 
 | 525 | ddctm746 comparetotmag  1  1.0000001   ->  -1
 | 
 | 526 | ddctm750 comparetotmag  0.9999999  1   ->  -1
 | 
 | 527 | ddctm751 comparetotmag  0.999999   1   ->  -1
 | 
 | 528 | ddctm752 comparetotmag  0.99999    1   ->  -1
 | 
 | 529 | ddctm753 comparetotmag  1.0000     1   ->  -1
 | 
 | 530 | ddctm754 comparetotmag  1.00001    1   ->   1
 | 
 | 531 | ddctm755 comparetotmag  1.000001   1   ->   1
 | 
 | 532 | ddctm756 comparetotmag  1.0000001  1   ->   1
 | 
 | 533 | 
 | 
 | 534 | -- Specials
 | 
 | 535 | ddctm780 comparetotmag  Inf  -Inf   ->  0
 | 
 | 536 | ddctm781 comparetotmag  Inf  -1000  ->  1
 | 
 | 537 | ddctm782 comparetotmag  Inf  -1     ->  1
 | 
 | 538 | ddctm783 comparetotmag  Inf  -0     ->  1
 | 
 | 539 | ddctm784 comparetotmag  Inf   0     ->  1
 | 
 | 540 | ddctm785 comparetotmag  Inf   1     ->  1
 | 
 | 541 | ddctm786 comparetotmag  Inf   1000  ->  1
 | 
 | 542 | ddctm787 comparetotmag  Inf   Inf   ->  0
 | 
 | 543 | ddctm788 comparetotmag -1000  Inf   -> -1
 | 
 | 544 | ddctm789 comparetotmag -Inf   Inf   ->  0
 | 
 | 545 | ddctm790 comparetotmag -1     Inf   -> -1
 | 
 | 546 | ddctm791 comparetotmag -0     Inf   -> -1
 | 
 | 547 | ddctm792 comparetotmag  0     Inf   -> -1
 | 
 | 548 | ddctm793 comparetotmag  1     Inf   -> -1
 | 
 | 549 | ddctm794 comparetotmag  1000  Inf   -> -1
 | 
 | 550 | ddctm795 comparetotmag  Inf   Inf   ->  0
 | 
 | 551 | 
 | 
 | 552 | ddctm800 comparetotmag -Inf  -Inf   ->  0
 | 
 | 553 | ddctm801 comparetotmag -Inf  -1000  ->  1
 | 
 | 554 | ddctm802 comparetotmag -Inf  -1     ->  1
 | 
 | 555 | ddctm803 comparetotmag -Inf  -0     ->  1
 | 
 | 556 | ddctm804 comparetotmag -Inf   0     ->  1
 | 
 | 557 | ddctm805 comparetotmag -Inf   1     ->  1
 | 
 | 558 | ddctm806 comparetotmag -Inf   1000  ->  1
 | 
 | 559 | ddctm807 comparetotmag -Inf   Inf   ->  0
 | 
 | 560 | ddctm808 comparetotmag -Inf  -Inf   ->  0
 | 
 | 561 | ddctm809 comparetotmag -1000 -Inf   -> -1
 | 
 | 562 | ddctm810 comparetotmag -1    -Inf   -> -1
 | 
 | 563 | ddctm811 comparetotmag -0    -Inf   -> -1
 | 
 | 564 | ddctm812 comparetotmag  0    -Inf   -> -1
 | 
 | 565 | ddctm813 comparetotmag  1    -Inf   -> -1
 | 
 | 566 | ddctm814 comparetotmag  1000 -Inf   -> -1
 | 
 | 567 | ddctm815 comparetotmag  Inf  -Inf   ->  0
 | 
 | 568 | 
 | 
 | 569 | ddctm821 comparetotmag  NaN -Inf    ->  1
 | 
 | 570 | ddctm822 comparetotmag  NaN -1000   ->  1
 | 
 | 571 | ddctm823 comparetotmag  NaN -1      ->  1
 | 
 | 572 | ddctm824 comparetotmag  NaN -0      ->  1
 | 
 | 573 | ddctm825 comparetotmag  NaN  0      ->  1
 | 
 | 574 | ddctm826 comparetotmag  NaN  1      ->  1
 | 
 | 575 | ddctm827 comparetotmag  NaN  1000   ->  1
 | 
 | 576 | ddctm828 comparetotmag  NaN  Inf    ->  1
 | 
 | 577 | ddctm829 comparetotmag  NaN  NaN    ->  0
 | 
 | 578 | ddctm830 comparetotmag -Inf  NaN    ->  -1
 | 
 | 579 | ddctm831 comparetotmag -1000 NaN    ->  -1
 | 
 | 580 | ddctm832 comparetotmag -1    NaN    ->  -1
 | 
 | 581 | ddctm833 comparetotmag -0    NaN    ->  -1
 | 
 | 582 | ddctm834 comparetotmag  0    NaN    ->  -1
 | 
 | 583 | ddctm835 comparetotmag  1    NaN    ->  -1
 | 
 | 584 | ddctm836 comparetotmag  1000 NaN    ->  -1
 | 
 | 585 | ddctm837 comparetotmag  Inf  NaN    ->  -1
 | 
 | 586 | ddctm838 comparetotmag -NaN -NaN    ->  0
 | 
 | 587 | ddctm839 comparetotmag +NaN -NaN    ->  0
 | 
 | 588 | ddctm840 comparetotmag -NaN +NaN    ->  0
 | 
 | 589 | 
 | 
 | 590 | ddctm841 comparetotmag  sNaN -sNaN  ->  0
 | 
 | 591 | ddctm842 comparetotmag  sNaN -NaN   ->  -1
 | 
 | 592 | ddctm843 comparetotmag  sNaN -Inf   ->  1
 | 
 | 593 | ddctm844 comparetotmag  sNaN -1000  ->  1
 | 
 | 594 | ddctm845 comparetotmag  sNaN -1     ->  1
 | 
 | 595 | ddctm846 comparetotmag  sNaN -0     ->  1
 | 
 | 596 | ddctm847 comparetotmag  sNaN  0     ->  1
 | 
 | 597 | ddctm848 comparetotmag  sNaN  1     ->  1
 | 
 | 598 | ddctm849 comparetotmag  sNaN  1000  ->  1
 | 
 | 599 | ddctm850 comparetotmag  sNaN  NaN   ->  -1
 | 
 | 600 | ddctm851 comparetotmag  sNaN sNaN   ->  0
 | 
 | 601 | 
 | 
 | 602 | ddctm852 comparetotmag -sNaN sNaN   ->  0
 | 
 | 603 | ddctm853 comparetotmag -NaN  sNaN   ->  1
 | 
 | 604 | ddctm854 comparetotmag -Inf  sNaN   ->  -1
 | 
 | 605 | ddctm855 comparetotmag -1000 sNaN   ->  -1
 | 
 | 606 | ddctm856 comparetotmag -1    sNaN   ->  -1
 | 
 | 607 | ddctm857 comparetotmag -0    sNaN   ->  -1
 | 
 | 608 | ddctm858 comparetotmag  0    sNaN   ->  -1
 | 
 | 609 | ddctm859 comparetotmag  1    sNaN   ->  -1
 | 
 | 610 | ddctm860 comparetotmag  1000 sNaN   ->  -1
 | 
 | 611 | ddctm861 comparetotmag  Inf  sNaN   ->  -1
 | 
 | 612 | ddctm862 comparetotmag  NaN  sNaN   ->  1
 | 
 | 613 | ddctm863 comparetotmag  sNaN sNaN   ->  0
 | 
 | 614 | 
 | 
 | 615 | ddctm871 comparetotmag  -sNaN -sNaN  ->  0
 | 
 | 616 | ddctm872 comparetotmag  -sNaN -NaN   ->  -1
 | 
 | 617 | ddctm873 comparetotmag  -sNaN -Inf   ->  1
 | 
 | 618 | ddctm874 comparetotmag  -sNaN -1000  ->  1
 | 
 | 619 | ddctm875 comparetotmag  -sNaN -1     ->  1
 | 
 | 620 | ddctm876 comparetotmag  -sNaN -0     ->  1
 | 
 | 621 | ddctm877 comparetotmag  -sNaN  0     ->  1
 | 
 | 622 | ddctm878 comparetotmag  -sNaN  1     ->  1
 | 
 | 623 | ddctm879 comparetotmag  -sNaN  1000  ->  1
 | 
 | 624 | ddctm880 comparetotmag  -sNaN  NaN   ->  -1
 | 
 | 625 | ddctm881 comparetotmag  -sNaN sNaN   ->  0
 | 
 | 626 | 
 | 
 | 627 | ddctm882 comparetotmag -sNaN -sNaN   ->  0
 | 
 | 628 | ddctm883 comparetotmag -NaN  -sNaN   ->  1
 | 
 | 629 | ddctm884 comparetotmag -Inf  -sNaN   ->  -1
 | 
 | 630 | ddctm885 comparetotmag -1000 -sNaN   ->  -1
 | 
 | 631 | ddctm886 comparetotmag -1    -sNaN   ->  -1
 | 
 | 632 | ddctm887 comparetotmag -0    -sNaN   ->  -1
 | 
 | 633 | ddctm888 comparetotmag  0    -sNaN   ->  -1
 | 
 | 634 | ddctm889 comparetotmag  1    -sNaN   ->  -1
 | 
 | 635 | ddctm890 comparetotmag  1000 -sNaN   ->  -1
 | 
 | 636 | ddctm891 comparetotmag  Inf  -sNaN   ->  -1
 | 
 | 637 | ddctm892 comparetotmag  NaN  -sNaN   ->  1
 | 
 | 638 | ddctm893 comparetotmag  sNaN -sNaN   ->  0
 | 
 | 639 | 
 | 
 | 640 | -- NaNs with payload
 | 
 | 641 | ddctm960 comparetotmag  NaN9 -Inf   ->  1
 | 
 | 642 | ddctm961 comparetotmag  NaN8  999   ->  1
 | 
 | 643 | ddctm962 comparetotmag  NaN77 Inf   ->  1
 | 
 | 644 | ddctm963 comparetotmag -NaN67 NaN5  ->  1
 | 
 | 645 | ddctm964 comparetotmag -Inf  -NaN4  ->  -1
 | 
 | 646 | ddctm965 comparetotmag -999  -NaN33 ->  -1
 | 
 | 647 | ddctm966 comparetotmag  Inf   NaN2  ->  -1
 | 
 | 648 | 
 | 
 | 649 | ddctm970 comparetotmag -NaN41 -NaN42 -> -1
 | 
 | 650 | ddctm971 comparetotmag +NaN41 -NaN42 -> -1
 | 
 | 651 | ddctm972 comparetotmag -NaN41 +NaN42 -> -1
 | 
 | 652 | ddctm973 comparetotmag +NaN41 +NaN42 -> -1
 | 
 | 653 | ddctm974 comparetotmag -NaN42 -NaN01 ->  1
 | 
 | 654 | ddctm975 comparetotmag +NaN42 -NaN01 ->  1
 | 
 | 655 | ddctm976 comparetotmag -NaN42 +NaN01 ->  1
 | 
 | 656 | ddctm977 comparetotmag +NaN42 +NaN01 ->  1
 | 
 | 657 | 
 | 
 | 658 | ddctm980 comparetotmag -sNaN771 -sNaN772 -> -1
 | 
 | 659 | ddctm981 comparetotmag +sNaN771 -sNaN772 -> -1
 | 
 | 660 | ddctm982 comparetotmag -sNaN771 +sNaN772 -> -1
 | 
 | 661 | ddctm983 comparetotmag +sNaN771 +sNaN772 -> -1
 | 
 | 662 | ddctm984 comparetotmag -sNaN772 -sNaN771 ->  1
 | 
 | 663 | ddctm985 comparetotmag +sNaN772 -sNaN771 ->  1
 | 
 | 664 | ddctm986 comparetotmag -sNaN772 +sNaN771 ->  1
 | 
 | 665 | ddctm987 comparetotmag +sNaN772 +sNaN771 ->  1
 | 
 | 666 | 
 | 
 | 667 | ddctm991 comparetotmag -sNaN99 -Inf    ->  1
 | 
 | 668 | ddctm992 comparetotmag  sNaN98 -11     ->  1
 | 
 | 669 | ddctm993 comparetotmag  sNaN97  NaN    -> -1
 | 
 | 670 | ddctm994 comparetotmag  sNaN16 sNaN94  -> -1
 | 
 | 671 | ddctm995 comparetotmag  NaN85  sNaN83  ->  1
 | 
 | 672 | ddctm996 comparetotmag -Inf    sNaN92  -> -1
 | 
 | 673 | ddctm997 comparetotmag  088    sNaN81  -> -1
 | 
 | 674 | ddctm998 comparetotmag  Inf    sNaN90  -> -1
 | 
 | 675 | ddctm999 comparetotmag  NaN   -sNaN89  ->  1
 | 
 | 676 | 
 | 
 | 677 | -- spread zeros
 | 
 | 678 | ddctm1110 comparetotmag   0E-383  0        ->  -1
 | 
 | 679 | ddctm1111 comparetotmag   0E-383 -0        ->  -1
 | 
 | 680 | ddctm1112 comparetotmag  -0E-383  0        ->  -1
 | 
 | 681 | ddctm1113 comparetotmag  -0E-383 -0        ->  -1
 | 
 | 682 | ddctm1114 comparetotmag   0E-383  0E+384   ->  -1
 | 
 | 683 | ddctm1115 comparetotmag   0E-383 -0E+384   ->  -1
 | 
 | 684 | ddctm1116 comparetotmag  -0E-383  0E+384   ->  -1
 | 
 | 685 | ddctm1117 comparetotmag  -0E-383 -0E+384   ->  -1
 | 
 | 686 | ddctm1118 comparetotmag   0       0E+384   ->  -1
 | 
 | 687 | ddctm1119 comparetotmag   0      -0E+384   ->  -1
 | 
 | 688 | ddctm1120 comparetotmag  -0       0E+384   ->  -1
 | 
 | 689 | ddctm1121 comparetotmag  -0      -0E+384   ->  -1
 | 
 | 690 | 
 | 
 | 691 | ddctm1130 comparetotmag   0E+384  0        ->   1
 | 
 | 692 | ddctm1131 comparetotmag   0E+384 -0        ->   1
 | 
 | 693 | ddctm1132 comparetotmag  -0E+384  0        ->   1
 | 
 | 694 | ddctm1133 comparetotmag  -0E+384 -0        ->   1
 | 
 | 695 | ddctm1134 comparetotmag   0E+384  0E-383   ->   1
 | 
 | 696 | ddctm1135 comparetotmag   0E+384 -0E-383   ->   1
 | 
 | 697 | ddctm1136 comparetotmag  -0E+384  0E-383   ->   1
 | 
 | 698 | ddctm1137 comparetotmag  -0E+384 -0E-383   ->   1
 | 
 | 699 | ddctm1138 comparetotmag   0       0E-383   ->   1
 | 
 | 700 | ddctm1139 comparetotmag   0      -0E-383   ->   1
 | 
 | 701 | ddctm1140 comparetotmag  -0       0E-383   ->   1
 | 
 | 702 | ddctm1141 comparetotmag  -0      -0E-383   ->   1
 | 
 | 703 | 
 | 
 | 704 | -- Null tests
 | 
 | 705 | ddctm9990 comparetotmag 10  # -> NaN Invalid_operation
 | 
 | 706 | ddctm9991 comparetotmag  # 10 -> NaN Invalid_operation
 |