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