1------------------------------------------------------------------------ 2-- class.decTest -- Class operations -- 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-- [New 2006.11.27] 23 24precision: 9 25maxExponent: 999 26minExponent: -999 27extended: 1 28clamp: 1 29rounding: half_even 30 31clasx001 class 0 -> +Zero 32clasx002 class 0.00 -> +Zero 33clasx003 class 0E+5 -> +Zero 34clasx004 class 1E-1007 -> +Subnormal 35clasx005 class 0.1E-999 -> +Subnormal 36clasx006 class 0.99999999E-999 -> +Subnormal 37clasx007 class 1.00000000E-999 -> +Normal 38clasx008 class 1E-999 -> +Normal 39clasx009 class 1E-100 -> +Normal 40clasx010 class 1E-10 -> +Normal 41clasx012 class 1E-1 -> +Normal 42clasx013 class 1 -> +Normal 43clasx014 class 2.50 -> +Normal 44clasx015 class 100.100 -> +Normal 45clasx016 class 1E+30 -> +Normal 46clasx017 class 1E+999 -> +Normal 47clasx018 class 9.99999999E+999 -> +Normal 48clasx019 class Inf -> +Infinity 49 50clasx021 class -0 -> -Zero 51clasx022 class -0.00 -> -Zero 52clasx023 class -0E+5 -> -Zero 53clasx024 class -1E-1007 -> -Subnormal 54clasx025 class -0.1E-999 -> -Subnormal 55clasx026 class -0.99999999E-999 -> -Subnormal 56clasx027 class -1.00000000E-999 -> -Normal 57clasx028 class -1E-999 -> -Normal 58clasx029 class -1E-100 -> -Normal 59clasx030 class -1E-10 -> -Normal 60clasx032 class -1E-1 -> -Normal 61clasx033 class -1 -> -Normal 62clasx034 class -2.50 -> -Normal 63clasx035 class -100.100 -> -Normal 64clasx036 class -1E+30 -> -Normal 65clasx037 class -1E+999 -> -Normal 66clasx038 class -9.99999999E+999 -> -Normal 67clasx039 class -Inf -> -Infinity 68 69clasx041 class NaN -> NaN 70clasx042 class -NaN -> NaN 71clasx043 class +NaN12345 -> NaN 72clasx044 class sNaN -> sNaN 73clasx045 class -sNaN -> sNaN 74clasx046 class +sNaN12345 -> sNaN 75 76 77-- decimal64 bounds 78 79precision: 16 80maxExponent: 384 81minExponent: -383 82clamp: 1 83rounding: half_even 84 85clasx201 class 0 -> +Zero 86clasx202 class 0.00 -> +Zero 87clasx203 class 0E+5 -> +Zero 88clasx204 class 1E-396 -> +Subnormal 89clasx205 class 0.1E-383 -> +Subnormal 90clasx206 class 0.999999999999999E-383 -> +Subnormal 91clasx207 class 1.000000000000000E-383 -> +Normal 92clasx208 class 1E-383 -> +Normal 93clasx209 class 1E-100 -> +Normal 94clasx210 class 1E-10 -> +Normal 95clasx212 class 1E-1 -> +Normal 96clasx213 class 1 -> +Normal 97clasx214 class 2.50 -> +Normal 98clasx215 class 100.100 -> +Normal 99clasx216 class 1E+30 -> +Normal 100clasx217 class 1E+384 -> +Normal 101clasx218 class 9.999999999999999E+384 -> +Normal 102clasx219 class Inf -> +Infinity 103 104clasx221 class -0 -> -Zero 105clasx222 class -0.00 -> -Zero 106clasx223 class -0E+5 -> -Zero 107clasx224 class -1E-396 -> -Subnormal 108clasx225 class -0.1E-383 -> -Subnormal 109clasx226 class -0.999999999999999E-383 -> -Subnormal 110clasx227 class -1.000000000000000E-383 -> -Normal 111clasx228 class -1E-383 -> -Normal 112clasx229 class -1E-100 -> -Normal 113clasx230 class -1E-10 -> -Normal 114clasx232 class -1E-1 -> -Normal 115clasx233 class -1 -> -Normal 116clasx234 class -2.50 -> -Normal 117clasx235 class -100.100 -> -Normal 118clasx236 class -1E+30 -> -Normal 119clasx237 class -1E+384 -> -Normal 120clasx238 class -9.999999999999999E+384 -> -Normal 121clasx239 class -Inf -> -Infinity 122 123clasx241 class NaN -> NaN 124clasx242 class -NaN -> NaN 125clasx243 class +NaN12345 -> NaN 126clasx244 class sNaN -> sNaN 127clasx245 class -sNaN -> sNaN 128clasx246 class +sNaN12345 -> sNaN 129 130 131 132