mirror of
				https://github.com/bunny-lab-io/Borealis.git
				synced 2025-11-04 01:41:57 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			176 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			176 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
------------------------------------------------------------------------
 | 
						|
-- dqCopySign.decTest -- quiet decQuad copy with sign from rhs        --
 | 
						|
-- 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
 | 
						|
 | 
						|
-- All operands and results are decQuads.
 | 
						|
extended:    1
 | 
						|
clamp:       1
 | 
						|
precision:   34
 | 
						|
maxExponent: 6144
 | 
						|
minExponent: -6143
 | 
						|
rounding:    half_even
 | 
						|
 | 
						|
-- Sanity check
 | 
						|
dqcps001 copysign       +7.50     11 -> 7.50
 | 
						|
 | 
						|
-- Infinities
 | 
						|
dqcps011 copysign  Infinity       11 -> Infinity
 | 
						|
dqcps012 copysign  -Infinity      11 -> Infinity
 | 
						|
 | 
						|
-- NaNs, 0 payload
 | 
						|
dqcps021 copysign         NaN     11 -> NaN
 | 
						|
dqcps022 copysign        -NaN     11 -> NaN
 | 
						|
dqcps023 copysign        sNaN     11 -> sNaN
 | 
						|
dqcps024 copysign       -sNaN     11 -> sNaN
 | 
						|
 | 
						|
-- NaNs, non-0 payload
 | 
						|
dqcps031 copysign       NaN10     11 -> NaN10
 | 
						|
dqcps032 copysign      -NaN10     11 -> NaN10
 | 
						|
dqcps033 copysign      sNaN10     11 -> sNaN10
 | 
						|
dqcps034 copysign     -sNaN10     11 -> sNaN10
 | 
						|
dqcps035 copysign       NaN7      11 -> NaN7
 | 
						|
dqcps036 copysign      -NaN7      11 -> NaN7
 | 
						|
dqcps037 copysign      sNaN101    11 -> sNaN101
 | 
						|
dqcps038 copysign     -sNaN101    11 -> sNaN101
 | 
						|
 | 
						|
-- finites
 | 
						|
dqcps101 copysign          7      11 -> 7
 | 
						|
dqcps102 copysign         -7      11 -> 7
 | 
						|
dqcps103 copysign         75      11 -> 75
 | 
						|
dqcps104 copysign        -75      11 -> 75
 | 
						|
dqcps105 copysign       7.50      11 -> 7.50
 | 
						|
dqcps106 copysign      -7.50      11 -> 7.50
 | 
						|
dqcps107 copysign       7.500     11 -> 7.500
 | 
						|
dqcps108 copysign      -7.500     11 -> 7.500
 | 
						|
 | 
						|
-- zeros
 | 
						|
dqcps111 copysign          0      11 -> 0
 | 
						|
dqcps112 copysign         -0      11 -> 0
 | 
						|
dqcps113 copysign       0E+4      11 -> 0E+4
 | 
						|
dqcps114 copysign      -0E+4      11 -> 0E+4
 | 
						|
dqcps115 copysign     0.0000      11 -> 0.0000
 | 
						|
dqcps116 copysign    -0.0000      11 -> 0.0000
 | 
						|
dqcps117 copysign      0E-141     11 -> 0E-141
 | 
						|
dqcps118 copysign     -0E-141     11 -> 0E-141
 | 
						|
 | 
						|
-- full coefficients, alternating bits
 | 
						|
dqcps121 copysign   2682682682682682682682682682682682 8  ->  2682682682682682682682682682682682
 | 
						|
dqcps122 copysign  -2682682682682682682682682682682682 8  ->  2682682682682682682682682682682682
 | 
						|
dqcps123 copysign   1341341341341341341341341341341341 8  ->  1341341341341341341341341341341341
 | 
						|
dqcps124 copysign  -1341341341341341341341341341341341 8  ->  1341341341341341341341341341341341
 | 
						|
 | 
						|
-- Nmax, Nmin, Ntiny
 | 
						|
dqcps131 copysign  9.999999999999999999999999999999999E+6144 8 ->  9.999999999999999999999999999999999E+6144
 | 
						|
dqcps132 copysign  1E-6143                                   8 ->  1E-6143
 | 
						|
dqcps133 copysign  1.000000000000000000000000000000000E-6143 8 ->  1.000000000000000000000000000000000E-6143
 | 
						|
dqcps134 copysign  1E-6176                                   8 ->  1E-6176
 | 
						|
 | 
						|
dqcps135 copysign  -1E-6176                                   8 ->  1E-6176
 | 
						|
dqcps136 copysign  -1.000000000000000000000000000000000E-6143 8 ->  1.000000000000000000000000000000000E-6143
 | 
						|
dqcps137 copysign  -1E-6143                                   8 ->  1E-6143
 | 
						|
dqcps138 copysign  -9.999999999999999999999999999999999E+6144 8 ->  9.999999999999999999999999999999999E+6144
 | 
						|
 | 
						|
-- repeat with negative RHS
 | 
						|
 | 
						|
-- Infinities
 | 
						|
dqcps211 copysign  Infinity       -34 -> -Infinity
 | 
						|
dqcps212 copysign  -Infinity      -34 -> -Infinity
 | 
						|
 | 
						|
-- NaNs, 0 payload
 | 
						|
dqcps221 copysign         NaN     -34 -> -NaN
 | 
						|
dqcps222 copysign        -NaN     -34 -> -NaN
 | 
						|
dqcps223 copysign        sNaN     -34 -> -sNaN
 | 
						|
dqcps224 copysign       -sNaN     -34 -> -sNaN
 | 
						|
 | 
						|
-- NaNs, non-0 payload
 | 
						|
dqcps231 copysign       NaN10     -34 -> -NaN10
 | 
						|
dqcps232 copysign      -NaN10     -34 -> -NaN10
 | 
						|
dqcps233 copysign      sNaN10     -34 -> -sNaN10
 | 
						|
dqcps234 copysign     -sNaN10     -34 -> -sNaN10
 | 
						|
dqcps235 copysign       NaN7      -34 -> -NaN7
 | 
						|
dqcps236 copysign      -NaN7      -34 -> -NaN7
 | 
						|
dqcps237 copysign      sNaN101    -34 -> -sNaN101
 | 
						|
dqcps238 copysign     -sNaN101    -34 -> -sNaN101
 | 
						|
 | 
						|
-- finites
 | 
						|
dqcps301 copysign          7      -34 -> -7
 | 
						|
dqcps302 copysign         -7      -34 -> -7
 | 
						|
dqcps303 copysign         75      -34 -> -75
 | 
						|
dqcps304 copysign        -75      -34 -> -75
 | 
						|
dqcps305 copysign       7.50      -34 -> -7.50
 | 
						|
dqcps306 copysign      -7.50      -34 -> -7.50
 | 
						|
dqcps307 copysign       7.500     -34 -> -7.500
 | 
						|
dqcps308 copysign      -7.500     -34 -> -7.500
 | 
						|
 | 
						|
-- zeros
 | 
						|
dqcps311 copysign          0      -34 -> -0
 | 
						|
dqcps312 copysign         -0      -34 -> -0
 | 
						|
dqcps313 copysign       0E+4      -34 -> -0E+4
 | 
						|
dqcps314 copysign      -0E+4      -34 -> -0E+4
 | 
						|
dqcps315 copysign     0.0000      -34 -> -0.0000
 | 
						|
dqcps316 copysign    -0.0000      -34 -> -0.0000
 | 
						|
dqcps317 copysign      0E-141     -34 -> -0E-141
 | 
						|
dqcps318 copysign     -0E-141     -34 -> -0E-141
 | 
						|
 | 
						|
-- full coefficients, alternating bits
 | 
						|
dqcps321 copysign   2682682682682682682682682682682682 -9 -> -2682682682682682682682682682682682
 | 
						|
dqcps322 copysign  -2682682682682682682682682682682682 -9 -> -2682682682682682682682682682682682
 | 
						|
dqcps323 copysign   1341341341341341341341341341341341 -9 -> -1341341341341341341341341341341341
 | 
						|
dqcps324 copysign  -1341341341341341341341341341341341 -9 -> -1341341341341341341341341341341341
 | 
						|
 | 
						|
-- Nmax, Nmin, Ntiny
 | 
						|
dqcps331 copysign  9.999999999999999999999999999999999E+6144 -1  -> -9.999999999999999999999999999999999E+6144
 | 
						|
dqcps332 copysign  1E-6143                                   -1  -> -1E-6143
 | 
						|
dqcps333 copysign  1.000000000000000000000000000000000E-6143 -1  -> -1.000000000000000000000000000000000E-6143
 | 
						|
dqcps334 copysign  1E-6176                                   -1  -> -1E-6176
 | 
						|
 | 
						|
dqcps335 copysign  -1E-6176                                   -3 -> -1E-6176
 | 
						|
dqcps336 copysign  -1.000000000000000000000000000000000E-6143 -3 -> -1.000000000000000000000000000000000E-6143
 | 
						|
dqcps337 copysign  -1E-6143                                   -3 -> -1E-6143
 | 
						|
dqcps338 copysign  -9.999999999999999999999999999999999E+6144 -3 -> -9.999999999999999999999999999999999E+6144
 | 
						|
 | 
						|
-- Other kinds of RHS
 | 
						|
dqcps401 copysign          701    -34 -> -701
 | 
						|
dqcps402 copysign         -720    -34 -> -720
 | 
						|
dqcps403 copysign          701    -0  -> -701
 | 
						|
dqcps404 copysign         -720    -0  -> -720
 | 
						|
dqcps405 copysign          701    +0  ->  701
 | 
						|
dqcps406 copysign         -720    +0  ->  720
 | 
						|
dqcps407 copysign          701    +34 ->  701
 | 
						|
dqcps408 copysign         -720    +34 ->  720
 | 
						|
 | 
						|
dqcps413 copysign          701    -Inf  -> -701
 | 
						|
dqcps414 copysign         -720    -Inf  -> -720
 | 
						|
dqcps415 copysign          701    +Inf  ->  701
 | 
						|
dqcps416 copysign         -720    +Inf  ->  720
 | 
						|
 | 
						|
dqcps420 copysign          701    -NaN  -> -701
 | 
						|
dqcps421 copysign         -720    -NaN  -> -720
 | 
						|
dqcps422 copysign          701    +NaN  ->  701
 | 
						|
dqcps423 copysign         -720    +NaN  ->  720
 | 
						|
dqcps425 copysign         -720    +NaN8 ->  720
 | 
						|
 | 
						|
dqcps426 copysign          701    -sNaN  -> -701
 | 
						|
dqcps427 copysign         -720    -sNaN  -> -720
 | 
						|
dqcps428 copysign          701    +sNaN  ->  701
 | 
						|
dqcps429 copysign         -720    +sNaN  ->  720
 | 
						|
dqcps430 copysign         -720    +sNaN3 ->  720
 | 
						|
 |