1 ------------------------------------------------------------------------ 2 -- dqCompareTotalMag.decTest -- decQuad comparison; abs. total order -- 3 -- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. -- 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 (a] uk.ibm.com -- 19 ------------------------------------------------------------------------ 20 version: 2.59 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 decQuads. 29 extended: 1 30 clamp: 1 31 precision: 34 32 maxExponent: 6144 33 minExponent: -6143 34 rounding: half_even 35 36 -- sanity checks 37 dqctm001 comparetotmag -2 -2 -> 0 38 dqctm002 comparetotmag -2 -1 -> 1 39 dqctm003 comparetotmag -2 0 -> 1 40 dqctm004 comparetotmag -2 1 -> 1 41 dqctm005 comparetotmag -2 2 -> 0 42 dqctm006 comparetotmag -1 -2 -> -1 43 dqctm007 comparetotmag -1 -1 -> 0 44 dqctm008 comparetotmag -1 0 -> 1 45 dqctm009 comparetotmag -1 1 -> 0 46 dqctm010 comparetotmag -1 2 -> -1 47 dqctm011 comparetotmag 0 -2 -> -1 48 dqctm012 comparetotmag 0 -1 -> -1 49 dqctm013 comparetotmag 0 0 -> 0 50 dqctm014 comparetotmag 0 1 -> -1 51 dqctm015 comparetotmag 0 2 -> -1 52 dqctm016 comparetotmag 1 -2 -> -1 53 dqctm017 comparetotmag 1 -1 -> 0 54 dqctm018 comparetotmag 1 0 -> 1 55 dqctm019 comparetotmag 1 1 -> 0 56 dqctm020 comparetotmag 1 2 -> -1 57 dqctm021 comparetotmag 2 -2 -> 0 58 dqctm022 comparetotmag 2 -1 -> 1 59 dqctm023 comparetotmag 2 0 -> 1 60 dqctm025 comparetotmag 2 1 -> 1 61 dqctm026 comparetotmag 2 2 -> 0 62 63 dqctm031 comparetotmag -20 -20 -> 0 64 dqctm032 comparetotmag -20 -10 -> 1 65 dqctm033 comparetotmag -20 00 -> 1 66 dqctm034 comparetotmag -20 10 -> 1 67 dqctm035 comparetotmag -20 20 -> 0 68 dqctm036 comparetotmag -10 -20 -> -1 69 dqctm037 comparetotmag -10 -10 -> 0 70 dqctm038 comparetotmag -10 00 -> 1 71 dqctm039 comparetotmag -10 10 -> 0 72 dqctm040 comparetotmag -10 20 -> -1 73 dqctm041 comparetotmag 00 -20 -> -1 74 dqctm042 comparetotmag 00 -10 -> -1 75 dqctm043 comparetotmag 00 00 -> 0 76 dqctm044 comparetotmag 00 10 -> -1 77 dqctm045 comparetotmag 00 20 -> -1 78 dqctm046 comparetotmag 10 -20 -> -1 79 dqctm047 comparetotmag 10 -10 -> 0 80 dqctm048 comparetotmag 10 00 -> 1 81 dqctm049 comparetotmag 10 10 -> 0 82 dqctm050 comparetotmag 10 20 -> -1 83 dqctm051 comparetotmag 20 -20 -> 0 84 dqctm052 comparetotmag 20 -10 -> 1 85 dqctm053 comparetotmag 20 00 -> 1 86 dqctm055 comparetotmag 20 10 -> 1 87 dqctm056 comparetotmag 20 20 -> 0 88 89 dqctm061 comparetotmag -2.0 -2.0 -> 0 90 dqctm062 comparetotmag -2.0 -1.0 -> 1 91 dqctm063 comparetotmag -2.0 0.0 -> 1 92 dqctm064 comparetotmag -2.0 1.0 -> 1 93 dqctm065 comparetotmag -2.0 2.0 -> 0 94 dqctm066 comparetotmag -1.0 -2.0 -> -1 95 dqctm067 comparetotmag -1.0 -1.0 -> 0 96 dqctm068 comparetotmag -1.0 0.0 -> 1 97 dqctm069 comparetotmag -1.0 1.0 -> 0 98 dqctm070 comparetotmag -1.0 2.0 -> -1 99 dqctm071 comparetotmag 0.0 -2.0 -> -1 100 dqctm072 comparetotmag 0.0 -1.0 -> -1 101 dqctm073 comparetotmag 0.0 0.0 -> 0 102 dqctm074 comparetotmag 0.0 1.0 -> -1 103 dqctm075 comparetotmag 0.0 2.0 -> -1 104 dqctm076 comparetotmag 1.0 -2.0 -> -1 105 dqctm077 comparetotmag 1.0 -1.0 -> 0 106 dqctm078 comparetotmag 1.0 0.0 -> 1 107 dqctm079 comparetotmag 1.0 1.0 -> 0 108 dqctm080 comparetotmag 1.0 2.0 -> -1 109 dqctm081 comparetotmag 2.0 -2.0 -> 0 110 dqctm082 comparetotmag 2.0 -1.0 -> 1 111 dqctm083 comparetotmag 2.0 0.0 -> 1 112 dqctm085 comparetotmag 2.0 1.0 -> 1 113 dqctm086 comparetotmag 2.0 2.0 -> 0 114 115 -- now some cases which might overflow if subtract were used 116 dqctm090 comparetotmag 9.99999999999999999999999999999E+6144 9.99999999999999999999999999999E+6144 -> 0 117 dqctm091 comparetotmag -9.99999999999999999999999999999E+6144 9.99999999999999999999999999999E+6144 -> 0 118 dqctm092 comparetotmag 9.99999999999999999999999999999E+6144 -9.99999999999999999999999999999E+6144 -> 0 119 dqctm093 comparetotmag -9.99999999999999999999999999999E+6144 -9.99999999999999999999999999999E+6144 -> 0 120 121 -- some differing length/exponent cases 122 -- in this first group, compare would compare all equal 123 dqctm100 comparetotmag 7.0 7.0 -> 0 124 dqctm101 comparetotmag 7.0 7 -> -1 125 dqctm102 comparetotmag 7 7.0 -> 1 126 dqctm103 comparetotmag 7E+0 7.0 -> 1 127 dqctm104 comparetotmag 70E-1 7.0 -> 0 128 dqctm105 comparetotmag 0.7E+1 7 -> 0 129 dqctm106 comparetotmag 70E-1 7 -> -1 130 dqctm107 comparetotmag 7.0 7E+0 -> -1 131 dqctm108 comparetotmag 7.0 70E-1 -> 0 132 dqctm109 comparetotmag 7 0.7E+1 -> 0 133 dqctm110 comparetotmag 7 70E-1 -> 1 134 135 dqctm120 comparetotmag 8.0 7.0 -> 1 136 dqctm121 comparetotmag 8.0 7 -> 1 137 dqctm122 comparetotmag 8 7.0 -> 1 138 dqctm123 comparetotmag 8E+0 7.0 -> 1 139 dqctm124 comparetotmag 80E-1 7.0 -> 1 140 dqctm125 comparetotmag 0.8E+1 7 -> 1 141 dqctm126 comparetotmag 80E-1 7 -> 1 142 dqctm127 comparetotmag 8.0 7E+0 -> 1 143 dqctm128 comparetotmag 8.0 70E-1 -> 1 144 dqctm129 comparetotmag 8 0.7E+1 -> 1 145 dqctm130 comparetotmag 8 70E-1 -> 1 146 147 dqctm140 comparetotmag 8.0 9.0 -> -1 148 dqctm141 comparetotmag 8.0 9 -> -1 149 dqctm142 comparetotmag 8 9.0 -> -1 150 dqctm143 comparetotmag 8E+0 9.0 -> -1 151 dqctm144 comparetotmag 80E-1 9.0 -> -1 152 dqctm145 comparetotmag 0.8E+1 9 -> -1 153 dqctm146 comparetotmag 80E-1 9 -> -1 154 dqctm147 comparetotmag 8.0 9E+0 -> -1 155 dqctm148 comparetotmag 8.0 90E-1 -> -1 156 dqctm149 comparetotmag 8 0.9E+1 -> -1 157 dqctm150 comparetotmag 8 90E-1 -> -1 158 159 -- and again, with sign changes -+ .. 160 dqctm200 comparetotmag -7.0 7.0 -> 0 161 dqctm201 comparetotmag -7.0 7 -> -1 162 dqctm202 comparetotmag -7 7.0 -> 1 163 dqctm203 comparetotmag -7E+0 7.0 -> 1 164 dqctm204 comparetotmag -70E-1 7.0 -> 0 165 dqctm205 comparetotmag -0.7E+1 7 -> 0 166 dqctm206 comparetotmag -70E-1 7 -> -1 167 dqctm207 comparetotmag -7.0 7E+0 -> -1 168 dqctm208 comparetotmag -7.0 70E-1 -> 0 169 dqctm209 comparetotmag -7 0.7E+1 -> 0 170 dqctm210 comparetotmag -7 70E-1 -> 1 171 172 dqctm220 comparetotmag -8.0 7.0 -> 1 173 dqctm221 comparetotmag -8.0 7 -> 1 174 dqctm222 comparetotmag -8 7.0 -> 1 175 dqctm223 comparetotmag -8E+0 7.0 -> 1 176 dqctm224 comparetotmag -80E-1 7.0 -> 1 177 dqctm225 comparetotmag -0.8E+1 7 -> 1 178 dqctm226 comparetotmag -80E-1 7 -> 1 179 dqctm227 comparetotmag -8.0 7E+0 -> 1 180 dqctm228 comparetotmag -8.0 70E-1 -> 1 181 dqctm229 comparetotmag -8 0.7E+1 -> 1 182 dqctm230 comparetotmag -8 70E-1 -> 1 183 184 dqctm240 comparetotmag -8.0 9.0 -> -1 185 dqctm241 comparetotmag -8.0 9 -> -1 186 dqctm242 comparetotmag -8 9.0 -> -1 187 dqctm243 comparetotmag -8E+0 9.0 -> -1 188 dqctm244 comparetotmag -80E-1 9.0 -> -1 189 dqctm245 comparetotmag -0.8E+1 9 -> -1 190 dqctm246 comparetotmag -80E-1 9 -> -1 191 dqctm247 comparetotmag -8.0 9E+0 -> -1 192 dqctm248 comparetotmag -8.0 90E-1 -> -1 193 dqctm249 comparetotmag -8 0.9E+1 -> -1 194 dqctm250 comparetotmag -8 90E-1 -> -1 195 196 -- and again, with sign changes +- .. 197 dqctm300 comparetotmag 7.0 -7.0 -> 0 198 dqctm301 comparetotmag 7.0 -7 -> -1 199 dqctm302 comparetotmag 7 -7.0 -> 1 200 dqctm303 comparetotmag 7E+0 -7.0 -> 1 201 dqctm304 comparetotmag 70E-1 -7.0 -> 0 202 dqctm305 comparetotmag .7E+1 -7 -> 0 203 dqctm306 comparetotmag 70E-1 -7 -> -1 204 dqctm307 comparetotmag 7.0 -7E+0 -> -1 205 dqctm308 comparetotmag 7.0 -70E-1 -> 0 206 dqctm309 comparetotmag 7 -.7E+1 -> 0 207 dqctm310 comparetotmag 7 -70E-1 -> 1 208 209 dqctm320 comparetotmag 8.0 -7.0 -> 1 210 dqctm321 comparetotmag 8.0 -7 -> 1 211 dqctm322 comparetotmag 8 -7.0 -> 1 212 dqctm323 comparetotmag 8E+0 -7.0 -> 1 213 dqctm324 comparetotmag 80E-1 -7.0 -> 1 214 dqctm325 comparetotmag .8E+1 -7 -> 1 215 dqctm326 comparetotmag 80E-1 -7 -> 1 216 dqctm327 comparetotmag 8.0 -7E+0 -> 1 217 dqctm328 comparetotmag 8.0 -70E-1 -> 1 218 dqctm329 comparetotmag 8 -.7E+1 -> 1 219 dqctm330 comparetotmag 8 -70E-1 -> 1 220 221 dqctm340 comparetotmag 8.0 -9.0 -> -1 222 dqctm341 comparetotmag 8.0 -9 -> -1 223 dqctm342 comparetotmag 8 -9.0 -> -1 224 dqctm343 comparetotmag 8E+0 -9.0 -> -1 225 dqctm344 comparetotmag 80E-1 -9.0 -> -1 226 dqctm345 comparetotmag .8E+1 -9 -> -1 227 dqctm346 comparetotmag 80E-1 -9 -> -1 228 dqctm347 comparetotmag 8.0 -9E+0 -> -1 229 dqctm348 comparetotmag 8.0 -90E-1 -> -1 230 dqctm349 comparetotmag 8 -.9E+1 -> -1 231 dqctm350 comparetotmag 8 -90E-1 -> -1 232 233 -- and again, with sign changes -- .. 234 dqctm400 comparetotmag -7.0 -7.0 -> 0 235 dqctm401 comparetotmag -7.0 -7 -> -1 236 dqctm402 comparetotmag -7 -7.0 -> 1 237 dqctm403 comparetotmag -7E+0 -7.0 -> 1 238 dqctm404 comparetotmag -70E-1 -7.0 -> 0 239 dqctm405 comparetotmag -.7E+1 -7 -> 0 240 dqctm406 comparetotmag -70E-1 -7 -> -1 241 dqctm407 comparetotmag -7.0 -7E+0 -> -1 242 dqctm408 comparetotmag -7.0 -70E-1 -> 0 243 dqctm409 comparetotmag -7 -.7E+1 -> 0 244 dqctm410 comparetotmag -7 -70E-1 -> 1 245 246 dqctm420 comparetotmag -8.0 -7.0 -> 1 247 dqctm421 comparetotmag -8.0 -7 -> 1 248 dqctm422 comparetotmag -8 -7.0 -> 1 249 dqctm423 comparetotmag -8E+0 -7.0 -> 1 250 dqctm424 comparetotmag -80E-1 -7.0 -> 1 251 dqctm425 comparetotmag -.8E+1 -7 -> 1 252 dqctm426 comparetotmag -80E-1 -7 -> 1 253 dqctm427 comparetotmag -8.0 -7E+0 -> 1 254 dqctm428 comparetotmag -8.0 -70E-1 -> 1 255 dqctm429 comparetotmag -8 -.7E+1 -> 1 256 dqctm430 comparetotmag -8 -70E-1 -> 1 257 258 dqctm440 comparetotmag -8.0 -9.0 -> -1 259 dqctm441 comparetotmag -8.0 -9 -> -1 260 dqctm442 comparetotmag -8 -9.0 -> -1 261 dqctm443 comparetotmag -8E+0 -9.0 -> -1 262 dqctm444 comparetotmag -80E-1 -9.0 -> -1 263 dqctm445 comparetotmag -.8E+1 -9 -> -1 264 dqctm446 comparetotmag -80E-1 -9 -> -1 265 dqctm447 comparetotmag -8.0 -9E+0 -> -1 266 dqctm448 comparetotmag -8.0 -90E-1 -> -1 267 dqctm449 comparetotmag -8 -.9E+1 -> -1 268 dqctm450 comparetotmag -8 -90E-1 -> -1 269 270 271 -- testcases that subtract to lots of zeros at boundaries [pgr] 272 dqctm473 comparetotmag 123.4560000000000E-89 123.456E-89 -> -1 273 dqctm474 comparetotmag 123.456000000000E+89 123.456E+89 -> -1 274 dqctm475 comparetotmag 123.45600000000E-89 123.456E-89 -> -1 275 dqctm476 comparetotmag 123.4560000000E+89 123.456E+89 -> -1 276 dqctm477 comparetotmag 123.456000000E-89 123.456E-89 -> -1 277 dqctm478 comparetotmag 123.45600000E+89 123.456E+89 -> -1 278 dqctm479 comparetotmag 123.4560000E-89 123.456E-89 -> -1 279 dqctm480 comparetotmag 123.456000E+89 123.456E+89 -> -1 280 dqctm481 comparetotmag 123.45600E-89 123.456E-89 -> -1 281 dqctm482 comparetotmag 123.4560E+89 123.456E+89 -> -1 282 dqctm483 comparetotmag 123.456E-89 123.456E-89 -> 0 283 dqctm487 comparetotmag 123.456E+89 123.4560000000000E+89 -> 1 284 dqctm488 comparetotmag 123.456E-89 123.456000000000E-89 -> 1 285 dqctm489 comparetotmag 123.456E+89 123.45600000000E+89 -> 1 286 dqctm490 comparetotmag 123.456E-89 123.4560000000E-89 -> 1 287 dqctm491 comparetotmag 123.456E+89 123.456000000E+89 -> 1 288 dqctm492 comparetotmag 123.456E-89 123.45600000E-89 -> 1 289 dqctm493 comparetotmag 123.456E+89 123.4560000E+89 -> 1 290 dqctm494 comparetotmag 123.456E-89 123.456000E-89 -> 1 291 dqctm495 comparetotmag 123.456E+89 123.45600E+89 -> 1 292 dqctm496 comparetotmag 123.456E-89 123.4560E-89 -> 1 293 dqctm497 comparetotmag 123.456E+89 123.456E+89 -> 0 294 295 -- wide-ranging, around precision; signs equal 296 dqctm498 comparetotmag 1 1E-17 -> 1 297 dqctm499 comparetotmag 1 1E-16 -> 1 298 dqctm500 comparetotmag 1 1E-15 -> 1 299 dqctm501 comparetotmag 1 1E-14 -> 1 300 dqctm502 comparetotmag 1 1E-13 -> 1 301 dqctm503 comparetotmag 1 1E-12 -> 1 302 dqctm504 comparetotmag 1 1E-11 -> 1 303 dqctm505 comparetotmag 1 1E-10 -> 1 304 dqctm506 comparetotmag 1 1E-9 -> 1 305 dqctm507 comparetotmag 1 1E-8 -> 1 306 dqctm508 comparetotmag 1 1E-7 -> 1 307 dqctm509 comparetotmag 1 1E-6 -> 1 308 dqctm510 comparetotmag 1 1E-5 -> 1 309 dqctm511 comparetotmag 1 1E-4 -> 1 310 dqctm512 comparetotmag 1 1E-3 -> 1 311 dqctm513 comparetotmag 1 1E-2 -> 1 312 dqctm514 comparetotmag 1 1E-1 -> 1 313 dqctm515 comparetotmag 1 1E-0 -> 0 314 dqctm516 comparetotmag 1 1E+1 -> -1 315 dqctm517 comparetotmag 1 1E+2 -> -1 316 dqctm518 comparetotmag 1 1E+3 -> -1 317 dqctm519 comparetotmag 1 1E+4 -> -1 318 dqctm521 comparetotmag 1 1E+5 -> -1 319 dqctm522 comparetotmag 1 1E+6 -> -1 320 dqctm523 comparetotmag 1 1E+7 -> -1 321 dqctm524 comparetotmag 1 1E+8 -> -1 322 dqctm525 comparetotmag 1 1E+9 -> -1 323 dqctm526 comparetotmag 1 1E+10 -> -1 324 dqctm527 comparetotmag 1 1E+11 -> -1 325 dqctm528 comparetotmag 1 1E+12 -> -1 326 dqctm529 comparetotmag 1 1E+13 -> -1 327 dqctm530 comparetotmag 1 1E+14 -> -1 328 dqctm531 comparetotmag 1 1E+15 -> -1 329 dqctm532 comparetotmag 1 1E+16 -> -1 330 dqctm533 comparetotmag 1 1E+17 -> -1 331 -- LR swap 332 dqctm538 comparetotmag 1E-17 1 -> -1 333 dqctm539 comparetotmag 1E-16 1 -> -1 334 dqctm540 comparetotmag 1E-15 1 -> -1 335 dqctm541 comparetotmag 1E-14 1 -> -1 336 dqctm542 comparetotmag 1E-13 1 -> -1 337 dqctm543 comparetotmag 1E-12 1 -> -1 338 dqctm544 comparetotmag 1E-11 1 -> -1 339 dqctm545 comparetotmag 1E-10 1 -> -1 340 dqctm546 comparetotmag 1E-9 1 -> -1 341 dqctm547 comparetotmag 1E-8 1 -> -1 342 dqctm548 comparetotmag 1E-7 1 -> -1 343 dqctm549 comparetotmag 1E-6 1 -> -1 344 dqctm550 comparetotmag 1E-5 1 -> -1 345 dqctm551 comparetotmag 1E-4 1 -> -1 346 dqctm552 comparetotmag 1E-3 1 -> -1 347 dqctm553 comparetotmag 1E-2 1 -> -1 348 dqctm554 comparetotmag 1E-1 1 -> -1 349 dqctm555 comparetotmag 1E-0 1 -> 0 350 dqctm556 comparetotmag 1E+1 1 -> 1 351 dqctm557 comparetotmag 1E+2 1 -> 1 352 dqctm558 comparetotmag 1E+3 1 -> 1 353 dqctm559 comparetotmag 1E+4 1 -> 1 354 dqctm561 comparetotmag 1E+5 1 -> 1 355 dqctm562 comparetotmag 1E+6 1 -> 1 356 dqctm563 comparetotmag 1E+7 1 -> 1 357 dqctm564 comparetotmag 1E+8 1 -> 1 358 dqctm565 comparetotmag 1E+9 1 -> 1 359 dqctm566 comparetotmag 1E+10 1 -> 1 360 dqctm567 comparetotmag 1E+11 1 -> 1 361 dqctm568 comparetotmag 1E+12 1 -> 1 362 dqctm569 comparetotmag 1E+13 1 -> 1 363 dqctm570 comparetotmag 1E+14 1 -> 1 364 dqctm571 comparetotmag 1E+15 1 -> 1 365 dqctm572 comparetotmag 1E+16 1 -> 1 366 dqctm573 comparetotmag 1E+17 1 -> 1 367 -- similar with a useful coefficient, one side only 368 dqctm578 comparetotmag 0.000000987654321 1E-17 -> 1 369 dqctm579 comparetotmag 0.000000987654321 1E-16 -> 1 370 dqctm580 comparetotmag 0.000000987654321 1E-15 -> 1 371 dqctm581 comparetotmag 0.000000987654321 1E-14 -> 1 372 dqctm582 comparetotmag 0.000000987654321 1E-13 -> 1 373 dqctm583 comparetotmag 0.000000987654321 1E-12 -> 1 374 dqctm584 comparetotmag 0.000000987654321 1E-11 -> 1 375 dqctm585 comparetotmag 0.000000987654321 1E-10 -> 1 376 dqctm586 comparetotmag 0.000000987654321 1E-9 -> 1 377 dqctm587 comparetotmag 0.000000987654321 1E-8 -> 1 378 dqctm588 comparetotmag 0.000000987654321 1E-7 -> 1 379 dqctm589 comparetotmag 0.000000987654321 1E-6 -> -1 380 dqctm590 comparetotmag 0.000000987654321 1E-5 -> -1 381 dqctm591 comparetotmag 0.000000987654321 1E-4 -> -1 382 dqctm592 comparetotmag 0.000000987654321 1E-3 -> -1 383 dqctm593 comparetotmag 0.000000987654321 1E-2 -> -1 384 dqctm594 comparetotmag 0.000000987654321 1E-1 -> -1 385 dqctm595 comparetotmag 0.000000987654321 1E-0 -> -1 386 dqctm596 comparetotmag 0.000000987654321 1E+1 -> -1 387 dqctm597 comparetotmag 0.000000987654321 1E+2 -> -1 388 dqctm598 comparetotmag 0.000000987654321 1E+3 -> -1 389 dqctm599 comparetotmag 0.000000987654321 1E+4 -> -1 390 391 -- check some unit-y traps 392 dqctm600 comparetotmag 12 12.2345 -> -1 393 dqctm601 comparetotmag 12.0 12.2345 -> -1 394 dqctm602 comparetotmag 12.00 12.2345 -> -1 395 dqctm603 comparetotmag 12.000 12.2345 -> -1 396 dqctm604 comparetotmag 12.0000 12.2345 -> -1 397 dqctm605 comparetotmag 12.00000 12.2345 -> -1 398 dqctm606 comparetotmag 12.000000 12.2345 -> -1 399 dqctm607 comparetotmag 12.0000000 12.2345 -> -1 400 dqctm608 comparetotmag 12.00000000 12.2345 -> -1 401 dqctm609 comparetotmag 12.000000000 12.2345 -> -1 402 dqctm610 comparetotmag 12.1234 12 -> 1 403 dqctm611 comparetotmag 12.1234 12.0 -> 1 404 dqctm612 comparetotmag 12.1234 12.00 -> 1 405 dqctm613 comparetotmag 12.1234 12.000 -> 1 406 dqctm614 comparetotmag 12.1234 12.0000 -> 1 407 dqctm615 comparetotmag 12.1234 12.00000 -> 1 408 dqctm616 comparetotmag 12.1234 12.000000 -> 1 409 dqctm617 comparetotmag 12.1234 12.0000000 -> 1 410 dqctm618 comparetotmag 12.1234 12.00000000 -> 1 411 dqctm619 comparetotmag 12.1234 12.000000000 -> 1 412 dqctm620 comparetotmag -12 -12.2345 -> -1 413 dqctm621 comparetotmag -12.0 -12.2345 -> -1 414 dqctm622 comparetotmag -12.00 -12.2345 -> -1 415 dqctm623 comparetotmag -12.000 -12.2345 -> -1 416 dqctm624 comparetotmag -12.0000 -12.2345 -> -1 417 dqctm625 comparetotmag -12.00000 -12.2345 -> -1 418 dqctm626 comparetotmag -12.000000 -12.2345 -> -1 419 dqctm627 comparetotmag -12.0000000 -12.2345 -> -1 420 dqctm628 comparetotmag -12.00000000 -12.2345 -> -1 421 dqctm629 comparetotmag -12.000000000 -12.2345 -> -1 422 dqctm630 comparetotmag -12.1234 -12 -> 1 423 dqctm631 comparetotmag -12.1234 -12.0 -> 1 424 dqctm632 comparetotmag -12.1234 -12.00 -> 1 425 dqctm633 comparetotmag -12.1234 -12.000 -> 1 426 dqctm634 comparetotmag -12.1234 -12.0000 -> 1 427 dqctm635 comparetotmag -12.1234 -12.00000 -> 1 428 dqctm636 comparetotmag -12.1234 -12.000000 -> 1 429 dqctm637 comparetotmag -12.1234 -12.0000000 -> 1 430 dqctm638 comparetotmag -12.1234 -12.00000000 -> 1 431 dqctm639 comparetotmag -12.1234 -12.000000000 -> 1 432 433 -- extended zeros 434 dqctm640 comparetotmag 0 0 -> 0 435 dqctm641 comparetotmag 0 -0 -> 0 436 dqctm642 comparetotmag 0 -0.0 -> 1 437 dqctm643 comparetotmag 0 0.0 -> 1 438 dqctm644 comparetotmag -0 0 -> 0 439 dqctm645 comparetotmag -0 -0 -> 0 440 dqctm646 comparetotmag -0 -0.0 -> 1 441 dqctm647 comparetotmag -0 0.0 -> 1 442 dqctm648 comparetotmag 0.0 0 -> -1 443 dqctm649 comparetotmag 0.0 -0 -> -1 444 dqctm650 comparetotmag 0.0 -0.0 -> 0 445 dqctm651 comparetotmag 0.0 0.0 -> 0 446 dqctm652 comparetotmag -0.0 0 -> -1 447 dqctm653 comparetotmag -0.0 -0 -> -1 448 dqctm654 comparetotmag -0.0 -0.0 -> 0 449 dqctm655 comparetotmag -0.0 0.0 -> 0 450 451 dqctm656 comparetotmag -0E1 0.0 -> 1 452 dqctm657 comparetotmag -0E2 0.0 -> 1 453 dqctm658 comparetotmag 0E1 0.0 -> 1 454 dqctm659 comparetotmag 0E2 0.0 -> 1 455 dqctm660 comparetotmag -0E1 0 -> 1 456 dqctm661 comparetotmag -0E2 0 -> 1 457 dqctm662 comparetotmag 0E1 0 -> 1 458 dqctm663 comparetotmag 0E2 0 -> 1 459 dqctm664 comparetotmag -0E1 -0E1 -> 0 460 dqctm665 comparetotmag -0E2 -0E1 -> 1 461 dqctm666 comparetotmag 0E1 -0E1 -> 0 462 dqctm667 comparetotmag 0E2 -0E1 -> 1 463 dqctm668 comparetotmag -0E1 -0E2 -> -1 464 dqctm669 comparetotmag -0E2 -0E2 -> 0 465 dqctm670 comparetotmag 0E1 -0E2 -> -1 466 dqctm671 comparetotmag 0E2 -0E2 -> 0 467 dqctm672 comparetotmag -0E1 0E1 -> 0 468 dqctm673 comparetotmag -0E2 0E1 -> 1 469 dqctm674 comparetotmag 0E1 0E1 -> 0 470 dqctm675 comparetotmag 0E2 0E1 -> 1 471 dqctm676 comparetotmag -0E1 0E2 -> -1 472 dqctm677 comparetotmag -0E2 0E2 -> 0 473 dqctm678 comparetotmag 0E1 0E2 -> -1 474 dqctm679 comparetotmag 0E2 0E2 -> 0 475 476 -- trailing zeros; unit-y 477 dqctm680 comparetotmag 12 12 -> 0 478 dqctm681 comparetotmag 12 12.0 -> 1 479 dqctm682 comparetotmag 12 12.00 -> 1 480 dqctm683 comparetotmag 12 12.000 -> 1 481 dqctm684 comparetotmag 12 12.0000 -> 1 482 dqctm685 comparetotmag 12 12.00000 -> 1 483 dqctm686 comparetotmag 12 12.000000 -> 1 484 dqctm687 comparetotmag 12 12.0000000 -> 1 485 dqctm688 comparetotmag 12 12.00000000 -> 1 486 dqctm689 comparetotmag 12 12.000000000 -> 1 487 dqctm690 comparetotmag 12 12 -> 0 488 dqctm691 comparetotmag 12.0 12 -> -1 489 dqctm692 comparetotmag 12.00 12 -> -1 490 dqctm693 comparetotmag 12.000 12 -> -1 491 dqctm694 comparetotmag 12.0000 12 -> -1 492 dqctm695 comparetotmag 12.00000 12 -> -1 493 dqctm696 comparetotmag 12.000000 12 -> -1 494 dqctm697 comparetotmag 12.0000000 12 -> -1 495 dqctm698 comparetotmag 12.00000000 12 -> -1 496 dqctm699 comparetotmag 12.000000000 12 -> -1 497 498 -- old long operand checks 499 dqctm701 comparetotmag 12345678000 1 -> 1 500 dqctm702 comparetotmag 1 12345678000 -> -1 501 dqctm703 comparetotmag 1234567800 1 -> 1 502 dqctm704 comparetotmag 1 1234567800 -> -1 503 dqctm705 comparetotmag 1234567890 1 -> 1 504 dqctm706 comparetotmag 1 1234567890 -> -1 505 dqctm707 comparetotmag 1234567891 1 -> 1 506 dqctm708 comparetotmag 1 1234567891 -> -1 507 dqctm709 comparetotmag 12345678901 1 -> 1 508 dqctm710 comparetotmag 1 12345678901 -> -1 509 dqctm711 comparetotmag 1234567896 1 -> 1 510 dqctm712 comparetotmag 1 1234567896 -> -1 511 dqctm713 comparetotmag -1234567891 1 -> 1 512 dqctm714 comparetotmag 1 -1234567891 -> -1 513 dqctm715 comparetotmag -12345678901 1 -> 1 514 dqctm716 comparetotmag 1 -12345678901 -> -1 515 dqctm717 comparetotmag -1234567896 1 -> 1 516 dqctm718 comparetotmag 1 -1234567896 -> -1 517 518 -- old residue cases 519 dqctm740 comparetotmag 1 0.9999999 -> 1 520 dqctm741 comparetotmag 1 0.999999 -> 1 521 dqctm742 comparetotmag 1 0.99999 -> 1 522 dqctm743 comparetotmag 1 1.0000 -> 1 523 dqctm744 comparetotmag 1 1.00001 -> -1 524 dqctm745 comparetotmag 1 1.000001 -> -1 525 dqctm746 comparetotmag 1 1.0000001 -> -1 526 dqctm750 comparetotmag 0.9999999 1 -> -1 527 dqctm751 comparetotmag 0.999999 1 -> -1 528 dqctm752 comparetotmag 0.99999 1 -> -1 529 dqctm753 comparetotmag 1.0000 1 -> -1 530 dqctm754 comparetotmag 1.00001 1 -> 1 531 dqctm755 comparetotmag 1.000001 1 -> 1 532 dqctm756 comparetotmag 1.0000001 1 -> 1 533 534 -- Specials 535 dqctm780 comparetotmag Inf -Inf -> 0 536 dqctm781 comparetotmag Inf -1000 -> 1 537 dqctm782 comparetotmag Inf -1 -> 1 538 dqctm783 comparetotmag Inf -0 -> 1 539 dqctm784 comparetotmag Inf 0 -> 1 540 dqctm785 comparetotmag Inf 1 -> 1 541 dqctm786 comparetotmag Inf 1000 -> 1 542 dqctm787 comparetotmag Inf Inf -> 0 543 dqctm788 comparetotmag -1000 Inf -> -1 544 dqctm789 comparetotmag -Inf Inf -> 0 545 dqctm790 comparetotmag -1 Inf -> -1 546 dqctm791 comparetotmag -0 Inf -> -1 547 dqctm792 comparetotmag 0 Inf -> -1 548 dqctm793 comparetotmag 1 Inf -> -1 549 dqctm794 comparetotmag 1000 Inf -> -1 550 dqctm795 comparetotmag Inf Inf -> 0 551 552 dqctm800 comparetotmag -Inf -Inf -> 0 553 dqctm801 comparetotmag -Inf -1000 -> 1 554 dqctm802 comparetotmag -Inf -1 -> 1 555 dqctm803 comparetotmag -Inf -0 -> 1 556 dqctm804 comparetotmag -Inf 0 -> 1 557 dqctm805 comparetotmag -Inf 1 -> 1 558 dqctm806 comparetotmag -Inf 1000 -> 1 559 dqctm807 comparetotmag -Inf Inf -> 0 560 dqctm808 comparetotmag -Inf -Inf -> 0 561 dqctm809 comparetotmag -1000 -Inf -> -1 562 dqctm810 comparetotmag -1 -Inf -> -1 563 dqctm811 comparetotmag -0 -Inf -> -1 564 dqctm812 comparetotmag 0 -Inf -> -1 565 dqctm813 comparetotmag 1 -Inf -> -1 566 dqctm814 comparetotmag 1000 -Inf -> -1 567 dqctm815 comparetotmag Inf -Inf -> 0 568 569 dqctm821 comparetotmag NaN -Inf -> 1 570 dqctm822 comparetotmag NaN -1000 -> 1 571 dqctm823 comparetotmag NaN -1 -> 1 572 dqctm824 comparetotmag NaN -0 -> 1 573 dqctm825 comparetotmag NaN 0 -> 1 574 dqctm826 comparetotmag NaN 1 -> 1 575 dqctm827 comparetotmag NaN 1000 -> 1 576 dqctm828 comparetotmag NaN Inf -> 1 577 dqctm829 comparetotmag NaN NaN -> 0 578 dqctm830 comparetotmag -Inf NaN -> -1 579 dqctm831 comparetotmag -1000 NaN -> -1 580 dqctm832 comparetotmag -1 NaN -> -1 581 dqctm833 comparetotmag -0 NaN -> -1 582 dqctm834 comparetotmag 0 NaN -> -1 583 dqctm835 comparetotmag 1 NaN -> -1 584 dqctm836 comparetotmag 1000 NaN -> -1 585 dqctm837 comparetotmag Inf NaN -> -1 586 dqctm838 comparetotmag -NaN -NaN -> 0 587 dqctm839 comparetotmag +NaN -NaN -> 0 588 dqctm840 comparetotmag -NaN +NaN -> 0 589 590 dqctm841 comparetotmag sNaN -sNaN -> 0 591 dqctm842 comparetotmag sNaN -NaN -> -1 592 dqctm843 comparetotmag sNaN -Inf -> 1 593 dqctm844 comparetotmag sNaN -1000 -> 1 594 dqctm845 comparetotmag sNaN -1 -> 1 595 dqctm846 comparetotmag sNaN -0 -> 1 596 dqctm847 comparetotmag sNaN 0 -> 1 597 dqctm848 comparetotmag sNaN 1 -> 1 598 dqctm849 comparetotmag sNaN 1000 -> 1 599 dqctm850 comparetotmag sNaN NaN -> -1 600 dqctm851 comparetotmag sNaN sNaN -> 0 601 602 dqctm852 comparetotmag -sNaN sNaN -> 0 603 dqctm853 comparetotmag -NaN sNaN -> 1 604 dqctm854 comparetotmag -Inf sNaN -> -1 605 dqctm855 comparetotmag -1000 sNaN -> -1 606 dqctm856 comparetotmag -1 sNaN -> -1 607 dqctm857 comparetotmag -0 sNaN -> -1 608 dqctm858 comparetotmag 0 sNaN -> -1 609 dqctm859 comparetotmag 1 sNaN -> -1 610 dqctm860 comparetotmag 1000 sNaN -> -1 611 dqctm861 comparetotmag Inf sNaN -> -1 612 dqctm862 comparetotmag NaN sNaN -> 1 613 dqctm863 comparetotmag sNaN sNaN -> 0 614 615 dqctm871 comparetotmag -sNaN -sNaN -> 0 616 dqctm872 comparetotmag -sNaN -NaN -> -1 617 dqctm873 comparetotmag -sNaN -Inf -> 1 618 dqctm874 comparetotmag -sNaN -1000 -> 1 619 dqctm875 comparetotmag -sNaN -1 -> 1 620 dqctm876 comparetotmag -sNaN -0 -> 1 621 dqctm877 comparetotmag -sNaN 0 -> 1 622 dqctm878 comparetotmag -sNaN 1 -> 1 623 dqctm879 comparetotmag -sNaN 1000 -> 1 624 dqctm880 comparetotmag -sNaN NaN -> -1 625 dqctm881 comparetotmag -sNaN sNaN -> 0 626 627 dqctm882 comparetotmag -sNaN -sNaN -> 0 628 dqctm883 comparetotmag -NaN -sNaN -> 1 629 dqctm884 comparetotmag -Inf -sNaN -> -1 630 dqctm885 comparetotmag -1000 -sNaN -> -1 631 dqctm886 comparetotmag -1 -sNaN -> -1 632 dqctm887 comparetotmag -0 -sNaN -> -1 633 dqctm888 comparetotmag 0 -sNaN -> -1 634 dqctm889 comparetotmag 1 -sNaN -> -1 635 dqctm890 comparetotmag 1000 -sNaN -> -1 636 dqctm891 comparetotmag Inf -sNaN -> -1 637 dqctm892 comparetotmag NaN -sNaN -> 1 638 dqctm893 comparetotmag sNaN -sNaN -> 0 639 640 -- NaNs with payload 641 dqctm960 comparetotmag NaN9 -Inf -> 1 642 dqctm961 comparetotmag NaN8 999 -> 1 643 dqctm962 comparetotmag NaN77 Inf -> 1 644 dqctm963 comparetotmag -NaN67 NaN5 -> 1 645 dqctm964 comparetotmag -Inf -NaN4 -> -1 646 dqctm965 comparetotmag -999 -NaN33 -> -1 647 dqctm966 comparetotmag Inf NaN2 -> -1 648 649 dqctm970 comparetotmag -NaN41 -NaN42 -> -1 650 dqctm971 comparetotmag +NaN41 -NaN42 -> -1 651 dqctm972 comparetotmag -NaN41 +NaN42 -> -1 652 dqctm973 comparetotmag +NaN41 +NaN42 -> -1 653 dqctm974 comparetotmag -NaN42 -NaN01 -> 1 654 dqctm975 comparetotmag +NaN42 -NaN01 -> 1 655 dqctm976 comparetotmag -NaN42 +NaN01 -> 1 656 dqctm977 comparetotmag +NaN42 +NaN01 -> 1 657 658 dqctm980 comparetotmag -sNaN771 -sNaN772 -> -1 659 dqctm981 comparetotmag +sNaN771 -sNaN772 -> -1 660 dqctm982 comparetotmag -sNaN771 +sNaN772 -> -1 661 dqctm983 comparetotmag +sNaN771 +sNaN772 -> -1 662 dqctm984 comparetotmag -sNaN772 -sNaN771 -> 1 663 dqctm985 comparetotmag +sNaN772 -sNaN771 -> 1 664 dqctm986 comparetotmag -sNaN772 +sNaN771 -> 1 665 dqctm987 comparetotmag +sNaN772 +sNaN771 -> 1 666 667 dqctm991 comparetotmag -sNaN99 -Inf -> 1 668 dqctm992 comparetotmag sNaN98 -11 -> 1 669 dqctm993 comparetotmag sNaN97 NaN -> -1 670 dqctm994 comparetotmag sNaN16 sNaN94 -> -1 671 dqctm995 comparetotmag NaN85 sNaN83 -> 1 672 dqctm996 comparetotmag -Inf sNaN92 -> -1 673 dqctm997 comparetotmag 088 sNaN81 -> -1 674 dqctm998 comparetotmag Inf sNaN90 -> -1 675 dqctm999 comparetotmag NaN -sNaN89 -> 1 676 677 -- spread zeros 678 dqctm1110 comparetotmag 0E-6143 0 -> -1 679 dqctm1111 comparetotmag 0E-6143 -0 -> -1 680 dqctm1112 comparetotmag -0E-6143 0 -> -1 681 dqctm1113 comparetotmag -0E-6143 -0 -> -1 682 dqctm1114 comparetotmag 0E-6143 0E+6144 -> -1 683 dqctm1115 comparetotmag 0E-6143 -0E+6144 -> -1 684 dqctm1116 comparetotmag -0E-6143 0E+6144 -> -1 685 dqctm1117 comparetotmag -0E-6143 -0E+6144 -> -1 686 dqctm1118 comparetotmag 0 0E+6144 -> -1 687 dqctm1119 comparetotmag 0 -0E+6144 -> -1 688 dqctm1120 comparetotmag -0 0E+6144 -> -1 689 dqctm1121 comparetotmag -0 -0E+6144 -> -1 690 691 dqctm1130 comparetotmag 0E+6144 0 -> 1 692 dqctm1131 comparetotmag 0E+6144 -0 -> 1 693 dqctm1132 comparetotmag -0E+6144 0 -> 1 694 dqctm1133 comparetotmag -0E+6144 -0 -> 1 695 dqctm1134 comparetotmag 0E+6144 0E-6143 -> 1 696 dqctm1135 comparetotmag 0E+6144 -0E-6143 -> 1 697 dqctm1136 comparetotmag -0E+6144 0E-6143 -> 1 698 dqctm1137 comparetotmag -0E+6144 -0E-6143 -> 1 699 dqctm1138 comparetotmag 0 0E-6143 -> 1 700 dqctm1139 comparetotmag 0 -0E-6143 -> 1 701 dqctm1140 comparetotmag -0 0E-6143 -> 1 702 dqctm1141 comparetotmag -0 -0E-6143 -> 1 703 704 -- Null tests 705 dqctm9990 comparetotmag 10 # -> NaN Invalid_operation 706 dqctm9991 comparetotmag # 10 -> NaN Invalid_operation 707