| Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 1 | ------------------------------------------------------------------------
 | 
 | 2 | -- ddNextPlus.decTest -- decDouble next that is greater [754r nextup] --
 | 
| 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 | ddnextp001 nextplus  0.9999999999999995 ->   0.9999999999999996
 | 
 | 31 | ddnextp002 nextplus  0.9999999999999996 ->   0.9999999999999997
 | 
 | 32 | ddnextp003 nextplus  0.9999999999999997 ->   0.9999999999999998
 | 
 | 33 | ddnextp004 nextplus  0.9999999999999998 ->   0.9999999999999999
 | 
 | 34 | ddnextp005 nextplus  0.9999999999999999 ->   1.000000000000000
 | 
 | 35 | ddnextp006 nextplus  1.000000000000000  ->   1.000000000000001
 | 
 | 36 | ddnextp007 nextplus  1.0         ->   1.000000000000001
 | 
 | 37 | ddnextp008 nextplus  1           ->   1.000000000000001
 | 
 | 38 | ddnextp009 nextplus  1.000000000000001  ->   1.000000000000002
 | 
 | 39 | ddnextp010 nextplus  1.000000000000002  ->   1.000000000000003
 | 
 | 40 | ddnextp011 nextplus  1.000000000000003  ->   1.000000000000004
 | 
 | 41 | ddnextp012 nextplus  1.000000000000004  ->   1.000000000000005
 | 
 | 42 | ddnextp013 nextplus  1.000000000000005  ->   1.000000000000006
 | 
 | 43 | ddnextp014 nextplus  1.000000000000006  ->   1.000000000000007
 | 
 | 44 | ddnextp015 nextplus  1.000000000000007  ->   1.000000000000008
 | 
 | 45 | ddnextp016 nextplus  1.000000000000008  ->   1.000000000000009
 | 
 | 46 | ddnextp017 nextplus  1.000000000000009  ->   1.000000000000010
 | 
 | 47 | ddnextp018 nextplus  1.000000000000010  ->   1.000000000000011
 | 
 | 48 | ddnextp019 nextplus  1.000000000000011  ->   1.000000000000012
 | 
 | 49 | 
 | 
 | 50 | ddnextp021 nextplus -0.9999999999999995 ->  -0.9999999999999994
 | 
 | 51 | ddnextp022 nextplus -0.9999999999999996 ->  -0.9999999999999995
 | 
 | 52 | ddnextp023 nextplus -0.9999999999999997 ->  -0.9999999999999996
 | 
 | 53 | ddnextp024 nextplus -0.9999999999999998 ->  -0.9999999999999997
 | 
 | 54 | ddnextp025 nextplus -0.9999999999999999 ->  -0.9999999999999998
 | 
 | 55 | ddnextp026 nextplus -1.000000000000000  ->  -0.9999999999999999
 | 
 | 56 | ddnextp027 nextplus -1.0         ->  -0.9999999999999999
 | 
 | 57 | ddnextp028 nextplus -1           ->  -0.9999999999999999
 | 
 | 58 | ddnextp029 nextplus -1.000000000000001  ->  -1.000000000000000
 | 
 | 59 | ddnextp030 nextplus -1.000000000000002  ->  -1.000000000000001
 | 
 | 60 | ddnextp031 nextplus -1.000000000000003  ->  -1.000000000000002
 | 
 | 61 | ddnextp032 nextplus -1.000000000000004  ->  -1.000000000000003
 | 
 | 62 | ddnextp033 nextplus -1.000000000000005  ->  -1.000000000000004
 | 
 | 63 | ddnextp034 nextplus -1.000000000000006  ->  -1.000000000000005
 | 
 | 64 | ddnextp035 nextplus -1.000000000000007  ->  -1.000000000000006
 | 
 | 65 | ddnextp036 nextplus -1.000000000000008  ->  -1.000000000000007
 | 
 | 66 | ddnextp037 nextplus -1.000000000000009  ->  -1.000000000000008
 | 
 | 67 | ddnextp038 nextplus -1.000000000000010  ->  -1.000000000000009
 | 
 | 68 | ddnextp039 nextplus -1.000000000000011  ->  -1.000000000000010
 | 
 | 69 | ddnextp040 nextplus -1.000000000000012  ->  -1.000000000000011
 | 
 | 70 | 
 | 
 | 71 | -- Zeros
 | 
 | 72 | ddnextp100 nextplus  0           ->  1E-398
 | 
 | 73 | ddnextp101 nextplus  0.00        ->  1E-398
 | 
 | 74 | ddnextp102 nextplus  0E-300      ->  1E-398
 | 
 | 75 | ddnextp103 nextplus  0E+300      ->  1E-398
 | 
 | 76 | ddnextp104 nextplus  0E+30000    ->  1E-398
 | 
 | 77 | ddnextp105 nextplus -0           ->  1E-398
 | 
 | 78 | ddnextp106 nextplus -0.00        ->  1E-398
 | 
 | 79 | ddnextp107 nextplus -0E-300      ->  1E-398
 | 
 | 80 | ddnextp108 nextplus -0E+300      ->  1E-398
 | 
 | 81 | ddnextp109 nextplus -0E+30000    ->  1E-398
 | 
 | 82 | 
 | 
 | 83 | -- specials
 | 
 | 84 | ddnextp150 nextplus   Inf    ->  Infinity
 | 
 | 85 | ddnextp151 nextplus  -Inf    -> -9.999999999999999E+384
 | 
 | 86 | ddnextp152 nextplus   NaN    ->  NaN
 | 
 | 87 | ddnextp153 nextplus  sNaN    ->  NaN   Invalid_operation
 | 
 | 88 | ddnextp154 nextplus   NaN77  ->  NaN77
 | 
 | 89 | ddnextp155 nextplus  sNaN88  ->  NaN88 Invalid_operation
 | 
 | 90 | ddnextp156 nextplus  -NaN    -> -NaN
 | 
 | 91 | ddnextp157 nextplus -sNaN    -> -NaN   Invalid_operation
 | 
 | 92 | ddnextp158 nextplus  -NaN77  -> -NaN77
 | 
 | 93 | ddnextp159 nextplus -sNaN88  -> -NaN88 Invalid_operation
 | 
 | 94 | 
 | 
 | 95 | -- Nmax, Nmin, Ntiny, subnormals
 | 
 | 96 | ddnextp170 nextplus  -9.999999999999999E+384  -> -9.999999999999998E+384
 | 
 | 97 | ddnextp171 nextplus  -9.999999999999998E+384  -> -9.999999999999997E+384
 | 
 | 98 | ddnextp172 nextplus  -1E-383                  -> -9.99999999999999E-384
 | 
 | 99 | ddnextp173 nextplus  -1.000000000000000E-383  -> -9.99999999999999E-384
 | 
 | 100 | ddnextp174 nextplus  -9E-398                  -> -8E-398
 | 
 | 101 | ddnextp175 nextplus  -9.9E-397                -> -9.8E-397
 | 
 | 102 | ddnextp176 nextplus  -9.99999999999E-387      -> -9.99999999998E-387
 | 
 | 103 | ddnextp177 nextplus  -9.99999999999999E-384   -> -9.99999999999998E-384
 | 
 | 104 | ddnextp178 nextplus  -9.99999999999998E-384   -> -9.99999999999997E-384
 | 
 | 105 | ddnextp179 nextplus  -9.99999999999997E-384   -> -9.99999999999996E-384
 | 
 | 106 | ddnextp180 nextplus  -0E-398                  ->  1E-398
 | 
 | 107 | ddnextp181 nextplus  -1E-398                  -> -0E-398
 | 
 | 108 | ddnextp182 nextplus  -2E-398                  -> -1E-398
 | 
 | 109 | 
 | 
 | 110 | ddnextp183 nextplus   0E-398                  ->  1E-398
 | 
 | 111 | ddnextp184 nextplus   1E-398                  ->  2E-398
 | 
 | 112 | ddnextp185 nextplus   2E-398                  ->  3E-398
 | 
 | 113 | ddnextp186 nextplus   10E-398                 ->  1.1E-397
 | 
 | 114 | ddnextp187 nextplus   100E-398                ->  1.01E-396
 | 
 | 115 | ddnextp188 nextplus   100000E-398             ->  1.00001E-393
 | 
 | 116 | ddnextp189 nextplus   1.00000000000E-383      ->  1.000000000000001E-383
 | 
 | 117 | ddnextp190 nextplus   1.000000000000000E-383  ->  1.000000000000001E-383
 | 
 | 118 | ddnextp191 nextplus   1E-383                  ->  1.000000000000001E-383
 | 
 | 119 | ddnextp192 nextplus   9.999999999999998E+384  ->  9.999999999999999E+384
 | 
 | 120 | ddnextp193 nextplus   9.999999999999999E+384  ->  Infinity
 | 
 | 121 | 
 | 
 | 122 | -- Null tests
 | 
 | 123 | ddnextp900 nextplus  # -> NaN Invalid_operation
 | 
 | 124 | 
 |