blob: fa5bc3a12f0291916cf4ff479a7777aae072c382 [file] [log] [blame]
Georg Brandlfaa9ad22011-03-05 15:06:13 +01001------------------------------------------------------------------------
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