17db96d56Sopenharmony_ci------------------------------------------------------------------------ 27db96d56Sopenharmony_ci-- ddCopySign.decTest -- quiet decDouble 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 decDoubles. 237db96d56Sopenharmony_ciprecision: 16 247db96d56Sopenharmony_cimaxExponent: 384 257db96d56Sopenharmony_ciminExponent: -383 267db96d56Sopenharmony_ciextended: 1 277db96d56Sopenharmony_ciclamp: 1 287db96d56Sopenharmony_cirounding: half_even 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci-- Sanity check 317db96d56Sopenharmony_ciddcps001 copysign +7.50 11 -> 7.50 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ci-- Infinities 347db96d56Sopenharmony_ciddcps011 copysign Infinity 11 -> Infinity 357db96d56Sopenharmony_ciddcps012 copysign -Infinity 11 -> Infinity 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ci-- NaNs, 0 payload 387db96d56Sopenharmony_ciddcps021 copysign NaN 11 -> NaN 397db96d56Sopenharmony_ciddcps022 copysign -NaN 11 -> NaN 407db96d56Sopenharmony_ciddcps023 copysign sNaN 11 -> sNaN 417db96d56Sopenharmony_ciddcps024 copysign -sNaN 11 -> sNaN 427db96d56Sopenharmony_ci 437db96d56Sopenharmony_ci-- NaNs, non-0 payload 447db96d56Sopenharmony_ciddcps031 copysign NaN10 11 -> NaN10 457db96d56Sopenharmony_ciddcps032 copysign -NaN10 11 -> NaN10 467db96d56Sopenharmony_ciddcps033 copysign sNaN10 11 -> sNaN10 477db96d56Sopenharmony_ciddcps034 copysign -sNaN10 11 -> sNaN10 487db96d56Sopenharmony_ciddcps035 copysign NaN7 11 -> NaN7 497db96d56Sopenharmony_ciddcps036 copysign -NaN7 11 -> NaN7 507db96d56Sopenharmony_ciddcps037 copysign sNaN101 11 -> sNaN101 517db96d56Sopenharmony_ciddcps038 copysign -sNaN101 11 -> sNaN101 527db96d56Sopenharmony_ci 537db96d56Sopenharmony_ci-- finites 547db96d56Sopenharmony_ciddcps101 copysign 7 11 -> 7 557db96d56Sopenharmony_ciddcps102 copysign -7 11 -> 7 567db96d56Sopenharmony_ciddcps103 copysign 75 11 -> 75 577db96d56Sopenharmony_ciddcps104 copysign -75 11 -> 75 587db96d56Sopenharmony_ciddcps105 copysign 7.50 11 -> 7.50 597db96d56Sopenharmony_ciddcps106 copysign -7.50 11 -> 7.50 607db96d56Sopenharmony_ciddcps107 copysign 7.500 11 -> 7.500 617db96d56Sopenharmony_ciddcps108 copysign -7.500 11 -> 7.500 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_ci-- zeros 647db96d56Sopenharmony_ciddcps111 copysign 0 11 -> 0 657db96d56Sopenharmony_ciddcps112 copysign -0 11 -> 0 667db96d56Sopenharmony_ciddcps113 copysign 0E+4 11 -> 0E+4 677db96d56Sopenharmony_ciddcps114 copysign -0E+4 11 -> 0E+4 687db96d56Sopenharmony_ciddcps115 copysign 0.0000 11 -> 0.0000 697db96d56Sopenharmony_ciddcps116 copysign -0.0000 11 -> 0.0000 707db96d56Sopenharmony_ciddcps117 copysign 0E-141 11 -> 0E-141 717db96d56Sopenharmony_ciddcps118 copysign -0E-141 11 -> 0E-141 727db96d56Sopenharmony_ci 737db96d56Sopenharmony_ci-- full coefficients, alternating bits 747db96d56Sopenharmony_ciddcps121 copysign 2682682682682682 11 -> 2682682682682682 757db96d56Sopenharmony_ciddcps122 copysign -2682682682682682 11 -> 2682682682682682 767db96d56Sopenharmony_ciddcps123 copysign 1341341341341341 11 -> 1341341341341341 777db96d56Sopenharmony_ciddcps124 copysign -1341341341341341 11 -> 1341341341341341 787db96d56Sopenharmony_ci 797db96d56Sopenharmony_ci-- Nmax, Nmin, Ntiny 807db96d56Sopenharmony_ciddcps131 copysign 9.999999999999999E+384 11 -> 9.999999999999999E+384 817db96d56Sopenharmony_ciddcps132 copysign 1E-383 11 -> 1E-383 827db96d56Sopenharmony_ciddcps133 copysign 1.000000000000000E-383 11 -> 1.000000000000000E-383 837db96d56Sopenharmony_ciddcps134 copysign 1E-398 11 -> 1E-398 847db96d56Sopenharmony_ci 857db96d56Sopenharmony_ciddcps135 copysign -1E-398 11 -> 1E-398 867db96d56Sopenharmony_ciddcps136 copysign -1.000000000000000E-383 11 -> 1.000000000000000E-383 877db96d56Sopenharmony_ciddcps137 copysign -1E-383 11 -> 1E-383 887db96d56Sopenharmony_ciddcps138 copysign -9.999999999999999E+384 11 -> 9.999999999999999E+384 897db96d56Sopenharmony_ci 907db96d56Sopenharmony_ci-- repeat with negative RHS 917db96d56Sopenharmony_ci 927db96d56Sopenharmony_ci-- Infinities 937db96d56Sopenharmony_ciddcps211 copysign Infinity -34 -> -Infinity 947db96d56Sopenharmony_ciddcps212 copysign -Infinity -34 -> -Infinity 957db96d56Sopenharmony_ci 967db96d56Sopenharmony_ci-- NaNs, 0 payload 977db96d56Sopenharmony_ciddcps221 copysign NaN -34 -> -NaN 987db96d56Sopenharmony_ciddcps222 copysign -NaN -34 -> -NaN 997db96d56Sopenharmony_ciddcps223 copysign sNaN -34 -> -sNaN 1007db96d56Sopenharmony_ciddcps224 copysign -sNaN -34 -> -sNaN 1017db96d56Sopenharmony_ci 1027db96d56Sopenharmony_ci-- NaNs, non-0 payload 1037db96d56Sopenharmony_ciddcps231 copysign NaN10 -34 -> -NaN10 1047db96d56Sopenharmony_ciddcps232 copysign -NaN10 -34 -> -NaN10 1057db96d56Sopenharmony_ciddcps233 copysign sNaN10 -34 -> -sNaN10 1067db96d56Sopenharmony_ciddcps234 copysign -sNaN10 -34 -> -sNaN10 1077db96d56Sopenharmony_ciddcps235 copysign NaN7 -34 -> -NaN7 1087db96d56Sopenharmony_ciddcps236 copysign -NaN7 -34 -> -NaN7 1097db96d56Sopenharmony_ciddcps237 copysign sNaN101 -34 -> -sNaN101 1107db96d56Sopenharmony_ciddcps238 copysign -sNaN101 -34 -> -sNaN101 1117db96d56Sopenharmony_ci 1127db96d56Sopenharmony_ci-- finites 1137db96d56Sopenharmony_ciddcps301 copysign 7 -34 -> -7 1147db96d56Sopenharmony_ciddcps302 copysign -7 -34 -> -7 1157db96d56Sopenharmony_ciddcps303 copysign 75 -34 -> -75 1167db96d56Sopenharmony_ciddcps304 copysign -75 -34 -> -75 1177db96d56Sopenharmony_ciddcps305 copysign 7.50 -34 -> -7.50 1187db96d56Sopenharmony_ciddcps306 copysign -7.50 -34 -> -7.50 1197db96d56Sopenharmony_ciddcps307 copysign 7.500 -34 -> -7.500 1207db96d56Sopenharmony_ciddcps308 copysign -7.500 -34 -> -7.500 1217db96d56Sopenharmony_ci 1227db96d56Sopenharmony_ci-- zeros 1237db96d56Sopenharmony_ciddcps311 copysign 0 -34 -> -0 1247db96d56Sopenharmony_ciddcps312 copysign -0 -34 -> -0 1257db96d56Sopenharmony_ciddcps313 copysign 0E+4 -34 -> -0E+4 1267db96d56Sopenharmony_ciddcps314 copysign -0E+4 -34 -> -0E+4 1277db96d56Sopenharmony_ciddcps315 copysign 0.0000 -34 -> -0.0000 1287db96d56Sopenharmony_ciddcps316 copysign -0.0000 -34 -> -0.0000 1297db96d56Sopenharmony_ciddcps317 copysign 0E-141 -34 -> -0E-141 1307db96d56Sopenharmony_ciddcps318 copysign -0E-141 -34 -> -0E-141 1317db96d56Sopenharmony_ci 1327db96d56Sopenharmony_ci-- full coefficients, alternating bits 1337db96d56Sopenharmony_ciddcps321 copysign 2682682682682682 -34 -> -2682682682682682 1347db96d56Sopenharmony_ciddcps322 copysign -2682682682682682 -34 -> -2682682682682682 1357db96d56Sopenharmony_ciddcps323 copysign 1341341341341341 -34 -> -1341341341341341 1367db96d56Sopenharmony_ciddcps324 copysign -1341341341341341 -34 -> -1341341341341341 1377db96d56Sopenharmony_ci 1387db96d56Sopenharmony_ci-- Nmax, Nmin, Ntiny 1397db96d56Sopenharmony_ciddcps331 copysign 9.999999999999999E+384 -34 -> -9.999999999999999E+384 1407db96d56Sopenharmony_ciddcps332 copysign 1E-383 -34 -> -1E-383 1417db96d56Sopenharmony_ciddcps333 copysign 1.000000000000000E-383 -34 -> -1.000000000000000E-383 1427db96d56Sopenharmony_ciddcps334 copysign 1E-398 -34 -> -1E-398 1437db96d56Sopenharmony_ci 1447db96d56Sopenharmony_ciddcps335 copysign -1E-398 -34 -> -1E-398 1457db96d56Sopenharmony_ciddcps336 copysign -1.000000000000000E-383 -34 -> -1.000000000000000E-383 1467db96d56Sopenharmony_ciddcps337 copysign -1E-383 -34 -> -1E-383 1477db96d56Sopenharmony_ciddcps338 copysign -9.999999999999999E+384 -34 -> -9.999999999999999E+384 1487db96d56Sopenharmony_ci 1497db96d56Sopenharmony_ci-- Other kinds of RHS 1507db96d56Sopenharmony_ciddcps401 copysign 701 -34 -> -701 1517db96d56Sopenharmony_ciddcps402 copysign -720 -34 -> -720 1527db96d56Sopenharmony_ciddcps403 copysign 701 -0 -> -701 1537db96d56Sopenharmony_ciddcps404 copysign -720 -0 -> -720 1547db96d56Sopenharmony_ciddcps405 copysign 701 +0 -> 701 1557db96d56Sopenharmony_ciddcps406 copysign -720 +0 -> 720 1567db96d56Sopenharmony_ciddcps407 copysign 701 +34 -> 701 1577db96d56Sopenharmony_ciddcps408 copysign -720 +34 -> 720 1587db96d56Sopenharmony_ci 1597db96d56Sopenharmony_ciddcps413 copysign 701 -Inf -> -701 1607db96d56Sopenharmony_ciddcps414 copysign -720 -Inf -> -720 1617db96d56Sopenharmony_ciddcps415 copysign 701 +Inf -> 701 1627db96d56Sopenharmony_ciddcps416 copysign -720 +Inf -> 720 1637db96d56Sopenharmony_ci 1647db96d56Sopenharmony_ciddcps420 copysign 701 -NaN -> -701 1657db96d56Sopenharmony_ciddcps421 copysign -720 -NaN -> -720 1667db96d56Sopenharmony_ciddcps422 copysign 701 +NaN -> 701 1677db96d56Sopenharmony_ciddcps423 copysign -720 +NaN -> 720 1687db96d56Sopenharmony_ciddcps425 copysign -720 +NaN8 -> 720 1697db96d56Sopenharmony_ci 1707db96d56Sopenharmony_ciddcps426 copysign 701 -sNaN -> -701 1717db96d56Sopenharmony_ciddcps427 copysign -720 -sNaN -> -720 1727db96d56Sopenharmony_ciddcps428 copysign 701 +sNaN -> 701 1737db96d56Sopenharmony_ciddcps429 copysign -720 +sNaN -> 720 1747db96d56Sopenharmony_ciddcps430 copysign -720 +sNaN3 -> 720 1757db96d56Sopenharmony_ci 176