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