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