Thomas Wouters | 1b7f891 | 2007-09-19 03:06:30 +0000 | [diff] [blame] | 1 | ------------------------------------------------------------------------
|
| 2 | -- nextplus.decTest -- decimal 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 | extended: 1
|
| 23 | precision: 9
|
| 24 | rounding: half_up
|
| 25 | maxExponent: 384
|
| 26 | minexponent: -383
|
| 27 |
|
| 28 | nextp001 nextplus 0.999999995 -> 0.999999996
|
| 29 | nextp002 nextplus 0.999999996 -> 0.999999997
|
| 30 | nextp003 nextplus 0.999999997 -> 0.999999998
|
| 31 | nextp004 nextplus 0.999999998 -> 0.999999999
|
| 32 | nextp005 nextplus 0.999999999 -> 1.00000000
|
| 33 | nextp006 nextplus 1.00000000 -> 1.00000001
|
| 34 | nextp007 nextplus 1.0 -> 1.00000001
|
| 35 | nextp008 nextplus 1 -> 1.00000001
|
| 36 | nextp009 nextplus 1.00000001 -> 1.00000002
|
| 37 | nextp010 nextplus 1.00000002 -> 1.00000003
|
| 38 | nextp011 nextplus 1.00000003 -> 1.00000004
|
| 39 | nextp012 nextplus 1.00000004 -> 1.00000005
|
| 40 | nextp013 nextplus 1.00000005 -> 1.00000006
|
| 41 | nextp014 nextplus 1.00000006 -> 1.00000007
|
| 42 | nextp015 nextplus 1.00000007 -> 1.00000008
|
| 43 | nextp016 nextplus 1.00000008 -> 1.00000009
|
| 44 | nextp017 nextplus 1.00000009 -> 1.00000010
|
| 45 | nextp018 nextplus 1.00000010 -> 1.00000011
|
| 46 | nextp019 nextplus 1.00000011 -> 1.00000012
|
| 47 |
|
| 48 | nextp021 nextplus -0.999999995 -> -0.999999994
|
| 49 | nextp022 nextplus -0.999999996 -> -0.999999995
|
| 50 | nextp023 nextplus -0.999999997 -> -0.999999996
|
| 51 | nextp024 nextplus -0.999999998 -> -0.999999997
|
| 52 | nextp025 nextplus -0.999999999 -> -0.999999998
|
| 53 | nextp026 nextplus -1.00000000 -> -0.999999999
|
| 54 | nextp027 nextplus -1.0 -> -0.999999999
|
| 55 | nextp028 nextplus -1 -> -0.999999999
|
| 56 | nextp029 nextplus -1.00000001 -> -1.00000000
|
| 57 | nextp030 nextplus -1.00000002 -> -1.00000001
|
| 58 | nextp031 nextplus -1.00000003 -> -1.00000002
|
| 59 | nextp032 nextplus -1.00000004 -> -1.00000003
|
| 60 | nextp033 nextplus -1.00000005 -> -1.00000004
|
| 61 | nextp034 nextplus -1.00000006 -> -1.00000005
|
| 62 | nextp035 nextplus -1.00000007 -> -1.00000006
|
| 63 | nextp036 nextplus -1.00000008 -> -1.00000007
|
| 64 | nextp037 nextplus -1.00000009 -> -1.00000008
|
| 65 | nextp038 nextplus -1.00000010 -> -1.00000009
|
| 66 | nextp039 nextplus -1.00000011 -> -1.00000010
|
| 67 | nextp040 nextplus -1.00000012 -> -1.00000011
|
| 68 |
|
| 69 | -- input operand is >precision
|
| 70 | nextp041 nextplus 1.00000010998 -> 1.00000011
|
| 71 | nextp042 nextplus 1.00000010999 -> 1.00000011
|
| 72 | nextp043 nextplus 1.00000011000 -> 1.00000012
|
| 73 | nextp044 nextplus 1.00000011001 -> 1.00000012
|
| 74 | nextp045 nextplus 1.00000011002 -> 1.00000012
|
| 75 | nextp046 nextplus 1.00000011002 -> 1.00000012
|
| 76 | nextp047 nextplus 1.00000011052 -> 1.00000012
|
| 77 | nextp048 nextplus 1.00000011552 -> 1.00000012
|
| 78 | nextp049 nextplus -1.00000010998 -> -1.00000010
|
| 79 | nextp050 nextplus -1.00000010999 -> -1.00000010
|
| 80 | nextp051 nextplus -1.00000011000 -> -1.00000010
|
| 81 | nextp052 nextplus -1.00000011001 -> -1.00000011
|
| 82 | nextp053 nextplus -1.00000011002 -> -1.00000011
|
| 83 | nextp054 nextplus -1.00000011002 -> -1.00000011
|
| 84 | nextp055 nextplus -1.00000011052 -> -1.00000011
|
| 85 | nextp056 nextplus -1.00000011552 -> -1.00000011
|
| 86 | -- ultra-tiny inputs
|
| 87 | nextp060 nextplus 1E-99999 -> 1E-391
|
| 88 | nextp061 nextplus 1E-999999999 -> 1E-391
|
| 89 | nextp062 nextplus 1E-391 -> 2E-391
|
| 90 | nextp063 nextplus -1E-99999 -> -0E-391
|
| 91 | nextp064 nextplus -1E-999999999 -> -0E-391
|
| 92 | nextp065 nextplus -1E-391 -> -0E-391
|
| 93 |
|
| 94 | -- Zeros
|
| 95 | nextp100 nextplus 0 -> 1E-391
|
| 96 | nextp101 nextplus 0.00 -> 1E-391
|
| 97 | nextp102 nextplus 0E-300 -> 1E-391
|
| 98 | nextp103 nextplus 0E+300 -> 1E-391
|
| 99 | nextp104 nextplus 0E+30000 -> 1E-391
|
| 100 | nextp105 nextplus -0 -> 1E-391
|
| 101 | nextp106 nextplus -0.00 -> 1E-391
|
| 102 | nextp107 nextplus -0E-300 -> 1E-391
|
| 103 | nextp108 nextplus -0E+300 -> 1E-391
|
| 104 | nextp109 nextplus -0E+30000 -> 1E-391
|
| 105 |
|
| 106 | maxExponent: 999
|
| 107 | minexponent: -999
|
| 108 | precision: 9
|
| 109 | -- specials
|
| 110 | nextp150 nextplus Inf -> Infinity
|
| 111 | nextp151 nextplus -Inf -> -9.99999999E+999
|
| 112 | nextp152 nextplus NaN -> NaN
|
| 113 | nextp153 nextplus sNaN -> NaN Invalid_operation
|
| 114 | nextp154 nextplus NaN77 -> NaN77
|
| 115 | nextp155 nextplus sNaN88 -> NaN88 Invalid_operation
|
| 116 | nextp156 nextplus -NaN -> -NaN
|
| 117 | nextp157 nextplus -sNaN -> -NaN Invalid_operation
|
| 118 | nextp158 nextplus -NaN77 -> -NaN77
|
| 119 | nextp159 nextplus -sNaN88 -> -NaN88 Invalid_operation
|
| 120 |
|
| 121 | -- Nmax, Nmin, Ntiny, subnormals
|
| 122 | nextp170 nextplus 9.99999999E+999 -> Infinity
|
| 123 | nextp171 nextplus 9.99999998E+999 -> 9.99999999E+999
|
| 124 | nextp172 nextplus 1E-999 -> 1.00000001E-999
|
| 125 | nextp173 nextplus 1.00000000E-999 -> 1.00000001E-999
|
| 126 | nextp174 nextplus 9E-1007 -> 1.0E-1006
|
| 127 | nextp175 nextplus 9.9E-1006 -> 1.00E-1005
|
| 128 | nextp176 nextplus 9.9999E-1003 -> 1.00000E-1002
|
| 129 | nextp177 nextplus 9.9999999E-1000 -> 1.00000000E-999
|
| 130 | nextp178 nextplus 9.9999998E-1000 -> 9.9999999E-1000
|
| 131 | nextp179 nextplus 9.9999997E-1000 -> 9.9999998E-1000
|
| 132 | nextp180 nextplus 0E-1007 -> 1E-1007
|
| 133 | nextp181 nextplus 1E-1007 -> 2E-1007
|
| 134 | nextp182 nextplus 2E-1007 -> 3E-1007
|
| 135 |
|
| 136 | nextp183 nextplus -0E-1007 -> 1E-1007
|
| 137 | nextp184 nextplus -1E-1007 -> -0E-1007
|
| 138 | nextp185 nextplus -2E-1007 -> -1E-1007
|
| 139 | nextp186 nextplus -10E-1007 -> -9E-1007
|
| 140 | nextp187 nextplus -100E-1007 -> -9.9E-1006
|
| 141 | nextp188 nextplus -100000E-1007 -> -9.9999E-1003
|
| 142 | nextp189 nextplus -1.0000E-999 -> -9.9999999E-1000
|
| 143 | nextp190 nextplus -1.00000000E-999 -> -9.9999999E-1000
|
| 144 | nextp191 nextplus -1E-999 -> -9.9999999E-1000
|
| 145 | nextp192 nextplus -9.99999998E+999 -> -9.99999997E+999
|
| 146 | nextp193 nextplus -9.99999999E+999 -> -9.99999998E+999
|
| 147 |
|
| 148 | -- Null tests
|
| 149 | nextp900 nextplus # -> NaN Invalid_operation
|
| 150 |
|