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