|
1 ------------------------------------------------------------------------ |
|
2 -- nextplus.decTest -- decimal next that is greater [754r nextup] -- |
|
3 -- Copyright (c) IBM Corporation, 1981, 2007. 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.57 |
|
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 |