------------------------------------------------------------------------

-- nextplus.decTest -- decimal next that is greater [754r nextup]     --

-- Copyright (c) IBM Corporation, 1981, 2008.  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.58



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



