1------------------------------------------------------------------------ 2-- nextplus.decTest -- decimal 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 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 151