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