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.59
|
---|
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 |
|
---|