17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- dqCopySign.decTest -- quiet decQuad copy with sign from rhs -- 37db96d56Sopenharmony_ci-- Copyright (c) IBM Corporation, 1981, 2008. All rights reserved. -- 47db96d56Sopenharmony_ci------------------------------------------------------------------------ 57db96d56Sopenharmony_ci-- Please see the document "General Decimal Arithmetic Testcases" -- 67db96d56Sopenharmony_ci-- at http://www2.hursley.ibm.com/decimal for the description of -- 77db96d56Sopenharmony_ci-- these testcases. -- 87db96d56Sopenharmony_ci-- -- 97db96d56Sopenharmony_ci-- These testcases are experimental ('beta' versions), and they -- 107db96d56Sopenharmony_ci-- may contain errors. They are offered on an as-is basis. In -- 117db96d56Sopenharmony_ci-- particular, achieving the same results as the tests here is not -- 127db96d56Sopenharmony_ci-- a guarantee that an implementation complies with any Standard -- 137db96d56Sopenharmony_ci-- or specification. The tests are not exhaustive. -- 147db96d56Sopenharmony_ci-- -- 157db96d56Sopenharmony_ci-- Please send comments, suggestions, and corrections to the author: -- 167db96d56Sopenharmony_ci-- Mike Cowlishaw, IBM Fellow -- 177db96d56Sopenharmony_ci-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK -- 187db96d56Sopenharmony_ci-- mfc@uk.ibm.com -- 197db96d56Sopenharmony_ci------------------------------------------------------------------------ 207db96d56Sopenharmony_civersion: 2.59 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ci-- All operands and results are decQuads. 237db96d56Sopenharmony_ciextended: 1 247db96d56Sopenharmony_ciclamp: 1 257db96d56Sopenharmony_ciprecision: 34 267db96d56Sopenharmony_cimaxExponent: 6144 277db96d56Sopenharmony_ciminExponent: -6143 287db96d56Sopenharmony_cirounding: half_even 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci-- Sanity check 317db96d56Sopenharmony_cidqcps001 copysign +7.50 11 -> 7.50 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ci-- Infinities 347db96d56Sopenharmony_cidqcps011 copysign Infinity 11 -> Infinity 357db96d56Sopenharmony_cidqcps012 copysign -Infinity 11 -> Infinity 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ci-- NaNs, 0 payload 387db96d56Sopenharmony_cidqcps021 copysign NaN 11 -> NaN 397db96d56Sopenharmony_cidqcps022 copysign -NaN 11 -> NaN 407db96d56Sopenharmony_cidqcps023 copysign sNaN 11 -> sNaN 417db96d56Sopenharmony_cidqcps024 copysign -sNaN 11 -> sNaN 427db96d56Sopenharmony_ci 437db96d56Sopenharmony_ci-- NaNs, non-0 payload 447db96d56Sopenharmony_cidqcps031 copysign NaN10 11 -> NaN10 457db96d56Sopenharmony_cidqcps032 copysign -NaN10 11 -> NaN10 467db96d56Sopenharmony_cidqcps033 copysign sNaN10 11 -> sNaN10 477db96d56Sopenharmony_cidqcps034 copysign -sNaN10 11 -> sNaN10 487db96d56Sopenharmony_cidqcps035 copysign NaN7 11 -> NaN7 497db96d56Sopenharmony_cidqcps036 copysign -NaN7 11 -> NaN7 507db96d56Sopenharmony_cidqcps037 copysign sNaN101 11 -> sNaN101 517db96d56Sopenharmony_cidqcps038 copysign -sNaN101 11 -> sNaN101 527db96d56Sopenharmony_ci 537db96d56Sopenharmony_ci-- finites 547db96d56Sopenharmony_cidqcps101 copysign 7 11 -> 7 557db96d56Sopenharmony_cidqcps102 copysign -7 11 -> 7 567db96d56Sopenharmony_cidqcps103 copysign 75 11 -> 75 577db96d56Sopenharmony_cidqcps104 copysign -75 11 -> 75 587db96d56Sopenharmony_cidqcps105 copysign 7.50 11 -> 7.50 597db96d56Sopenharmony_cidqcps106 copysign -7.50 11 -> 7.50 607db96d56Sopenharmony_cidqcps107 copysign 7.500 11 -> 7.500 617db96d56Sopenharmony_cidqcps108 copysign -7.500 11 -> 7.500 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_ci-- zeros 647db96d56Sopenharmony_cidqcps111 copysign 0 11 -> 0 657db96d56Sopenharmony_cidqcps112 copysign -0 11 -> 0 667db96d56Sopenharmony_cidqcps113 copysign 0E+4 11 -> 0E+4 677db96d56Sopenharmony_cidqcps114 copysign -0E+4 11 -> 0E+4 687db96d56Sopenharmony_cidqcps115 copysign 0.0000 11 -> 0.0000 697db96d56Sopenharmony_cidqcps116 copysign -0.0000 11 -> 0.0000 707db96d56Sopenharmony_cidqcps117 copysign 0E-141 11 -> 0E-141 717db96d56Sopenharmony_cidqcps118 copysign -0E-141 11 -> 0E-141 727db96d56Sopenharmony_ci 737db96d56Sopenharmony_ci-- full coefficients, alternating bits 747db96d56Sopenharmony_cidqcps121 copysign 2682682682682682682682682682682682 8 -> 2682682682682682682682682682682682 757db96d56Sopenharmony_cidqcps122 copysign -2682682682682682682682682682682682 8 -> 2682682682682682682682682682682682 767db96d56Sopenharmony_cidqcps123 copysign 1341341341341341341341341341341341 8 -> 1341341341341341341341341341341341 777db96d56Sopenharmony_cidqcps124 copysign -1341341341341341341341341341341341 8 -> 1341341341341341341341341341341341 787db96d56Sopenharmony_ci 797db96d56Sopenharmony_ci-- Nmax, Nmin, Ntiny 807db96d56Sopenharmony_cidqcps131 copysign 9.999999999999999999999999999999999E+6144 8 -> 9.999999999999999999999999999999999E+6144 817db96d56Sopenharmony_cidqcps132 copysign 1E-6143 8 -> 1E-6143 827db96d56Sopenharmony_cidqcps133 copysign 1.000000000000000000000000000000000E-6143 8 -> 1.000000000000000000000000000000000E-6143 837db96d56Sopenharmony_cidqcps134 copysign 1E-6176 8 -> 1E-6176 847db96d56Sopenharmony_ci 857db96d56Sopenharmony_cidqcps135 copysign -1E-6176 8 -> 1E-6176 867db96d56Sopenharmony_cidqcps136 copysign -1.000000000000000000000000000000000E-6143 8 -> 1.000000000000000000000000000000000E-6143 877db96d56Sopenharmony_cidqcps137 copysign -1E-6143 8 -> 1E-6143 887db96d56Sopenharmony_cidqcps138 copysign -9.999999999999999999999999999999999E+6144 8 -> 9.999999999999999999999999999999999E+6144 897db96d56Sopenharmony_ci 907db96d56Sopenharmony_ci-- repeat with negative RHS 917db96d56Sopenharmony_ci 927db96d56Sopenharmony_ci-- Infinities 937db96d56Sopenharmony_cidqcps211 copysign Infinity -34 -> -Infinity 947db96d56Sopenharmony_cidqcps212 copysign -Infinity -34 -> -Infinity 957db96d56Sopenharmony_ci 967db96d56Sopenharmony_ci-- NaNs, 0 payload 977db96d56Sopenharmony_cidqcps221 copysign NaN -34 -> -NaN 987db96d56Sopenharmony_cidqcps222 copysign -NaN -34 -> -NaN 997db96d56Sopenharmony_cidqcps223 copysign sNaN -34 -> -sNaN 1007db96d56Sopenharmony_cidqcps224 copysign -sNaN -34 -> -sNaN 1017db96d56Sopenharmony_ci 1027db96d56Sopenharmony_ci-- NaNs, non-0 payload 1037db96d56Sopenharmony_cidqcps231 copysign NaN10 -34 -> -NaN10 1047db96d56Sopenharmony_cidqcps232 copysign -NaN10 -34 -> -NaN10 1057db96d56Sopenharmony_cidqcps233 copysign sNaN10 -34 -> -sNaN10 1067db96d56Sopenharmony_cidqcps234 copysign -sNaN10 -34 -> -sNaN10 1077db96d56Sopenharmony_cidqcps235 copysign NaN7 -34 -> -NaN7 1087db96d56Sopenharmony_cidqcps236 copysign -NaN7 -34 -> -NaN7 1097db96d56Sopenharmony_cidqcps237 copysign sNaN101 -34 -> -sNaN101 1107db96d56Sopenharmony_cidqcps238 copysign -sNaN101 -34 -> -sNaN101 1117db96d56Sopenharmony_ci 1127db96d56Sopenharmony_ci-- finites 1137db96d56Sopenharmony_cidqcps301 copysign 7 -34 -> -7 1147db96d56Sopenharmony_cidqcps302 copysign -7 -34 -> -7 1157db96d56Sopenharmony_cidqcps303 copysign 75 -34 -> -75 1167db96d56Sopenharmony_cidqcps304 copysign -75 -34 -> -75 1177db96d56Sopenharmony_cidqcps305 copysign 7.50 -34 -> -7.50 1187db96d56Sopenharmony_cidqcps306 copysign -7.50 -34 -> -7.50 1197db96d56Sopenharmony_cidqcps307 copysign 7.500 -34 -> -7.500 1207db96d56Sopenharmony_cidqcps308 copysign -7.500 -34 -> -7.500 1217db96d56Sopenharmony_ci 1227db96d56Sopenharmony_ci-- zeros 1237db96d56Sopenharmony_cidqcps311 copysign 0 -34 -> -0 1247db96d56Sopenharmony_cidqcps312 copysign -0 -34 -> -0 1257db96d56Sopenharmony_cidqcps313 copysign 0E+4 -34 -> -0E+4 1267db96d56Sopenharmony_cidqcps314 copysign -0E+4 -34 -> -0E+4 1277db96d56Sopenharmony_cidqcps315 copysign 0.0000 -34 -> -0.0000 1287db96d56Sopenharmony_cidqcps316 copysign -0.0000 -34 -> -0.0000 1297db96d56Sopenharmony_cidqcps317 copysign 0E-141 -34 -> -0E-141 1307db96d56Sopenharmony_cidqcps318 copysign -0E-141 -34 -> -0E-141 1317db96d56Sopenharmony_ci 1327db96d56Sopenharmony_ci-- full coefficients, alternating bits 1337db96d56Sopenharmony_cidqcps321 copysign 2682682682682682682682682682682682 -9 -> -2682682682682682682682682682682682 1347db96d56Sopenharmony_cidqcps322 copysign -2682682682682682682682682682682682 -9 -> -2682682682682682682682682682682682 1357db96d56Sopenharmony_cidqcps323 copysign 1341341341341341341341341341341341 -9 -> -1341341341341341341341341341341341 1367db96d56Sopenharmony_cidqcps324 copysign -1341341341341341341341341341341341 -9 -> -1341341341341341341341341341341341 1377db96d56Sopenharmony_ci 1387db96d56Sopenharmony_ci-- Nmax, Nmin, Ntiny 1397db96d56Sopenharmony_cidqcps331 copysign 9.999999999999999999999999999999999E+6144 -1 -> -9.999999999999999999999999999999999E+6144 1407db96d56Sopenharmony_cidqcps332 copysign 1E-6143 -1 -> -1E-6143 1417db96d56Sopenharmony_cidqcps333 copysign 1.000000000000000000000000000000000E-6143 -1 -> -1.000000000000000000000000000000000E-6143 1427db96d56Sopenharmony_cidqcps334 copysign 1E-6176 -1 -> -1E-6176 1437db96d56Sopenharmony_ci 1447db96d56Sopenharmony_cidqcps335 copysign -1E-6176 -3 -> -1E-6176 1457db96d56Sopenharmony_cidqcps336 copysign -1.000000000000000000000000000000000E-6143 -3 -> -1.000000000000000000000000000000000E-6143 1467db96d56Sopenharmony_cidqcps337 copysign -1E-6143 -3 -> -1E-6143 1477db96d56Sopenharmony_cidqcps338 copysign -9.999999999999999999999999999999999E+6144 -3 -> -9.999999999999999999999999999999999E+6144 1487db96d56Sopenharmony_ci 1497db96d56Sopenharmony_ci-- Other kinds of RHS 1507db96d56Sopenharmony_cidqcps401 copysign 701 -34 -> -701 1517db96d56Sopenharmony_cidqcps402 copysign -720 -34 -> -720 1527db96d56Sopenharmony_cidqcps403 copysign 701 -0 -> -701 1537db96d56Sopenharmony_cidqcps404 copysign -720 -0 -> -720 1547db96d56Sopenharmony_cidqcps405 copysign 701 +0 -> 701 1557db96d56Sopenharmony_cidqcps406 copysign -720 +0 -> 720 1567db96d56Sopenharmony_cidqcps407 copysign 701 +34 -> 701 1577db96d56Sopenharmony_cidqcps408 copysign -720 +34 -> 720 1587db96d56Sopenharmony_ci 1597db96d56Sopenharmony_cidqcps413 copysign 701 -Inf -> -701 1607db96d56Sopenharmony_cidqcps414 copysign -720 -Inf -> -720 1617db96d56Sopenharmony_cidqcps415 copysign 701 +Inf -> 701 1627db96d56Sopenharmony_cidqcps416 copysign -720 +Inf -> 720 1637db96d56Sopenharmony_ci 1647db96d56Sopenharmony_cidqcps420 copysign 701 -NaN -> -701 1657db96d56Sopenharmony_cidqcps421 copysign -720 -NaN -> -720 1667db96d56Sopenharmony_cidqcps422 copysign 701 +NaN -> 701 1677db96d56Sopenharmony_cidqcps423 copysign -720 +NaN -> 720 1687db96d56Sopenharmony_cidqcps425 copysign -720 +NaN8 -> 720 1697db96d56Sopenharmony_ci 1707db96d56Sopenharmony_cidqcps426 copysign 701 -sNaN -> -701 1717db96d56Sopenharmony_cidqcps427 copysign -720 -sNaN -> -720 1727db96d56Sopenharmony_cidqcps428 copysign 701 +sNaN -> 701 1737db96d56Sopenharmony_cidqcps429 copysign -720 +sNaN -> 720 1747db96d56Sopenharmony_cidqcps430 copysign -720 +sNaN3 -> 720 1757db96d56Sopenharmony_ci 176