| ------------------------------------------------------------------------ |
| -- dqCompareSig.decTest -- decQuad comparison; all NaNs signal -- |
| -- Copyright (c) IBM Corporation, 1981, 2008. 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.59 |
| |
| -- 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). |
| |
| -- All operands and results are decQuads. |
| extended: 1 |
| clamp: 1 |
| precision: 34 |
| maxExponent: 6144 |
| minExponent: -6143 |
| rounding: half_even |
| |
| -- sanity checks |
| dqcms001 comparesig -2 -2 -> 0 |
| dqcms002 comparesig -2 -1 -> -1 |
| dqcms003 comparesig -2 0 -> -1 |
| dqcms004 comparesig -2 1 -> -1 |
| dqcms005 comparesig -2 2 -> -1 |
| dqcms006 comparesig -1 -2 -> 1 |
| dqcms007 comparesig -1 -1 -> 0 |
| dqcms008 comparesig -1 0 -> -1 |
| dqcms009 comparesig -1 1 -> -1 |
| dqcms010 comparesig -1 2 -> -1 |
| dqcms011 comparesig 0 -2 -> 1 |
| dqcms012 comparesig 0 -1 -> 1 |
| dqcms013 comparesig 0 0 -> 0 |
| dqcms014 comparesig 0 1 -> -1 |
| dqcms015 comparesig 0 2 -> -1 |
| dqcms016 comparesig 1 -2 -> 1 |
| dqcms017 comparesig 1 -1 -> 1 |
| dqcms018 comparesig 1 0 -> 1 |
| dqcms019 comparesig 1 1 -> 0 |
| dqcms020 comparesig 1 2 -> -1 |
| dqcms021 comparesig 2 -2 -> 1 |
| dqcms022 comparesig 2 -1 -> 1 |
| dqcms023 comparesig 2 0 -> 1 |
| dqcms025 comparesig 2 1 -> 1 |
| dqcms026 comparesig 2 2 -> 0 |
| |
| dqcms031 comparesig -20 -20 -> 0 |
| dqcms032 comparesig -20 -10 -> -1 |
| dqcms033 comparesig -20 00 -> -1 |
| dqcms034 comparesig -20 10 -> -1 |
| dqcms035 comparesig -20 20 -> -1 |
| dqcms036 comparesig -10 -20 -> 1 |
| dqcms037 comparesig -10 -10 -> 0 |
| dqcms038 comparesig -10 00 -> -1 |
| dqcms039 comparesig -10 10 -> -1 |
| dqcms040 comparesig -10 20 -> -1 |
| dqcms041 comparesig 00 -20 -> 1 |
| dqcms042 comparesig 00 -10 -> 1 |
| dqcms043 comparesig 00 00 -> 0 |
| dqcms044 comparesig 00 10 -> -1 |
| dqcms045 comparesig 00 20 -> -1 |
| dqcms046 comparesig 10 -20 -> 1 |
| dqcms047 comparesig 10 -10 -> 1 |
| dqcms048 comparesig 10 00 -> 1 |
| dqcms049 comparesig 10 10 -> 0 |
| dqcms050 comparesig 10 20 -> -1 |
| dqcms051 comparesig 20 -20 -> 1 |
| dqcms052 comparesig 20 -10 -> 1 |
| dqcms053 comparesig 20 00 -> 1 |
| dqcms055 comparesig 20 10 -> 1 |
| dqcms056 comparesig 20 20 -> 0 |
| |
| dqcms061 comparesig -2.0 -2.0 -> 0 |
| dqcms062 comparesig -2.0 -1.0 -> -1 |
| dqcms063 comparesig -2.0 0.0 -> -1 |
| dqcms064 comparesig -2.0 1.0 -> -1 |
| dqcms065 comparesig -2.0 2.0 -> -1 |
| dqcms066 comparesig -1.0 -2.0 -> 1 |
| dqcms067 comparesig -1.0 -1.0 -> 0 |
| dqcms068 comparesig -1.0 0.0 -> -1 |
| dqcms069 comparesig -1.0 1.0 -> -1 |
| dqcms070 comparesig -1.0 2.0 -> -1 |
| dqcms071 comparesig 0.0 -2.0 -> 1 |
| dqcms072 comparesig 0.0 -1.0 -> 1 |
| dqcms073 comparesig 0.0 0.0 -> 0 |
| dqcms074 comparesig 0.0 1.0 -> -1 |
| dqcms075 comparesig 0.0 2.0 -> -1 |
| dqcms076 comparesig 1.0 -2.0 -> 1 |
| dqcms077 comparesig 1.0 -1.0 -> 1 |
| dqcms078 comparesig 1.0 0.0 -> 1 |
| dqcms079 comparesig 1.0 1.0 -> 0 |
| dqcms080 comparesig 1.0 2.0 -> -1 |
| dqcms081 comparesig 2.0 -2.0 -> 1 |
| dqcms082 comparesig 2.0 -1.0 -> 1 |
| dqcms083 comparesig 2.0 0.0 -> 1 |
| dqcms085 comparesig 2.0 1.0 -> 1 |
| dqcms086 comparesig 2.0 2.0 -> 0 |
| |
| -- now some cases which might overflow if subtract were used |
| dqcms090 comparesig 9.999999999999999999999999999999999E+6144 9.999999999999999999999999999999999E+6144 -> 0 |
| dqcms091 comparesig -9.999999999999999999999999999999999E+6144 9.999999999999999999999999999999999E+6144 -> -1 |
| dqcms092 comparesig 9.999999999999999999999999999999999E+6144 -9.999999999999999999999999999999999E+6144 -> 1 |
| dqcms093 comparesig -9.999999999999999999999999999999999E+6144 -9.999999999999999999999999999999999E+6144 -> 0 |
| |
| -- some differing length/exponent cases |
| dqcms100 comparesig 7.0 7.0 -> 0 |
| dqcms101 comparesig 7.0 7 -> 0 |
| dqcms102 comparesig 7 7.0 -> 0 |
| dqcms103 comparesig 7E+0 7.0 -> 0 |
| dqcms104 comparesig 70E-1 7.0 -> 0 |
| dqcms105 comparesig 0.7E+1 7 -> 0 |
| dqcms106 comparesig 70E-1 7 -> 0 |
| dqcms107 comparesig 7.0 7E+0 -> 0 |
| dqcms108 comparesig 7.0 70E-1 -> 0 |
| dqcms109 comparesig 7 0.7E+1 -> 0 |
| dqcms110 comparesig 7 70E-1 -> 0 |
| |
| dqcms120 comparesig 8.0 7.0 -> 1 |
| dqcms121 comparesig 8.0 7 -> 1 |
| dqcms122 comparesig 8 7.0 -> 1 |
| dqcms123 comparesig 8E+0 7.0 -> 1 |
| dqcms124 comparesig 80E-1 7.0 -> 1 |
| dqcms125 comparesig 0.8E+1 7 -> 1 |
| dqcms126 comparesig 80E-1 7 -> 1 |
| dqcms127 comparesig 8.0 7E+0 -> 1 |
| dqcms128 comparesig 8.0 70E-1 -> 1 |
| dqcms129 comparesig 8 0.7E+1 -> 1 |
| dqcms130 comparesig 8 70E-1 -> 1 |
| |
| dqcms140 comparesig 8.0 9.0 -> -1 |
| dqcms141 comparesig 8.0 9 -> -1 |
| dqcms142 comparesig 8 9.0 -> -1 |
| dqcms143 comparesig 8E+0 9.0 -> -1 |
| dqcms144 comparesig 80E-1 9.0 -> -1 |
| dqcms145 comparesig 0.8E+1 9 -> -1 |
| dqcms146 comparesig 80E-1 9 -> -1 |
| dqcms147 comparesig 8.0 9E+0 -> -1 |
| dqcms148 comparesig 8.0 90E-1 -> -1 |
| dqcms149 comparesig 8 0.9E+1 -> -1 |
| dqcms150 comparesig 8 90E-1 -> -1 |
| |
| -- and again, with sign changes -+ .. |
| dqcms200 comparesig -7.0 7.0 -> -1 |
| dqcms201 comparesig -7.0 7 -> -1 |
| dqcms202 comparesig -7 7.0 -> -1 |
| dqcms203 comparesig -7E+0 7.0 -> -1 |
| dqcms204 comparesig -70E-1 7.0 -> -1 |
| dqcms205 comparesig -0.7E+1 7 -> -1 |
| dqcms206 comparesig -70E-1 7 -> -1 |
| dqcms207 comparesig -7.0 7E+0 -> -1 |
| dqcms208 comparesig -7.0 70E-1 -> -1 |
| dqcms209 comparesig -7 0.7E+1 -> -1 |
| dqcms210 comparesig -7 70E-1 -> -1 |
| |
| dqcms220 comparesig -8.0 7.0 -> -1 |
| dqcms221 comparesig -8.0 7 -> -1 |
| dqcms222 comparesig -8 7.0 -> -1 |
| dqcms223 comparesig -8E+0 7.0 -> -1 |
| dqcms224 comparesig -80E-1 7.0 -> -1 |
| dqcms225 comparesig -0.8E+1 7 -> -1 |
| dqcms226 comparesig -80E-1 7 -> -1 |
| dqcms227 comparesig -8.0 7E+0 -> -1 |
| dqcms228 comparesig -8.0 70E-1 -> -1 |
| dqcms229 comparesig -8 0.7E+1 -> -1 |
| dqcms230 comparesig -8 70E-1 -> -1 |
| |
| dqcms240 comparesig -8.0 9.0 -> -1 |
| dqcms241 comparesig -8.0 9 -> -1 |
| dqcms242 comparesig -8 9.0 -> -1 |
| dqcms243 comparesig -8E+0 9.0 -> -1 |
| dqcms244 comparesig -80E-1 9.0 -> -1 |
| dqcms245 comparesig -0.8E+1 9 -> -1 |
| dqcms246 comparesig -80E-1 9 -> -1 |
| dqcms247 comparesig -8.0 9E+0 -> -1 |
| dqcms248 comparesig -8.0 90E-1 -> -1 |
| dqcms249 comparesig -8 0.9E+1 -> -1 |
| dqcms250 comparesig -8 90E-1 -> -1 |
| |
| -- and again, with sign changes +- .. |
| dqcms300 comparesig 7.0 -7.0 -> 1 |
| dqcms301 comparesig 7.0 -7 -> 1 |
| dqcms302 comparesig 7 -7.0 -> 1 |
| dqcms303 comparesig 7E+0 -7.0 -> 1 |
| dqcms304 comparesig 70E-1 -7.0 -> 1 |
| dqcms305 comparesig .7E+1 -7 -> 1 |
| dqcms306 comparesig 70E-1 -7 -> 1 |
| dqcms307 comparesig 7.0 -7E+0 -> 1 |
| dqcms308 comparesig 7.0 -70E-1 -> 1 |
| dqcms309 comparesig 7 -.7E+1 -> 1 |
| dqcms310 comparesig 7 -70E-1 -> 1 |
| |
| dqcms320 comparesig 8.0 -7.0 -> 1 |
| dqcms321 comparesig 8.0 -7 -> 1 |
| dqcms322 comparesig 8 -7.0 -> 1 |
| dqcms323 comparesig 8E+0 -7.0 -> 1 |
| dqcms324 comparesig 80E-1 -7.0 -> 1 |
| dqcms325 comparesig .8E+1 -7 -> 1 |
| dqcms326 comparesig 80E-1 -7 -> 1 |
| dqcms327 comparesig 8.0 -7E+0 -> 1 |
| dqcms328 comparesig 8.0 -70E-1 -> 1 |
| dqcms329 comparesig 8 -.7E+1 -> 1 |
| dqcms330 comparesig 8 -70E-1 -> 1 |
| |
| dqcms340 comparesig 8.0 -9.0 -> 1 |
| dqcms341 comparesig 8.0 -9 -> 1 |
| dqcms342 comparesig 8 -9.0 -> 1 |
| dqcms343 comparesig 8E+0 -9.0 -> 1 |
| dqcms344 comparesig 80E-1 -9.0 -> 1 |
| dqcms345 comparesig .8E+1 -9 -> 1 |
| dqcms346 comparesig 80E-1 -9 -> 1 |
| dqcms347 comparesig 8.0 -9E+0 -> 1 |
| dqcms348 comparesig 8.0 -90E-1 -> 1 |
| dqcms349 comparesig 8 -.9E+1 -> 1 |
| dqcms350 comparesig 8 -90E-1 -> 1 |
| |
| -- and again, with sign changes -- .. |
| dqcms400 comparesig -7.0 -7.0 -> 0 |
| dqcms401 comparesig -7.0 -7 -> 0 |
| dqcms402 comparesig -7 -7.0 -> 0 |
| dqcms403 comparesig -7E+0 -7.0 -> 0 |
| dqcms404 comparesig -70E-1 -7.0 -> 0 |
| dqcms405 comparesig -.7E+1 -7 -> 0 |
| dqcms406 comparesig -70E-1 -7 -> 0 |
| dqcms407 comparesig -7.0 -7E+0 -> 0 |
| dqcms408 comparesig -7.0 -70E-1 -> 0 |
| dqcms409 comparesig -7 -.7E+1 -> 0 |
| dqcms410 comparesig -7 -70E-1 -> 0 |
| |
| dqcms420 comparesig -8.0 -7.0 -> -1 |
| dqcms421 comparesig -8.0 -7 -> -1 |
| dqcms422 comparesig -8 -7.0 -> -1 |
| dqcms423 comparesig -8E+0 -7.0 -> -1 |
| dqcms424 comparesig -80E-1 -7.0 -> -1 |
| dqcms425 comparesig -.8E+1 -7 -> -1 |
| dqcms426 comparesig -80E-1 -7 -> -1 |
| dqcms427 comparesig -8.0 -7E+0 -> -1 |
| dqcms428 comparesig -8.0 -70E-1 -> -1 |
| dqcms429 comparesig -8 -.7E+1 -> -1 |
| dqcms430 comparesig -8 -70E-1 -> -1 |
| |
| dqcms440 comparesig -8.0 -9.0 -> 1 |
| dqcms441 comparesig -8.0 -9 -> 1 |
| dqcms442 comparesig -8 -9.0 -> 1 |
| dqcms443 comparesig -8E+0 -9.0 -> 1 |
| dqcms444 comparesig -80E-1 -9.0 -> 1 |
| dqcms445 comparesig -.8E+1 -9 -> 1 |
| dqcms446 comparesig -80E-1 -9 -> 1 |
| dqcms447 comparesig -8.0 -9E+0 -> 1 |
| dqcms448 comparesig -8.0 -90E-1 -> 1 |
| dqcms449 comparesig -8 -.9E+1 -> 1 |
| dqcms450 comparesig -8 -90E-1 -> 1 |
| |
| |
| -- testcases that subtract to lots of zeros at boundaries [pgr] |
| dqcms473 comparesig 123.9999999999999999994560000000000E-89 123.999999999999999999456E-89 -> 0 |
| dqcms474 comparesig 123.999999999999999999456000000000E+89 123.999999999999999999456E+89 -> 0 |
| dqcms475 comparesig 123.99999999999999999945600000000E-89 123.999999999999999999456E-89 -> 0 |
| dqcms476 comparesig 123.9999999999999999994560000000E+89 123.999999999999999999456E+89 -> 0 |
| dqcms477 comparesig 123.999999999999999999456000000E-89 123.999999999999999999456E-89 -> 0 |
| dqcms478 comparesig 123.99999999999999999945600000E+89 123.999999999999999999456E+89 -> 0 |
| dqcms479 comparesig 123.9999999999999999994560000E-89 123.999999999999999999456E-89 -> 0 |
| dqcms480 comparesig 123.999999999999999999456000E+89 123.999999999999999999456E+89 -> 0 |
| dqcms481 comparesig 123.99999999999999999945600E-89 123.999999999999999999456E-89 -> 0 |
| dqcms482 comparesig 123.9999999999999999994560E+89 123.999999999999999999456E+89 -> 0 |
| dqcms483 comparesig 123.999999999999999999456E-89 123.999999999999999999456E-89 -> 0 |
| dqcms487 comparesig 123.999999999999999999456E+89 123.9999999999999999994560000000000E+89 -> 0 |
| dqcms488 comparesig 123.999999999999999999456E-89 123.999999999999999999456000000000E-89 -> 0 |
| dqcms489 comparesig 123.999999999999999999456E+89 123.99999999999999999945600000000E+89 -> 0 |
| dqcms490 comparesig 123.999999999999999999456E-89 123.9999999999999999994560000000E-89 -> 0 |
| dqcms491 comparesig 123.999999999999999999456E+89 123.999999999999999999456000000E+89 -> 0 |
| dqcms492 comparesig 123.999999999999999999456E-89 123.99999999999999999945600000E-89 -> 0 |
| dqcms493 comparesig 123.999999999999999999456E+89 123.9999999999999999994560000E+89 -> 0 |
| dqcms494 comparesig 123.999999999999999999456E-89 123.999999999999999999456000E-89 -> 0 |
| dqcms495 comparesig 123.999999999999999999456E+89 123.99999999999999999945600E+89 -> 0 |
| dqcms496 comparesig 123.999999999999999999456E-89 123.9999999999999999994560E-89 -> 0 |
| dqcms497 comparesig 123.999999999999999999456E+89 123.999999999999999999456E+89 -> 0 |
| |
| -- wide-ranging, around precision; signs equal |
| dqcms500 comparesig 1 1E-15 -> 1 |
| dqcms501 comparesig 1 1E-14 -> 1 |
| dqcms502 comparesig 1 1E-13 -> 1 |
| dqcms503 comparesig 1 1E-12 -> 1 |
| dqcms504 comparesig 1 1E-11 -> 1 |
| dqcms505 comparesig 1 1E-10 -> 1 |
| dqcms506 comparesig 1 1E-9 -> 1 |
| dqcms507 comparesig 1 1E-8 -> 1 |
| dqcms508 comparesig 1 1E-7 -> 1 |
| dqcms509 comparesig 1 1E-6 -> 1 |
| dqcms510 comparesig 1 1E-5 -> 1 |
| dqcms511 comparesig 1 1E-4 -> 1 |
| dqcms512 comparesig 1 1E-3 -> 1 |
| dqcms513 comparesig 1 1E-2 -> 1 |
| dqcms514 comparesig 1 1E-1 -> 1 |
| dqcms515 comparesig 1 1E-0 -> 0 |
| dqcms516 comparesig 1 1E+1 -> -1 |
| dqcms517 comparesig 1 1E+2 -> -1 |
| dqcms518 comparesig 1 1E+3 -> -1 |
| dqcms519 comparesig 1 1E+4 -> -1 |
| dqcms521 comparesig 1 1E+5 -> -1 |
| dqcms522 comparesig 1 1E+6 -> -1 |
| dqcms523 comparesig 1 1E+7 -> -1 |
| dqcms524 comparesig 1 1E+8 -> -1 |
| dqcms525 comparesig 1 1E+9 -> -1 |
| dqcms526 comparesig 1 1E+10 -> -1 |
| dqcms527 comparesig 1 1E+11 -> -1 |
| dqcms528 comparesig 1 1E+12 -> -1 |
| dqcms529 comparesig 1 1E+13 -> -1 |
| dqcms530 comparesig 1 1E+14 -> -1 |
| dqcms531 comparesig 1 1E+15 -> -1 |
| -- LR swap |
| dqcms540 comparesig 1E-15 1 -> -1 |
| dqcms541 comparesig 1E-14 1 -> -1 |
| dqcms542 comparesig 1E-13 1 -> -1 |
| dqcms543 comparesig 1E-12 1 -> -1 |
| dqcms544 comparesig 1E-11 1 -> -1 |
| dqcms545 comparesig 1E-10 1 -> -1 |
| dqcms546 comparesig 1E-9 1 -> -1 |
| dqcms547 comparesig 1E-8 1 -> -1 |
| dqcms548 comparesig 1E-7 1 -> -1 |
| dqcms549 comparesig 1E-6 1 -> -1 |
| dqcms550 comparesig 1E-5 1 -> -1 |
| dqcms551 comparesig 1E-4 1 -> -1 |
| dqcms552 comparesig 1E-3 1 -> -1 |
| dqcms553 comparesig 1E-2 1 -> -1 |
| dqcms554 comparesig 1E-1 1 -> -1 |
| dqcms555 comparesig 1E-0 1 -> 0 |
| dqcms556 comparesig 1E+1 1 -> 1 |
| dqcms557 comparesig 1E+2 1 -> 1 |
| dqcms558 comparesig 1E+3 1 -> 1 |
| dqcms559 comparesig 1E+4 1 -> 1 |
| dqcms561 comparesig 1E+5 1 -> 1 |
| dqcms562 comparesig 1E+6 1 -> 1 |
| dqcms563 comparesig 1E+7 1 -> 1 |
| dqcms564 comparesig 1E+8 1 -> 1 |
| dqcms565 comparesig 1E+9 1 -> 1 |
| dqcms566 comparesig 1E+10 1 -> 1 |
| dqcms567 comparesig 1E+11 1 -> 1 |
| dqcms568 comparesig 1E+12 1 -> 1 |
| dqcms569 comparesig 1E+13 1 -> 1 |
| dqcms570 comparesig 1E+14 1 -> 1 |
| dqcms571 comparesig 1E+15 1 -> 1 |
| -- similar with a useful coefficient, one side only |
| dqcms580 comparesig 0.000000987654321 1E-15 -> 1 |
| dqcms581 comparesig 0.000000987654321 1E-14 -> 1 |
| dqcms582 comparesig 0.000000987654321 1E-13 -> 1 |
| dqcms583 comparesig 0.000000987654321 1E-12 -> 1 |
| dqcms584 comparesig 0.000000987654321 1E-11 -> 1 |
| dqcms585 comparesig 0.000000987654321 1E-10 -> 1 |
| dqcms586 comparesig 0.000000987654321 1E-9 -> 1 |
| dqcms587 comparesig 0.000000987654321 1E-8 -> 1 |
| dqcms588 comparesig 0.000000987654321 1E-7 -> 1 |
| dqcms589 comparesig 0.000000987654321 1E-6 -> -1 |
| dqcms590 comparesig 0.000000987654321 1E-5 -> -1 |
| dqcms591 comparesig 0.000000987654321 1E-4 -> -1 |
| dqcms592 comparesig 0.000000987654321 1E-3 -> -1 |
| dqcms593 comparesig 0.000000987654321 1E-2 -> -1 |
| dqcms594 comparesig 0.000000987654321 1E-1 -> -1 |
| dqcms595 comparesig 0.000000987654321 1E-0 -> -1 |
| dqcms596 comparesig 0.000000987654321 1E+1 -> -1 |
| dqcms597 comparesig 0.000000987654321 1E+2 -> -1 |
| dqcms598 comparesig 0.000000987654321 1E+3 -> -1 |
| dqcms599 comparesig 0.000000987654321 1E+4 -> -1 |
| |
| -- check some unit-y traps |
| dqcms600 comparesig 12 12.2345 -> -1 |
| dqcms601 comparesig 12.0 12.2345 -> -1 |
| dqcms602 comparesig 12.00 12.2345 -> -1 |
| dqcms603 comparesig 12.000 12.2345 -> -1 |
| dqcms604 comparesig 12.0000 12.2345 -> -1 |
| dqcms605 comparesig 12.00000 12.2345 -> -1 |
| dqcms606 comparesig 12.000000 12.2345 -> -1 |
| dqcms607 comparesig 12.0000000 12.2345 -> -1 |
| dqcms608 comparesig 12.00000000 12.2345 -> -1 |
| dqcms609 comparesig 12.000000000 12.2345 -> -1 |
| dqcms610 comparesig 12.1234 12 -> 1 |
| dqcms611 comparesig 12.1234 12.0 -> 1 |
| dqcms612 comparesig 12.1234 12.00 -> 1 |
| dqcms613 comparesig 12.1234 12.000 -> 1 |
| dqcms614 comparesig 12.1234 12.0000 -> 1 |
| dqcms615 comparesig 12.1234 12.00000 -> 1 |
| dqcms616 comparesig 12.1234 12.000000 -> 1 |
| dqcms617 comparesig 12.1234 12.0000000 -> 1 |
| dqcms618 comparesig 12.1234 12.00000000 -> 1 |
| dqcms619 comparesig 12.1234 12.000000000 -> 1 |
| dqcms620 comparesig -12 -12.2345 -> 1 |
| dqcms621 comparesig -12.0 -12.2345 -> 1 |
| dqcms622 comparesig -12.00 -12.2345 -> 1 |
| dqcms623 comparesig -12.000 -12.2345 -> 1 |
| dqcms624 comparesig -12.0000 -12.2345 -> 1 |
| dqcms625 comparesig -12.00000 -12.2345 -> 1 |
| dqcms626 comparesig -12.000000 -12.2345 -> 1 |
| dqcms627 comparesig -12.0000000 -12.2345 -> 1 |
| dqcms628 comparesig -12.00000000 -12.2345 -> 1 |
| dqcms629 comparesig -12.000000000 -12.2345 -> 1 |
| dqcms630 comparesig -12.1234 -12 -> -1 |
| dqcms631 comparesig -12.1234 -12.0 -> -1 |
| dqcms632 comparesig -12.1234 -12.00 -> -1 |
| dqcms633 comparesig -12.1234 -12.000 -> -1 |
| dqcms634 comparesig -12.1234 -12.0000 -> -1 |
| dqcms635 comparesig -12.1234 -12.00000 -> -1 |
| dqcms636 comparesig -12.1234 -12.000000 -> -1 |
| dqcms637 comparesig -12.1234 -12.0000000 -> -1 |
| dqcms638 comparesig -12.1234 -12.00000000 -> -1 |
| dqcms639 comparesig -12.1234 -12.000000000 -> -1 |
| |
| -- extended zeros |
| dqcms640 comparesig 0 0 -> 0 |
| dqcms641 comparesig 0 -0 -> 0 |
| dqcms642 comparesig 0 -0.0 -> 0 |
| dqcms643 comparesig 0 0.0 -> 0 |
| dqcms644 comparesig -0 0 -> 0 |
| dqcms645 comparesig -0 -0 -> 0 |
| dqcms646 comparesig -0 -0.0 -> 0 |
| dqcms647 comparesig -0 0.0 -> 0 |
| dqcms648 comparesig 0.0 0 -> 0 |
| dqcms649 comparesig 0.0 -0 -> 0 |
| dqcms650 comparesig 0.0 -0.0 -> 0 |
| dqcms651 comparesig 0.0 0.0 -> 0 |
| dqcms652 comparesig -0.0 0 -> 0 |
| dqcms653 comparesig -0.0 -0 -> 0 |
| dqcms654 comparesig -0.0 -0.0 -> 0 |
| dqcms655 comparesig -0.0 0.0 -> 0 |
| |
| dqcms656 comparesig -0E1 0.0 -> 0 |
| dqcms657 comparesig -0E2 0.0 -> 0 |
| dqcms658 comparesig 0E1 0.0 -> 0 |
| dqcms659 comparesig 0E2 0.0 -> 0 |
| dqcms660 comparesig -0E1 0 -> 0 |
| dqcms661 comparesig -0E2 0 -> 0 |
| dqcms662 comparesig 0E1 0 -> 0 |
| dqcms663 comparesig 0E2 0 -> 0 |
| dqcms664 comparesig -0E1 -0E1 -> 0 |
| dqcms665 comparesig -0E2 -0E1 -> 0 |
| dqcms666 comparesig 0E1 -0E1 -> 0 |
| dqcms667 comparesig 0E2 -0E1 -> 0 |
| dqcms668 comparesig -0E1 -0E2 -> 0 |
| dqcms669 comparesig -0E2 -0E2 -> 0 |
| dqcms670 comparesig 0E1 -0E2 -> 0 |
| dqcms671 comparesig 0E2 -0E2 -> 0 |
| dqcms672 comparesig -0E1 0E1 -> 0 |
| dqcms673 comparesig -0E2 0E1 -> 0 |
| dqcms674 comparesig 0E1 0E1 -> 0 |
| dqcms675 comparesig 0E2 0E1 -> 0 |
| dqcms676 comparesig -0E1 0E2 -> 0 |
| dqcms677 comparesig -0E2 0E2 -> 0 |
| dqcms678 comparesig 0E1 0E2 -> 0 |
| dqcms679 comparesig 0E2 0E2 -> 0 |
| |
| -- trailing zeros; unit-y |
| dqcms680 comparesig 12 12 -> 0 |
| dqcms681 comparesig 12 12.0 -> 0 |
| dqcms682 comparesig 12 12.00 -> 0 |
| dqcms683 comparesig 12 12.000 -> 0 |
| dqcms684 comparesig 12 12.0000 -> 0 |
| dqcms685 comparesig 12 12.00000 -> 0 |
| dqcms686 comparesig 12 12.000000 -> 0 |
| dqcms687 comparesig 12 12.0000000 -> 0 |
| dqcms688 comparesig 12 12.00000000 -> 0 |
| dqcms689 comparesig 12 12.000000000 -> 0 |
| dqcms690 comparesig 12 12 -> 0 |
| dqcms691 comparesig 12.0 12 -> 0 |
| dqcms692 comparesig 12.00 12 -> 0 |
| dqcms693 comparesig 12.000 12 -> 0 |
| dqcms694 comparesig 12.0000 12 -> 0 |
| dqcms695 comparesig 12.00000 12 -> 0 |
| dqcms696 comparesig 12.000000 12 -> 0 |
| dqcms697 comparesig 12.0000000 12 -> 0 |
| dqcms698 comparesig 12.00000000 12 -> 0 |
| dqcms699 comparesig 12.000000000 12 -> 0 |
| |
| -- first, second, & last digit |
| dqcms700 comparesig 1234567899999999999999999990123456 1234567899999999999999999990123455 -> 1 |
| dqcms701 comparesig 1234567899999999999999999990123456 1234567899999999999999999990123456 -> 0 |
| dqcms702 comparesig 1234567899999999999999999990123456 1234567899999999999999999990123457 -> -1 |
| dqcms703 comparesig 1234567899999999999999999990123456 0234567899999999999999999990123456 -> 1 |
| dqcms704 comparesig 1234567899999999999999999990123456 1234567899999999999999999990123456 -> 0 |
| dqcms705 comparesig 1234567899999999999999999990123456 2234567899999999999999999990123456 -> -1 |
| dqcms706 comparesig 1134567899999999999999999990123456 1034567899999999999999999990123456 -> 1 |
| dqcms707 comparesig 1134567899999999999999999990123456 1134567899999999999999999990123456 -> 0 |
| dqcms708 comparesig 1134567899999999999999999990123456 1234567899999999999999999990123456 -> -1 |
| |
| -- miscellaneous |
| dqcms721 comparesig 12345678000 1 -> 1 |
| dqcms722 comparesig 1 12345678000 -> -1 |
| dqcms723 comparesig 1234567800 1 -> 1 |
| dqcms724 comparesig 1 1234567800 -> -1 |
| dqcms725 comparesig 1234567890 1 -> 1 |
| dqcms726 comparesig 1 1234567890 -> -1 |
| dqcms727 comparesig 1234567891 1 -> 1 |
| dqcms728 comparesig 1 1234567891 -> -1 |
| dqcms729 comparesig 12345678901 1 -> 1 |
| dqcms730 comparesig 1 12345678901 -> -1 |
| dqcms731 comparesig 1234567896 1 -> 1 |
| dqcms732 comparesig 1 1234567896 -> -1 |
| |
| -- residue cases at lower precision |
| dqcms740 comparesig 1 0.9999999 -> 1 |
| dqcms741 comparesig 1 0.999999 -> 1 |
| dqcms742 comparesig 1 0.99999 -> 1 |
| dqcms743 comparesig 1 1.0000 -> 0 |
| dqcms744 comparesig 1 1.00001 -> -1 |
| dqcms745 comparesig 1 1.000001 -> -1 |
| dqcms746 comparesig 1 1.0000001 -> -1 |
| dqcms750 comparesig 0.9999999 1 -> -1 |
| dqcms751 comparesig 0.999999 1 -> -1 |
| dqcms752 comparesig 0.99999 1 -> -1 |
| dqcms753 comparesig 1.0000 1 -> 0 |
| dqcms754 comparesig 1.00001 1 -> 1 |
| dqcms755 comparesig 1.000001 1 -> 1 |
| dqcms756 comparesig 1.0000001 1 -> 1 |
| |
| -- Specials |
| dqcms780 comparesig Inf -Inf -> 1 |
| dqcms781 comparesig Inf -1000 -> 1 |
| dqcms782 comparesig Inf -1 -> 1 |
| dqcms783 comparesig Inf -0 -> 1 |
| dqcms784 comparesig Inf 0 -> 1 |
| dqcms785 comparesig Inf 1 -> 1 |
| dqcms786 comparesig Inf 1000 -> 1 |
| dqcms787 comparesig Inf Inf -> 0 |
| dqcms788 comparesig -1000 Inf -> -1 |
| dqcms789 comparesig -Inf Inf -> -1 |
| dqcms790 comparesig -1 Inf -> -1 |
| dqcms791 comparesig -0 Inf -> -1 |
| dqcms792 comparesig 0 Inf -> -1 |
| dqcms793 comparesig 1 Inf -> -1 |
| dqcms794 comparesig 1000 Inf -> -1 |
| dqcms795 comparesig Inf Inf -> 0 |
| |
| dqcms800 comparesig -Inf -Inf -> 0 |
| dqcms801 comparesig -Inf -1000 -> -1 |
| dqcms802 comparesig -Inf -1 -> -1 |
| dqcms803 comparesig -Inf -0 -> -1 |
| dqcms804 comparesig -Inf 0 -> -1 |
| dqcms805 comparesig -Inf 1 -> -1 |
| dqcms806 comparesig -Inf 1000 -> -1 |
| dqcms807 comparesig -Inf Inf -> -1 |
| dqcms808 comparesig -Inf -Inf -> 0 |
| dqcms809 comparesig -1000 -Inf -> 1 |
| dqcms810 comparesig -1 -Inf -> 1 |
| dqcms811 comparesig -0 -Inf -> 1 |
| dqcms812 comparesig 0 -Inf -> 1 |
| dqcms813 comparesig 1 -Inf -> 1 |
| dqcms814 comparesig 1000 -Inf -> 1 |
| dqcms815 comparesig Inf -Inf -> 1 |
| |
| dqcms821 comparesig NaN -Inf -> NaN Invalid_operation |
| dqcms822 comparesig NaN -1000 -> NaN Invalid_operation |
| dqcms823 comparesig NaN -1 -> NaN Invalid_operation |
| dqcms824 comparesig NaN -0 -> NaN Invalid_operation |
| dqcms825 comparesig NaN 0 -> NaN Invalid_operation |
| dqcms826 comparesig NaN 1 -> NaN Invalid_operation |
| dqcms827 comparesig NaN 1000 -> NaN Invalid_operation |
| dqcms828 comparesig NaN Inf -> NaN Invalid_operation |
| dqcms829 comparesig NaN NaN -> NaN Invalid_operation |
| dqcms830 comparesig -Inf NaN -> NaN Invalid_operation |
| dqcms831 comparesig -1000 NaN -> NaN Invalid_operation |
| dqcms832 comparesig -1 NaN -> NaN Invalid_operation |
| dqcms833 comparesig -0 NaN -> NaN Invalid_operation |
| dqcms834 comparesig 0 NaN -> NaN Invalid_operation |
| dqcms835 comparesig 1 NaN -> NaN Invalid_operation |
| dqcms836 comparesig 1000 NaN -> NaN Invalid_operation |
| dqcms837 comparesig Inf NaN -> NaN Invalid_operation |
| dqcms838 comparesig -NaN -NaN -> -NaN Invalid_operation |
| dqcms839 comparesig +NaN -NaN -> NaN Invalid_operation |
| dqcms840 comparesig -NaN +NaN -> -NaN Invalid_operation |
| |
| dqcms841 comparesig sNaN -Inf -> NaN Invalid_operation |
| dqcms842 comparesig sNaN -1000 -> NaN Invalid_operation |
| dqcms843 comparesig sNaN -1 -> NaN Invalid_operation |
| dqcms844 comparesig sNaN -0 -> NaN Invalid_operation |
| dqcms845 comparesig sNaN 0 -> NaN Invalid_operation |
| dqcms846 comparesig sNaN 1 -> NaN Invalid_operation |
| dqcms847 comparesig sNaN 1000 -> NaN Invalid_operation |
| dqcms848 comparesig sNaN NaN -> NaN Invalid_operation |
| dqcms849 comparesig sNaN sNaN -> NaN Invalid_operation |
| dqcms850 comparesig NaN sNaN -> NaN Invalid_operation |
| dqcms851 comparesig -Inf sNaN -> NaN Invalid_operation |
| dqcms852 comparesig -1000 sNaN -> NaN Invalid_operation |
| dqcms853 comparesig -1 sNaN -> NaN Invalid_operation |
| dqcms854 comparesig -0 sNaN -> NaN Invalid_operation |
| dqcms855 comparesig 0 sNaN -> NaN Invalid_operation |
| dqcms856 comparesig 1 sNaN -> NaN Invalid_operation |
| dqcms857 comparesig 1000 sNaN -> NaN Invalid_operation |
| dqcms858 comparesig Inf sNaN -> NaN Invalid_operation |
| dqcms859 comparesig NaN sNaN -> NaN Invalid_operation |
| |
| -- propagating NaNs |
| dqcms860 comparesig NaN9 -Inf -> NaN9 Invalid_operation |
| dqcms861 comparesig NaN8 999 -> NaN8 Invalid_operation |
| dqcms862 comparesig NaN77 Inf -> NaN77 Invalid_operation |
| dqcms863 comparesig -NaN67 NaN5 -> -NaN67 Invalid_operation |
| dqcms864 comparesig -Inf -NaN4 -> -NaN4 Invalid_operation |
| dqcms865 comparesig -999 -NaN33 -> -NaN33 Invalid_operation |
| dqcms866 comparesig Inf NaN2 -> NaN2 Invalid_operation |
| dqcms867 comparesig -NaN41 -NaN42 -> -NaN41 Invalid_operation |
| dqcms868 comparesig +NaN41 -NaN42 -> NaN41 Invalid_operation |
| dqcms869 comparesig -NaN41 +NaN42 -> -NaN41 Invalid_operation |
| dqcms870 comparesig +NaN41 +NaN42 -> NaN41 Invalid_operation |
| |
| dqcms871 comparesig -sNaN99 -Inf -> -NaN99 Invalid_operation |
| dqcms872 comparesig sNaN98 -11 -> NaN98 Invalid_operation |
| dqcms873 comparesig sNaN97 NaN -> NaN97 Invalid_operation |
| dqcms874 comparesig sNaN16 sNaN94 -> NaN16 Invalid_operation |
| dqcms875 comparesig NaN85 sNaN83 -> NaN83 Invalid_operation |
| dqcms876 comparesig -Inf sNaN92 -> NaN92 Invalid_operation |
| dqcms877 comparesig 088 sNaN81 -> NaN81 Invalid_operation |
| dqcms878 comparesig Inf sNaN90 -> NaN90 Invalid_operation |
| dqcms879 comparesig NaN -sNaN89 -> -NaN89 Invalid_operation |
| |
| -- wide range |
| dqcms880 comparesig +1.23456789012345E-0 9E+6144 -> -1 |
| dqcms881 comparesig 9E+6144 +1.23456789012345E-0 -> 1 |
| dqcms882 comparesig +0.100 9E-6143 -> 1 |
| dqcms883 comparesig 9E-6143 +0.100 -> -1 |
| dqcms885 comparesig -1.23456789012345E-0 9E+6144 -> -1 |
| dqcms886 comparesig 9E+6144 -1.23456789012345E-0 -> 1 |
| dqcms887 comparesig -0.100 9E-6143 -> -1 |
| dqcms888 comparesig 9E-6143 -0.100 -> 1 |
| |
| -- signs |
| dqcms901 comparesig 1e+77 1e+11 -> 1 |
| dqcms902 comparesig 1e+77 -1e+11 -> 1 |
| dqcms903 comparesig -1e+77 1e+11 -> -1 |
| dqcms904 comparesig -1e+77 -1e+11 -> -1 |
| dqcms905 comparesig 1e-77 1e-11 -> -1 |
| dqcms906 comparesig 1e-77 -1e-11 -> 1 |
| dqcms907 comparesig -1e-77 1e-11 -> -1 |
| dqcms908 comparesig -1e-77 -1e-11 -> 1 |
| |
| -- Null tests |
| dqcms990 comparesig 10 # -> NaN Invalid_operation |
| dqcms991 comparesig # 10 -> NaN Invalid_operation |