| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 1 | ------------------------------------------------------------------------
 | 
 | 2 | -- ddPlus.decTest -- decDouble 0+x                                    --
 | 
| Benjamin Peterson | f17ff4e | 2008-07-31 16:32:12 +0000 | [diff] [blame] | 3 | -- Copyright (c) IBM Corporation, 1981, 2008.  All rights reserved.   --
 | 
| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 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 | ------------------------------------------------------------------------
 | 
| Mark Dickinson | 8a54653 | 2009-10-08 16:30:38 +0000 | [diff] [blame] | 20 | version: 2.59
 | 
| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 21 | 
 | 
 | 22 | -- All operands and results are decDoubles.
 | 
 | 23 | precision:   16
 | 
 | 24 | maxExponent: 384
 | 
 | 25 | minExponent: -383
 | 
 | 26 | extended:    1
 | 
 | 27 | clamp:       1
 | 
 | 28 | rounding:    half_even
 | 
 | 29 | 
 | 
 | 30 | -- Sanity check
 | 
 | 31 | ddpls001 plus       +7.50  -> 7.50
 | 
 | 32 | 
 | 
 | 33 | -- Infinities
 | 
 | 34 | ddpls011 plus  Infinity    -> Infinity
 | 
 | 35 | ddpls012 plus  -Infinity   -> -Infinity
 | 
 | 36 | 
 | 
 | 37 | -- NaNs, 0 payload
 | 
 | 38 | ddpls021 plus         NaN  -> NaN
 | 
 | 39 | ddpls022 plus        -NaN  -> -NaN
 | 
 | 40 | ddpls023 plus        sNaN  -> NaN  Invalid_operation
 | 
 | 41 | ddpls024 plus       -sNaN  -> -NaN Invalid_operation
 | 
 | 42 | 
 | 
 | 43 | -- NaNs, non-0 payload
 | 
 | 44 | ddpls031 plus       NaN13  -> NaN13
 | 
 | 45 | ddpls032 plus      -NaN13  -> -NaN13
 | 
 | 46 | ddpls033 plus      sNaN13  -> NaN13   Invalid_operation
 | 
 | 47 | ddpls034 plus     -sNaN13  -> -NaN13  Invalid_operation
 | 
 | 48 | ddpls035 plus       NaN70  -> NaN70
 | 
 | 49 | ddpls036 plus      -NaN70  -> -NaN70
 | 
 | 50 | ddpls037 plus      sNaN101 -> NaN101  Invalid_operation
 | 
 | 51 | ddpls038 plus     -sNaN101 -> -NaN101 Invalid_operation
 | 
 | 52 | 
 | 
 | 53 | -- finites
 | 
 | 54 | ddpls101 plus          7   -> 7
 | 
 | 55 | ddpls102 plus         -7   -> -7
 | 
 | 56 | ddpls103 plus         75   -> 75
 | 
 | 57 | ddpls104 plus        -75   -> -75
 | 
 | 58 | ddpls105 plus       7.50   -> 7.50
 | 
 | 59 | ddpls106 plus      -7.50   -> -7.50
 | 
 | 60 | ddpls107 plus       7.500  -> 7.500
 | 
 | 61 | ddpls108 plus      -7.500  -> -7.500
 | 
 | 62 | 
 | 
 | 63 | -- zeros
 | 
 | 64 | ddpls111 plus          0   -> 0
 | 
 | 65 | ddpls112 plus         -0   -> 0
 | 
 | 66 | ddpls113 plus       0E+4   -> 0E+4
 | 
 | 67 | ddpls114 plus      -0E+4   -> 0E+4
 | 
 | 68 | ddpls115 plus     0.0000   -> 0.0000
 | 
 | 69 | ddpls116 plus    -0.0000   -> 0.0000
 | 
 | 70 | ddpls117 plus      0E-141  -> 0E-141
 | 
 | 71 | ddpls118 plus     -0E-141  -> 0E-141
 | 
 | 72 | 
 | 
 | 73 | -- full coefficients, alternating bits
 | 
 | 74 | ddpls121 plus  2682682682682682         -> 2682682682682682
 | 
 | 75 | ddpls122 plus  -2682682682682682        -> -2682682682682682
 | 
 | 76 | ddpls123 plus  1341341341341341         -> 1341341341341341
 | 
 | 77 | ddpls124 plus  -1341341341341341        -> -1341341341341341
 | 
 | 78 | 
 | 
 | 79 | -- Nmax, Nmin, Ntiny
 | 
 | 80 | ddpls131 plus  9.999999999999999E+384   -> 9.999999999999999E+384
 | 
 | 81 | ddpls132 plus  1E-383                   -> 1E-383
 | 
 | 82 | ddpls133 plus  1.000000000000000E-383   -> 1.000000000000000E-383
 | 
 | 83 | ddpls134 plus  1E-398                   -> 1E-398 Subnormal
 | 
 | 84 | 
 | 
 | 85 | ddpls135 plus  -1E-398                  -> -1E-398 Subnormal
 | 
 | 86 | ddpls136 plus  -1.000000000000000E-383  -> -1.000000000000000E-383
 | 
 | 87 | ddpls137 plus  -1E-383                  -> -1E-383
 | 
 | 88 | ddpls138 plus  -9.999999999999999E+384  -> -9.999999999999999E+384
 |