symbian-qemu-0.9.1-12/python-2.6.1/Lib/test/decimaltestdata/xor.decTest
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 ------------------------------------------------------------------------
       
     2 -- xor.decTest -- digitwise logical XOR                               --
       
     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 (truth table)
       
    29 xorx001 xor             0    0 ->    0
       
    30 xorx002 xor             0    1 ->    1
       
    31 xorx003 xor             1    0 ->    1
       
    32 xorx004 xor             1    1 ->    0
       
    33 xorx005 xor          1100 1010 ->  110
       
    34 xorx006 xor          1111   10 -> 1101
       
    35 -- and at msd and msd-1
       
    36 xorx010 xor 000000000 000000000 ->           0
       
    37 xorx011 xor 000000000 100000000 ->   100000000
       
    38 xorx012 xor 100000000 000000000 ->   100000000
       
    39 xorx013 xor 100000000 100000000 ->           0
       
    40 xorx014 xor 000000000 000000000 ->           0
       
    41 xorx015 xor 000000000 010000000 ->    10000000
       
    42 xorx016 xor 010000000 000000000 ->    10000000
       
    43 xorx017 xor 010000000 010000000 ->           0
       
    44 
       
    45 -- Various lengths
       
    46 --        123456789     123456789      123456789
       
    47 xorx021 xor 111111111     111111111  ->  0
       
    48 xorx022 xor 111111111111  111111111  ->  0
       
    49 xorx023 xor  11111111      11111111  ->  0
       
    50 xorx025 xor   1111111       1111111  ->  0
       
    51 xorx026 xor    111111        111111  ->  0
       
    52 xorx027 xor     11111         11111  ->  0
       
    53 xorx028 xor      1111          1111  ->  0
       
    54 xorx029 xor       111           111  ->  0
       
    55 xorx031 xor        11            11  ->  0
       
    56 xorx032 xor         1             1  ->  0
       
    57 xorx033 xor 111111111111 1111111111  ->  0
       
    58 xorx034 xor 11111111111 11111111111  ->  0
       
    59 xorx035 xor 1111111111 111111111111  ->  0
       
    60 xorx036 xor 111111111 1111111111111  ->  0
       
    61 
       
    62 xorx040 xor 111111111  111111111111  ->  0
       
    63 xorx041 xor  11111111  111111111111  ->  100000000
       
    64 xorx042 xor  11111111     111111111  ->  100000000
       
    65 xorx043 xor   1111111     100000010  ->  101111101
       
    66 xorx044 xor    111111     100000100  ->  100111011
       
    67 xorx045 xor     11111     100001000  ->  100010111
       
    68 xorx046 xor      1111     100010000  ->  100011111
       
    69 xorx047 xor       111     100100000  ->  100100111
       
    70 xorx048 xor        11     101000000  ->  101000011
       
    71 xorx049 xor         1     110000000  ->  110000001
       
    72 
       
    73 xorx050 xor 1111111111  1  ->  111111110
       
    74 xorx051 xor  111111111  1  ->  111111110
       
    75 xorx052 xor   11111111  1  ->  11111110
       
    76 xorx053 xor    1111111  1  ->  1111110
       
    77 xorx054 xor     111111  1  ->  111110
       
    78 xorx055 xor      11111  1  ->  11110
       
    79 xorx056 xor       1111  1  ->  1110
       
    80 xorx057 xor        111  1  ->  110
       
    81 xorx058 xor         11  1  ->  10
       
    82 xorx059 xor          1  1  ->  0
       
    83 
       
    84 xorx060 xor 1111111111  0  ->  111111111
       
    85 xorx061 xor  111111111  0  ->  111111111
       
    86 xorx062 xor   11111111  0  ->  11111111
       
    87 xorx063 xor    1111111  0  ->  1111111
       
    88 xorx064 xor     111111  0  ->  111111
       
    89 xorx065 xor      11111  0  ->  11111
       
    90 xorx066 xor       1111  0  ->  1111
       
    91 xorx067 xor        111  0  ->  111
       
    92 xorx068 xor         11  0  ->  11
       
    93 xorx069 xor          1  0  ->  1
       
    94 
       
    95 xorx070 xor 1  1111111111  ->  111111110
       
    96 xorx071 xor 1   111111111  ->  111111110
       
    97 xorx072 xor 1    11111111  ->  11111110
       
    98 xorx073 xor 1     1111111  ->  1111110
       
    99 xorx074 xor 1      111111  ->  111110
       
   100 xorx075 xor 1       11111  ->  11110
       
   101 xorx076 xor 1        1111  ->  1110
       
   102 xorx077 xor 1         111  ->  110
       
   103 xorx078 xor 1          11  ->  10
       
   104 xorx079 xor 1           1  ->  0
       
   105 
       
   106 xorx080 xor 0  1111111111  ->  111111111
       
   107 xorx081 xor 0   111111111  ->  111111111
       
   108 xorx082 xor 0    11111111  ->  11111111
       
   109 xorx083 xor 0     1111111  ->  1111111
       
   110 xorx084 xor 0      111111  ->  111111
       
   111 xorx085 xor 0       11111  ->  11111
       
   112 xorx086 xor 0        1111  ->  1111
       
   113 xorx087 xor 0         111  ->  111
       
   114 xorx088 xor 0          11  ->  11
       
   115 xorx089 xor 0           1  ->  1
       
   116 
       
   117 xorx090 xor 011111111  111101111  ->  100010000
       
   118 xorx091 xor 101111111  111101111  ->   10010000
       
   119 xorx092 xor 110111111  111101111  ->    1010000
       
   120 xorx093 xor 111011111  111101111  ->     110000
       
   121 xorx094 xor 111101111  111101111  ->          0
       
   122 xorx095 xor 111110111  111101111  ->      11000
       
   123 xorx096 xor 111111011  111101111  ->      10100
       
   124 xorx097 xor 111111101  111101111  ->      10010
       
   125 xorx098 xor 111111110  111101111  ->      10001
       
   126 
       
   127 xorx100 xor 111101111  011111111  ->  100010000
       
   128 xorx101 xor 111101111  101111111  ->   10010000
       
   129 xorx102 xor 111101111  110111111  ->    1010000
       
   130 xorx103 xor 111101111  111011111  ->     110000
       
   131 xorx104 xor 111101111  111101111  ->          0
       
   132 xorx105 xor 111101111  111110111  ->      11000
       
   133 xorx106 xor 111101111  111111011  ->      10100
       
   134 xorx107 xor 111101111  111111101  ->      10010
       
   135 xorx108 xor 111101111  111111110  ->      10001
       
   136 
       
   137 -- non-0/1 should not be accepted, nor should signs
       
   138 xorx220 xor 111111112  111111111  ->  NaN Invalid_operation
       
   139 xorx221 xor 333333333  333333333  ->  NaN Invalid_operation
       
   140 xorx222 xor 555555555  555555555  ->  NaN Invalid_operation
       
   141 xorx223 xor 777777777  777777777  ->  NaN Invalid_operation
       
   142 xorx224 xor 999999999  999999999  ->  NaN Invalid_operation
       
   143 xorx225 xor 222222222  999999999  ->  NaN Invalid_operation
       
   144 xorx226 xor 444444444  999999999  ->  NaN Invalid_operation
       
   145 xorx227 xor 666666666  999999999  ->  NaN Invalid_operation
       
   146 xorx228 xor 888888888  999999999  ->  NaN Invalid_operation
       
   147 xorx229 xor 999999999  222222222  ->  NaN Invalid_operation
       
   148 xorx230 xor 999999999  444444444  ->  NaN Invalid_operation
       
   149 xorx231 xor 999999999  666666666  ->  NaN Invalid_operation
       
   150 xorx232 xor 999999999  888888888  ->  NaN Invalid_operation
       
   151 -- a few randoms
       
   152 xorx240 xor  567468689 -934981942 ->  NaN Invalid_operation
       
   153 xorx241 xor  567367689  934981942 ->  NaN Invalid_operation
       
   154 xorx242 xor -631917772 -706014634 ->  NaN Invalid_operation
       
   155 xorx243 xor -756253257  138579234 ->  NaN Invalid_operation
       
   156 xorx244 xor  835590149  567435400 ->  NaN Invalid_operation
       
   157 -- test MSD
       
   158 xorx250 xor  200000000 100000000 ->  NaN Invalid_operation
       
   159 xorx251 xor  700000000 100000000 ->  NaN Invalid_operation
       
   160 xorx252 xor  800000000 100000000 ->  NaN Invalid_operation
       
   161 xorx253 xor  900000000 100000000 ->  NaN Invalid_operation
       
   162 xorx254 xor  200000000 000000000 ->  NaN Invalid_operation
       
   163 xorx255 xor  700000000 000000000 ->  NaN Invalid_operation
       
   164 xorx256 xor  800000000 000000000 ->  NaN Invalid_operation
       
   165 xorx257 xor  900000000 000000000 ->  NaN Invalid_operation
       
   166 xorx258 xor  100000000 200000000 ->  NaN Invalid_operation
       
   167 xorx259 xor  100000000 700000000 ->  NaN Invalid_operation
       
   168 xorx260 xor  100000000 800000000 ->  NaN Invalid_operation
       
   169 xorx261 xor  100000000 900000000 ->  NaN Invalid_operation
       
   170 xorx262 xor  000000000 200000000 ->  NaN Invalid_operation
       
   171 xorx263 xor  000000000 700000000 ->  NaN Invalid_operation
       
   172 xorx264 xor  000000000 800000000 ->  NaN Invalid_operation
       
   173 xorx265 xor  000000000 900000000 ->  NaN Invalid_operation
       
   174 -- test MSD-1
       
   175 xorx270 xor  020000000 100000000 ->  NaN Invalid_operation
       
   176 xorx271 xor  070100000 100000000 ->  NaN Invalid_operation
       
   177 xorx272 xor  080010000 100000001 ->  NaN Invalid_operation
       
   178 xorx273 xor  090001000 100000010 ->  NaN Invalid_operation
       
   179 xorx274 xor  100000100 020010100 ->  NaN Invalid_operation
       
   180 xorx275 xor  100000000 070001000 ->  NaN Invalid_operation
       
   181 xorx276 xor  100000010 080010100 ->  NaN Invalid_operation
       
   182 xorx277 xor  100000000 090000010 ->  NaN Invalid_operation
       
   183 -- test LSD
       
   184 xorx280 xor  001000002 100000000 ->  NaN Invalid_operation
       
   185 xorx281 xor  000000007 100000000 ->  NaN Invalid_operation
       
   186 xorx282 xor  000000008 100000000 ->  NaN Invalid_operation
       
   187 xorx283 xor  000000009 100000000 ->  NaN Invalid_operation
       
   188 xorx284 xor  100000000 000100002 ->  NaN Invalid_operation
       
   189 xorx285 xor  100100000 001000007 ->  NaN Invalid_operation
       
   190 xorx286 xor  100010000 010000008 ->  NaN Invalid_operation
       
   191 xorx287 xor  100001000 100000009 ->  NaN Invalid_operation
       
   192 -- test Middie
       
   193 xorx288 xor  001020000 100000000 ->  NaN Invalid_operation
       
   194 xorx289 xor  000070001 100000000 ->  NaN Invalid_operation
       
   195 xorx290 xor  000080000 100010000 ->  NaN Invalid_operation
       
   196 xorx291 xor  000090000 100001000 ->  NaN Invalid_operation
       
   197 xorx292 xor  100000010 000020100 ->  NaN Invalid_operation
       
   198 xorx293 xor  100100000 000070010 ->  NaN Invalid_operation
       
   199 xorx294 xor  100010100 000080001 ->  NaN Invalid_operation
       
   200 xorx295 xor  100001000 000090000 ->  NaN Invalid_operation
       
   201 -- signs
       
   202 xorx296 xor -100001000 -000000000 ->  NaN Invalid_operation
       
   203 xorx297 xor -100001000  000010000 ->  NaN Invalid_operation
       
   204 xorx298 xor  100001000 -000000000 ->  NaN Invalid_operation
       
   205 xorx299 xor  100001000  000011000 ->  100010000
       
   206 
       
   207 -- Nmax, Nmin, Ntiny
       
   208 xorx331 xor  2   9.99999999E+999     -> NaN Invalid_operation
       
   209 xorx332 xor  3   1E-999              -> NaN Invalid_operation
       
   210 xorx333 xor  4   1.00000000E-999     -> NaN Invalid_operation
       
   211 xorx334 xor  5   1E-1007             -> NaN Invalid_operation
       
   212 xorx335 xor  6   -1E-1007            -> NaN Invalid_operation
       
   213 xorx336 xor  7   -1.00000000E-999    -> NaN Invalid_operation
       
   214 xorx337 xor  8   -1E-999             -> NaN Invalid_operation
       
   215 xorx338 xor  9   -9.99999999E+999    -> NaN Invalid_operation
       
   216 xorx341 xor  9.99999999E+999     -18 -> NaN Invalid_operation
       
   217 xorx342 xor  1E-999               01 -> NaN Invalid_operation
       
   218 xorx343 xor  1.00000000E-999     -18 -> NaN Invalid_operation
       
   219 xorx344 xor  1E-1007              18 -> NaN Invalid_operation
       
   220 xorx345 xor  -1E-1007            -10 -> NaN Invalid_operation
       
   221 xorx346 xor  -1.00000000E-999     18 -> NaN Invalid_operation
       
   222 xorx347 xor  -1E-999              10 -> NaN Invalid_operation
       
   223 xorx348 xor  -9.99999999E+999    -18 -> NaN Invalid_operation
       
   224 
       
   225 -- A few other non-integers
       
   226 xorx361 xor  1.0                  1  -> NaN Invalid_operation
       
   227 xorx362 xor  1E+1                 1  -> NaN Invalid_operation
       
   228 xorx363 xor  0.0                  1  -> NaN Invalid_operation
       
   229 xorx364 xor  0E+1                 1  -> NaN Invalid_operation
       
   230 xorx365 xor  9.9                  1  -> NaN Invalid_operation
       
   231 xorx366 xor  9E+1                 1  -> NaN Invalid_operation
       
   232 xorx371 xor  0 1.0                   -> NaN Invalid_operation
       
   233 xorx372 xor  0 1E+1                  -> NaN Invalid_operation
       
   234 xorx373 xor  0 0.0                   -> NaN Invalid_operation
       
   235 xorx374 xor  0 0E+1                  -> NaN Invalid_operation
       
   236 xorx375 xor  0 9.9                   -> NaN Invalid_operation
       
   237 xorx376 xor  0 9E+1                  -> NaN Invalid_operation
       
   238 
       
   239 -- All Specials are in error
       
   240 xorx780 xor -Inf  -Inf   -> NaN Invalid_operation
       
   241 xorx781 xor -Inf  -1000  -> NaN Invalid_operation
       
   242 xorx782 xor -Inf  -1     -> NaN Invalid_operation
       
   243 xorx783 xor -Inf  -0     -> NaN Invalid_operation
       
   244 xorx784 xor -Inf   0     -> NaN Invalid_operation
       
   245 xorx785 xor -Inf   1     -> NaN Invalid_operation
       
   246 xorx786 xor -Inf   1000  -> NaN Invalid_operation
       
   247 xorx787 xor -1000 -Inf   -> NaN Invalid_operation
       
   248 xorx788 xor -Inf  -Inf   -> NaN Invalid_operation
       
   249 xorx789 xor -1    -Inf   -> NaN Invalid_operation
       
   250 xorx790 xor -0    -Inf   -> NaN Invalid_operation
       
   251 xorx791 xor  0    -Inf   -> NaN Invalid_operation
       
   252 xorx792 xor  1    -Inf   -> NaN Invalid_operation
       
   253 xorx793 xor  1000 -Inf   -> NaN Invalid_operation
       
   254 xorx794 xor  Inf  -Inf   -> NaN Invalid_operation
       
   255 
       
   256 xorx800 xor  Inf  -Inf   -> NaN Invalid_operation
       
   257 xorx801 xor  Inf  -1000  -> NaN Invalid_operation
       
   258 xorx802 xor  Inf  -1     -> NaN Invalid_operation
       
   259 xorx803 xor  Inf  -0     -> NaN Invalid_operation
       
   260 xorx804 xor  Inf   0     -> NaN Invalid_operation
       
   261 xorx805 xor  Inf   1     -> NaN Invalid_operation
       
   262 xorx806 xor  Inf   1000  -> NaN Invalid_operation
       
   263 xorx807 xor  Inf   Inf   -> NaN Invalid_operation
       
   264 xorx808 xor -1000  Inf   -> NaN Invalid_operation
       
   265 xorx809 xor -Inf   Inf   -> NaN Invalid_operation
       
   266 xorx810 xor -1     Inf   -> NaN Invalid_operation
       
   267 xorx811 xor -0     Inf   -> NaN Invalid_operation
       
   268 xorx812 xor  0     Inf   -> NaN Invalid_operation
       
   269 xorx813 xor  1     Inf   -> NaN Invalid_operation
       
   270 xorx814 xor  1000  Inf   -> NaN Invalid_operation
       
   271 xorx815 xor  Inf   Inf   -> NaN Invalid_operation
       
   272 
       
   273 xorx821 xor  NaN -Inf    -> NaN Invalid_operation
       
   274 xorx822 xor  NaN -1000   -> NaN Invalid_operation
       
   275 xorx823 xor  NaN -1      -> NaN Invalid_operation
       
   276 xorx824 xor  NaN -0      -> NaN Invalid_operation
       
   277 xorx825 xor  NaN  0      -> NaN Invalid_operation
       
   278 xorx826 xor  NaN  1      -> NaN Invalid_operation
       
   279 xorx827 xor  NaN  1000   -> NaN Invalid_operation
       
   280 xorx828 xor  NaN  Inf    -> NaN Invalid_operation
       
   281 xorx829 xor  NaN  NaN    -> NaN Invalid_operation
       
   282 xorx830 xor -Inf  NaN    -> NaN Invalid_operation
       
   283 xorx831 xor -1000 NaN    -> NaN Invalid_operation
       
   284 xorx832 xor -1    NaN    -> NaN Invalid_operation
       
   285 xorx833 xor -0    NaN    -> NaN Invalid_operation
       
   286 xorx834 xor  0    NaN    -> NaN Invalid_operation
       
   287 xorx835 xor  1    NaN    -> NaN Invalid_operation
       
   288 xorx836 xor  1000 NaN    -> NaN Invalid_operation
       
   289 xorx837 xor  Inf  NaN    -> NaN Invalid_operation
       
   290 
       
   291 xorx841 xor  sNaN -Inf   ->  NaN  Invalid_operation
       
   292 xorx842 xor  sNaN -1000  ->  NaN  Invalid_operation
       
   293 xorx843 xor  sNaN -1     ->  NaN  Invalid_operation
       
   294 xorx844 xor  sNaN -0     ->  NaN  Invalid_operation
       
   295 xorx845 xor  sNaN  0     ->  NaN  Invalid_operation
       
   296 xorx846 xor  sNaN  1     ->  NaN  Invalid_operation
       
   297 xorx847 xor  sNaN  1000  ->  NaN  Invalid_operation
       
   298 xorx848 xor  sNaN  NaN   ->  NaN  Invalid_operation
       
   299 xorx849 xor  sNaN sNaN   ->  NaN  Invalid_operation
       
   300 xorx850 xor  NaN  sNaN   ->  NaN  Invalid_operation
       
   301 xorx851 xor -Inf  sNaN   ->  NaN  Invalid_operation
       
   302 xorx852 xor -1000 sNaN   ->  NaN  Invalid_operation
       
   303 xorx853 xor -1    sNaN   ->  NaN  Invalid_operation
       
   304 xorx854 xor -0    sNaN   ->  NaN  Invalid_operation
       
   305 xorx855 xor  0    sNaN   ->  NaN  Invalid_operation
       
   306 xorx856 xor  1    sNaN   ->  NaN  Invalid_operation
       
   307 xorx857 xor  1000 sNaN   ->  NaN  Invalid_operation
       
   308 xorx858 xor  Inf  sNaN   ->  NaN  Invalid_operation
       
   309 xorx859 xor  NaN  sNaN   ->  NaN  Invalid_operation
       
   310 
       
   311 -- propagating NaNs
       
   312 xorx861 xor  NaN1   -Inf    -> NaN Invalid_operation
       
   313 xorx862 xor +NaN2   -1000   -> NaN Invalid_operation
       
   314 xorx863 xor  NaN3    1000   -> NaN Invalid_operation
       
   315 xorx864 xor  NaN4    Inf    -> NaN Invalid_operation
       
   316 xorx865 xor  NaN5   +NaN6   -> NaN Invalid_operation
       
   317 xorx866 xor -Inf     NaN7   -> NaN Invalid_operation
       
   318 xorx867 xor -1000    NaN8   -> NaN Invalid_operation
       
   319 xorx868 xor  1000    NaN9   -> NaN Invalid_operation
       
   320 xorx869 xor  Inf    +NaN10  -> NaN Invalid_operation
       
   321 xorx871 xor  sNaN11  -Inf   -> NaN Invalid_operation
       
   322 xorx872 xor  sNaN12  -1000  -> NaN Invalid_operation
       
   323 xorx873 xor  sNaN13   1000  -> NaN Invalid_operation
       
   324 xorx874 xor  sNaN14   NaN17 -> NaN Invalid_operation
       
   325 xorx875 xor  sNaN15  sNaN18 -> NaN Invalid_operation
       
   326 xorx876 xor  NaN16   sNaN19 -> NaN Invalid_operation
       
   327 xorx877 xor -Inf    +sNaN20 -> NaN Invalid_operation
       
   328 xorx878 xor -1000    sNaN21 -> NaN Invalid_operation
       
   329 xorx879 xor  1000    sNaN22 -> NaN Invalid_operation
       
   330 xorx880 xor  Inf     sNaN23 -> NaN Invalid_operation
       
   331 xorx881 xor +NaN25  +sNaN24 -> NaN Invalid_operation
       
   332 xorx882 xor -NaN26    NaN28 -> NaN Invalid_operation
       
   333 xorx883 xor -sNaN27  sNaN29 -> NaN Invalid_operation
       
   334 xorx884 xor  1000    -NaN30 -> NaN Invalid_operation
       
   335 xorx885 xor  1000   -sNaN31 -> NaN Invalid_operation