symbian-qemu-0.9.1-12/python-win32-2.6.1/lib/test/decimaltestdata/copysign.decTest
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 ------------------------------------------------------------------------
       
     2 -- copysign.decTest -- quiet copy with sign from rhs                  --
       
     3 -- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --
       
     4 ------------------------------------------------------------------------
       
     5 -- Please see the document "General Decimal Arithmetic Testcases"     --
       
     6 -- at http://www2.hursley.ibm.com/decimal for the description of      --
       
     7 -- these testcases.                                                   --
       
     8 --                                                                    --
       
     9 -- These testcases are experimental ('beta' versions), and they       --
       
    10 -- may contain errors.  They are offered on an as-is basis.  In       --
       
    11 -- particular, achieving the same results as the tests here is not    --
       
    12 -- a guarantee that an implementation complies with any Standard      --
       
    13 -- or specification.  The tests are not exhaustive.                   --
       
    14 --                                                                    --
       
    15 -- Please send comments, suggestions, and corrections to the author:  --
       
    16 --   Mike Cowlishaw, IBM Fellow                                       --
       
    17 --   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
       
    18 --   mfc@uk.ibm.com                                                   --
       
    19 ------------------------------------------------------------------------
       
    20 version: 2.58
       
    21 
       
    22 extended:    1
       
    23 precision:   9
       
    24 rounding:    half_up
       
    25 maxExponent: 999
       
    26 minExponent: -999
       
    27 
       
    28 -- Sanity check, and examples from decArith
       
    29 cpsx001 copysign   +7.50       11  -> 7.50
       
    30 cpsx002 copysign   '1.50'   '7.33' -> 1.50
       
    31 cpsx003 copysign  '-1.50'   '7.33' -> 1.50
       
    32 cpsx004 copysign   '1.50'  '-7.33' -> -1.50
       
    33 cpsx005 copysign  '-1.50'  '-7.33' -> -1.50
       
    34 
       
    35 -- Infinities
       
    36 cpsx011 copysign  Infinity       11 -> Infinity
       
    37 cpsx012 copysign  -Infinity      11 -> Infinity
       
    38 
       
    39 -- NaNs, 0 payload
       
    40 cpsx021 copysign         NaN     11 -> NaN
       
    41 cpsx022 copysign        -NaN     11 -> NaN
       
    42 cpsx023 copysign        sNaN     11 -> sNaN
       
    43 cpsx024 copysign       -sNaN     11 -> sNaN
       
    44 
       
    45 -- NaNs, non-0 payload
       
    46 cpsx031 copysign       NaN10     11 -> NaN10
       
    47 cpsx032 copysign      -NaN10     11 -> NaN10
       
    48 cpsx033 copysign      sNaN10     11 -> sNaN10
       
    49 cpsx034 copysign     -sNaN10     11 -> sNaN10
       
    50 cpsx035 copysign       NaN7      11 -> NaN7
       
    51 cpsx036 copysign      -NaN7      11 -> NaN7
       
    52 cpsx037 copysign      sNaN101    11 -> sNaN101
       
    53 cpsx038 copysign     -sNaN101    11 -> sNaN101
       
    54 
       
    55 -- finites
       
    56 cpsx101 copysign          7      11 -> 7
       
    57 cpsx102 copysign         -7      11 -> 7
       
    58 cpsx103 copysign         75      11 -> 75
       
    59 cpsx104 copysign        -75      11 -> 75
       
    60 cpsx105 copysign       7.50      11 -> 7.50
       
    61 cpsx106 copysign      -7.50      11 -> 7.50
       
    62 cpsx107 copysign       7.500     11 -> 7.500
       
    63 cpsx108 copysign      -7.500     11 -> 7.500
       
    64 
       
    65 -- zeros
       
    66 cpsx111 copysign          0      11 -> 0
       
    67 cpsx112 copysign         -0      11 -> 0
       
    68 cpsx113 copysign       0E+4      11 -> 0E+4
       
    69 cpsx114 copysign      -0E+4      11 -> 0E+4
       
    70 cpsx115 copysign     0.0000      11 -> 0.0000
       
    71 cpsx116 copysign    -0.0000      11 -> 0.0000
       
    72 cpsx117 copysign      0E-141     11 -> 0E-141
       
    73 cpsx118 copysign     -0E-141     11 -> 0E-141
       
    74 
       
    75 -- full coefficients, alternating bits
       
    76 cpsx121 copysign   268268268           11 -> 268268268
       
    77 cpsx122 copysign  -268268268           11 -> 268268268
       
    78 cpsx123 copysign   134134134           11 -> 134134134
       
    79 cpsx124 copysign  -134134134           11 -> 134134134
       
    80 
       
    81 -- Nmax, Nmin, Ntiny
       
    82 cpsx131 copysign  9.99999999E+999      11 -> 9.99999999E+999
       
    83 cpsx132 copysign  1E-999               11 -> 1E-999
       
    84 cpsx133 copysign  1.00000000E-999      11 -> 1.00000000E-999
       
    85 cpsx134 copysign  1E-1007              11 -> 1E-1007
       
    86 
       
    87 cpsx135 copysign  -1E-1007             11 -> 1E-1007
       
    88 cpsx136 copysign  -1.00000000E-999     11 -> 1.00000000E-999
       
    89 cpsx137 copysign  -1E-999              11 -> 1E-999
       
    90 cpsx138 copysign  -9.99999999E+999     11 -> 9.99999999E+999
       
    91 
       
    92 -- repeat with negative RHS
       
    93 
       
    94 -- Infinities
       
    95 cpsx211 copysign  Infinity       -34 -> -Infinity
       
    96 cpsx212 copysign  -Infinity      -34 -> -Infinity
       
    97 
       
    98 -- NaNs, 0 payload
       
    99 cpsx221 copysign         NaN     -34 -> -NaN
       
   100 cpsx222 copysign        -NaN     -34 -> -NaN
       
   101 cpsx223 copysign        sNaN     -34 -> -sNaN
       
   102 cpsx224 copysign       -sNaN     -34 -> -sNaN
       
   103 
       
   104 -- NaNs, non-0 payload
       
   105 cpsx231 copysign       NaN10     -34 -> -NaN10
       
   106 cpsx232 copysign      -NaN10     -34 -> -NaN10
       
   107 cpsx233 copysign      sNaN10     -34 -> -sNaN10
       
   108 cpsx234 copysign     -sNaN10     -34 -> -sNaN10
       
   109 cpsx235 copysign       NaN7      -34 -> -NaN7
       
   110 cpsx236 copysign      -NaN7      -34 -> -NaN7
       
   111 cpsx237 copysign      sNaN101    -34 -> -sNaN101
       
   112 cpsx238 copysign     -sNaN101    -34 -> -sNaN101
       
   113 
       
   114 -- finites
       
   115 cpsx301 copysign          7      -34 -> -7
       
   116 cpsx302 copysign         -7      -34 -> -7
       
   117 cpsx303 copysign         75      -34 -> -75
       
   118 cpsx304 copysign        -75      -34 -> -75
       
   119 cpsx305 copysign       7.50      -34 -> -7.50
       
   120 cpsx306 copysign      -7.50      -34 -> -7.50
       
   121 cpsx307 copysign       7.500     -34 -> -7.500
       
   122 cpsx308 copysign      -7.500     -34 -> -7.500
       
   123 
       
   124 -- zeros
       
   125 cpsx311 copysign          0      -34 -> -0
       
   126 cpsx312 copysign         -0      -34 -> -0
       
   127 cpsx313 copysign       0E+4      -34 -> -0E+4
       
   128 cpsx314 copysign      -0E+4      -34 -> -0E+4
       
   129 cpsx315 copysign     0.0000      -34 -> -0.0000
       
   130 cpsx316 copysign    -0.0000      -34 -> -0.0000
       
   131 cpsx317 copysign      0E-141     -34 -> -0E-141
       
   132 cpsx318 copysign     -0E-141     -34 -> -0E-141
       
   133 
       
   134 -- full coefficients, alternating bits
       
   135 cpsx321 copysign   268268268          -18 -> -268268268
       
   136 cpsx322 copysign  -268268268          -18 -> -268268268
       
   137 cpsx323 copysign   134134134          -18 -> -134134134
       
   138 cpsx324 copysign  -134134134          -18 -> -134134134
       
   139 
       
   140 -- Nmax, Nmin, Ntiny
       
   141 cpsx331 copysign  9.99999999E+999     -18 -> -9.99999999E+999
       
   142 cpsx332 copysign  1E-999              -18 -> -1E-999
       
   143 cpsx333 copysign  1.00000000E-999     -18 -> -1.00000000E-999
       
   144 cpsx334 copysign  1E-1007             -18 -> -1E-1007
       
   145 
       
   146 cpsx335 copysign  -1E-1007            -18 -> -1E-1007
       
   147 cpsx336 copysign  -1.00000000E-999    -18 -> -1.00000000E-999
       
   148 cpsx337 copysign  -1E-999             -18 -> -1E-999
       
   149 cpsx338 copysign  -9.99999999E+999    -18 -> -9.99999999E+999
       
   150 
       
   151 -- Other kinds of RHS
       
   152 cpsx401 copysign          701    -34 -> -701
       
   153 cpsx402 copysign         -720    -34 -> -720
       
   154 cpsx403 copysign          701    -0  -> -701
       
   155 cpsx404 copysign         -720    -0  -> -720
       
   156 cpsx405 copysign          701    +0  ->  701
       
   157 cpsx406 copysign         -720    +0  ->  720
       
   158 cpsx407 copysign          701    +34 ->  701
       
   159 cpsx408 copysign         -720    +34 ->  720
       
   160 
       
   161 cpsx413 copysign          701    -Inf  -> -701
       
   162 cpsx414 copysign         -720    -Inf  -> -720
       
   163 cpsx415 copysign          701    +Inf  ->  701
       
   164 cpsx416 copysign         -720    +Inf  ->  720
       
   165 
       
   166 cpsx420 copysign          701    -NaN  -> -701
       
   167 cpsx421 copysign         -720    -NaN  -> -720
       
   168 cpsx422 copysign          701    +NaN  ->  701
       
   169 cpsx423 copysign         -720    +NaN  ->  720
       
   170 cpsx425 copysign         -720    +NaN8 ->  720
       
   171 
       
   172 cpsx426 copysign          701    -sNaN  -> -701
       
   173 cpsx427 copysign         -720    -sNaN  -> -720
       
   174 cpsx428 copysign          701    +sNaN  ->  701
       
   175 cpsx429 copysign         -720    +sNaN  ->  720
       
   176 cpsx430 copysign         -720    +sNaN3 ->  720
       
   177