1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
------------------------------------------------------------------------
-- nextplus.decTest -- decimal next that is greater [754r nextup] --
-- Copyright (c) IBM Corporation, 1981, 2007. All rights reserved. --
------------------------------------------------------------------------
-- Please see the document "General Decimal Arithmetic Testcases" --
-- at http://www2.hursley.ibm.com/decimal for the description of --
-- these testcases. --
-- --
-- These testcases are experimental ('beta' versions), and they --
-- may contain errors. They are offered on an as-is basis. In --
-- particular, achieving the same results as the tests here is not --
-- a guarantee that an implementation complies with any Standard --
-- or specification. The tests are not exhaustive. --
-- --
-- Please send comments, suggestions, and corrections to the author: --
-- Mike Cowlishaw, IBM Fellow --
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
-- mfc@uk.ibm.com --
------------------------------------------------------------------------
version: 2.57
extended: 1
precision: 9
rounding: half_up
maxExponent: 384
minexponent: -383
nextp001 nextplus 0.999999995 -> 0.999999996
nextp002 nextplus 0.999999996 -> 0.999999997
nextp003 nextplus 0.999999997 -> 0.999999998
nextp004 nextplus 0.999999998 -> 0.999999999
nextp005 nextplus 0.999999999 -> 1.00000000
nextp006 nextplus 1.00000000 -> 1.00000001
nextp007 nextplus 1.0 -> 1.00000001
nextp008 nextplus 1 -> 1.00000001
nextp009 nextplus 1.00000001 -> 1.00000002
nextp010 nextplus 1.00000002 -> 1.00000003
nextp011 nextplus 1.00000003 -> 1.00000004
nextp012 nextplus 1.00000004 -> 1.00000005
nextp013 nextplus 1.00000005 -> 1.00000006
nextp014 nextplus 1.00000006 -> 1.00000007
nextp015 nextplus 1.00000007 -> 1.00000008
nextp016 nextplus 1.00000008 -> 1.00000009
nextp017 nextplus 1.00000009 -> 1.00000010
nextp018 nextplus 1.00000010 -> 1.00000011
nextp019 nextplus 1.00000011 -> 1.00000012
nextp021 nextplus -0.999999995 -> -0.999999994
nextp022 nextplus -0.999999996 -> -0.999999995
nextp023 nextplus -0.999999997 -> -0.999999996
nextp024 nextplus -0.999999998 -> -0.999999997
nextp025 nextplus -0.999999999 -> -0.999999998
nextp026 nextplus -1.00000000 -> -0.999999999
nextp027 nextplus -1.0 -> -0.999999999
nextp028 nextplus -1 -> -0.999999999
nextp029 nextplus -1.00000001 -> -1.00000000
nextp030 nextplus -1.00000002 -> -1.00000001
nextp031 nextplus -1.00000003 -> -1.00000002
nextp032 nextplus -1.00000004 -> -1.00000003
nextp033 nextplus -1.00000005 -> -1.00000004
nextp034 nextplus -1.00000006 -> -1.00000005
nextp035 nextplus -1.00000007 -> -1.00000006
nextp036 nextplus -1.00000008 -> -1.00000007
nextp037 nextplus -1.00000009 -> -1.00000008
nextp038 nextplus -1.00000010 -> -1.00000009
nextp039 nextplus -1.00000011 -> -1.00000010
nextp040 nextplus -1.00000012 -> -1.00000011
-- input operand is >precision
nextp041 nextplus 1.00000010998 -> 1.00000011
nextp042 nextplus 1.00000010999 -> 1.00000011
nextp043 nextplus 1.00000011000 -> 1.00000012
nextp044 nextplus 1.00000011001 -> 1.00000012
nextp045 nextplus 1.00000011002 -> 1.00000012
nextp046 nextplus 1.00000011002 -> 1.00000012
nextp047 nextplus 1.00000011052 -> 1.00000012
nextp048 nextplus 1.00000011552 -> 1.00000012
nextp049 nextplus -1.00000010998 -> -1.00000010
nextp050 nextplus -1.00000010999 -> -1.00000010
nextp051 nextplus -1.00000011000 -> -1.00000010
nextp052 nextplus -1.00000011001 -> -1.00000011
nextp053 nextplus -1.00000011002 -> -1.00000011
nextp054 nextplus -1.00000011002 -> -1.00000011
nextp055 nextplus -1.00000011052 -> -1.00000011
nextp056 nextplus -1.00000011552 -> -1.00000011
-- ultra-tiny inputs
nextp060 nextplus 1E-99999 -> 1E-391
nextp061 nextplus 1E-999999999 -> 1E-391
nextp062 nextplus 1E-391 -> 2E-391
nextp063 nextplus -1E-99999 -> -0E-391
nextp064 nextplus -1E-999999999 -> -0E-391
nextp065 nextplus -1E-391 -> -0E-391
-- Zeros
nextp100 nextplus 0 -> 1E-391
nextp101 nextplus 0.00 -> 1E-391
nextp102 nextplus 0E-300 -> 1E-391
nextp103 nextplus 0E+300 -> 1E-391
nextp104 nextplus 0E+30000 -> 1E-391
nextp105 nextplus -0 -> 1E-391
nextp106 nextplus -0.00 -> 1E-391
nextp107 nextplus -0E-300 -> 1E-391
nextp108 nextplus -0E+300 -> 1E-391
nextp109 nextplus -0E+30000 -> 1E-391
maxExponent: 999
minexponent: -999
precision: 9
-- specials
nextp150 nextplus Inf -> Infinity
nextp151 nextplus -Inf -> -9.99999999E+999
nextp152 nextplus NaN -> NaN
nextp153 nextplus sNaN -> NaN Invalid_operation
nextp154 nextplus NaN77 -> NaN77
nextp155 nextplus sNaN88 -> NaN88 Invalid_operation
nextp156 nextplus -NaN -> -NaN
nextp157 nextplus -sNaN -> -NaN Invalid_operation
nextp158 nextplus -NaN77 -> -NaN77
nextp159 nextplus -sNaN88 -> -NaN88 Invalid_operation
-- Nmax, Nmin, Ntiny, subnormals
nextp170 nextplus 9.99999999E+999 -> Infinity
nextp171 nextplus 9.99999998E+999 -> 9.99999999E+999
nextp172 nextplus 1E-999 -> 1.00000001E-999
nextp173 nextplus 1.00000000E-999 -> 1.00000001E-999
nextp174 nextplus 9E-1007 -> 1.0E-1006
nextp175 nextplus 9.9E-1006 -> 1.00E-1005
nextp176 nextplus 9.9999E-1003 -> 1.00000E-1002
nextp177 nextplus 9.9999999E-1000 -> 1.00000000E-999
nextp178 nextplus 9.9999998E-1000 -> 9.9999999E-1000
nextp179 nextplus 9.9999997E-1000 -> 9.9999998E-1000
nextp180 nextplus 0E-1007 -> 1E-1007
nextp181 nextplus 1E-1007 -> 2E-1007
nextp182 nextplus 2E-1007 -> 3E-1007
nextp183 nextplus -0E-1007 -> 1E-1007
nextp184 nextplus -1E-1007 -> -0E-1007
nextp185 nextplus -2E-1007 -> -1E-1007
nextp186 nextplus -10E-1007 -> -9E-1007
nextp187 nextplus -100E-1007 -> -9.9E-1006
nextp188 nextplus -100000E-1007 -> -9.9999E-1003
nextp189 nextplus -1.0000E-999 -> -9.9999999E-1000
nextp190 nextplus -1.00000000E-999 -> -9.9999999E-1000
nextp191 nextplus -1E-999 -> -9.9999999E-1000
nextp192 nextplus -9.99999998E+999 -> -9.99999997E+999
nextp193 nextplus -9.99999999E+999 -> -9.99999998E+999
-- Null tests
nextp900 nextplus # -> NaN Invalid_operation
|