|
1 ------------------------------------------------------------------------ |
|
2 -- ddCanonical.decTest -- test decDouble canonical results -- |
|
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 -- This file tests that copy operations leave uncanonical operands |
|
23 -- unchanged, and vice versa |
|
24 -- All operands and results are decDoubles. |
|
25 precision: 16 |
|
26 maxExponent: 384 |
|
27 minExponent: -383 |
|
28 extended: 1 |
|
29 clamp: 1 |
|
30 rounding: half_even |
|
31 |
|
32 -- Uncanonical declets are: abc, where: |
|
33 -- a=1,2,3 |
|
34 -- b=6,7,e,f |
|
35 -- c=e,f |
|
36 |
|
37 -- assert some standard (canonical) values; this tests that FromString |
|
38 -- produces canonical results (many more in decimalNN) |
|
39 ddcan001 apply 9.999999999999999E+384 -> #77fcff3fcff3fcff |
|
40 ddcan002 apply 0 -> #2238000000000000 |
|
41 ddcan003 apply 1 -> #2238000000000001 |
|
42 ddcan004 apply -1 -> #a238000000000001 |
|
43 ddcan005 apply Infinity -> #7800000000000000 |
|
44 ddcan006 apply -Infinity -> #f800000000000000 |
|
45 ddcan007 apply -NaN -> #fc00000000000000 |
|
46 ddcan008 apply -sNaN -> #fe00000000000000 |
|
47 ddcan009 apply NaN999999999999999 -> #7c00ff3fcff3fcff |
|
48 ddcan010 apply sNaN999999999999999 -> #7e00ff3fcff3fcff |
|
49 decan011 apply 9999999999999999 -> #6e38ff3fcff3fcff |
|
50 ddcan012 apply 7.50 -> #22300000000003d0 |
|
51 ddcan013 apply 9.99 -> #22300000000000ff |
|
52 |
|
53 -- Base tests for canonical encodings (individual operator |
|
54 -- propagation is tested later) |
|
55 |
|
56 -- Finites: declets in coefficient |
|
57 ddcan021 canonical #77fcff3fcff3fcff -> #77fcff3fcff3fcff |
|
58 ddcan022 canonical #77fcff3fcff3fcff -> #77fcff3fcff3fcff |
|
59 ddcan023 canonical #77ffff3fcff3fcff -> #77fcff3fcff3fcff |
|
60 ddcan024 canonical #77ffff3fcff3fcff -> #77fcff3fcff3fcff |
|
61 ddcan025 canonical #77fcffffcff3fcff -> #77fcff3fcff3fcff |
|
62 ddcan026 canonical #77fcffffcff3fcff -> #77fcff3fcff3fcff |
|
63 ddcan027 canonical #77fcff3ffff3fcff -> #77fcff3fcff3fcff |
|
64 ddcan028 canonical #77fcff3ffff3fcff -> #77fcff3fcff3fcff |
|
65 ddcan030 canonical #77fcff3fcffffcff -> #77fcff3fcff3fcff |
|
66 ddcan031 canonical #77fcff3fcffffcff -> #77fcff3fcff3fcff |
|
67 ddcan032 canonical #77fcff3fcff3ffff -> #77fcff3fcff3fcff |
|
68 ddcan033 canonical #77fcff3fcff3ffff -> #77fcff3fcff3fcff |
|
69 ddcan035 canonical #77fcff3fdff3fcff -> #77fcff3fcff3fcff |
|
70 ddcan036 canonical #77fcff3feff3fcff -> #77fcff3fcff3fcff |
|
71 |
|
72 -- NaN: declets in payload |
|
73 ddcan100 canonical NaN999999999999999 -> #7c00ff3fcff3fcff |
|
74 ddcan101 canonical #7c00ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
75 ddcan102 canonical #7c03ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
76 ddcan103 canonical #7c00ffffcff3fcff -> #7c00ff3fcff3fcff |
|
77 ddcan104 canonical #7c00ff3ffff3fcff -> #7c00ff3fcff3fcff |
|
78 ddcan105 canonical #7c00ff3fcffffcff -> #7c00ff3fcff3fcff |
|
79 ddcan106 canonical #7c00ff3fcff3ffff -> #7c00ff3fcff3fcff |
|
80 ddcan107 canonical #7c00ff3fcff3ffff -> #7c00ff3fcff3fcff |
|
81 -- NaN: exponent continuation bits [excluding sNaN selector] |
|
82 ddcan110 canonical #7c00ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
83 ddcan112 canonical #7d00ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
84 ddcan113 canonical #7c80ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
85 ddcan114 canonical #7c40ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
86 ddcan115 canonical #7c20ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
87 ddcan116 canonical #7c10ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
88 ddcan117 canonical #7c08ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
89 ddcan118 canonical #7c04ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
90 |
|
91 -- sNaN: declets in payload |
|
92 ddcan120 canonical sNaN999999999999999 -> #7e00ff3fcff3fcff |
|
93 ddcan121 canonical #7e00ff3fcff3fcff -> #7e00ff3fcff3fcff |
|
94 ddcan122 canonical #7e03ff3fcff3fcff -> #7e00ff3fcff3fcff |
|
95 ddcan123 canonical #7e00ffffcff3fcff -> #7e00ff3fcff3fcff |
|
96 ddcan124 canonical #7e00ff3ffff3fcff -> #7e00ff3fcff3fcff |
|
97 ddcan125 canonical #7e00ff3fcffffcff -> #7e00ff3fcff3fcff |
|
98 ddcan126 canonical #7e00ff3fcff3ffff -> #7e00ff3fcff3fcff |
|
99 ddcan127 canonical #7e00ff3fcff3ffff -> #7e00ff3fcff3fcff |
|
100 -- sNaN: exponent continuation bits [excluding sNaN selector] |
|
101 ddcan130 canonical #7e00ff3fcff3fcff -> #7e00ff3fcff3fcff |
|
102 ddcan132 canonical #7f00ff3fcff3fcff -> #7e00ff3fcff3fcff |
|
103 ddcan133 canonical #7e80ff3fcff3fcff -> #7e00ff3fcff3fcff |
|
104 ddcan134 canonical #7e40ff3fcff3fcff -> #7e00ff3fcff3fcff |
|
105 ddcan135 canonical #7e20ff3fcff3fcff -> #7e00ff3fcff3fcff |
|
106 ddcan136 canonical #7e10ff3fcff3fcff -> #7e00ff3fcff3fcff |
|
107 ddcan137 canonical #7e08ff3fcff3fcff -> #7e00ff3fcff3fcff |
|
108 ddcan138 canonical #7e04ff3fcff3fcff -> #7e00ff3fcff3fcff |
|
109 |
|
110 -- Inf: exponent continuation bits |
|
111 ddcan140 canonical #7800000000000000 -> #7800000000000000 |
|
112 ddcan141 canonical #7900000000000000 -> #7800000000000000 |
|
113 ddcan142 canonical #7a00000000000000 -> #7800000000000000 |
|
114 ddcan143 canonical #7880000000000000 -> #7800000000000000 |
|
115 ddcan144 canonical #7840000000000000 -> #7800000000000000 |
|
116 ddcan145 canonical #7820000000000000 -> #7800000000000000 |
|
117 ddcan146 canonical #7810000000000000 -> #7800000000000000 |
|
118 ddcan147 canonical #7808000000000000 -> #7800000000000000 |
|
119 ddcan148 canonical #7804000000000000 -> #7800000000000000 |
|
120 |
|
121 -- Inf: coefficient continuation bits (first, last, and a few others) |
|
122 ddcan150 canonical #7800000000000000 -> #7800000000000000 |
|
123 ddcan151 canonical #7802000000000000 -> #7800000000000000 |
|
124 ddcan152 canonical #7800000000000001 -> #7800000000000000 |
|
125 ddcan153 canonical #7801000000000000 -> #7800000000000000 |
|
126 ddcan154 canonical #7800200000000000 -> #7800000000000000 |
|
127 ddcan155 canonical #7800080000000000 -> #7800000000000000 |
|
128 ddcan156 canonical #7800002000000000 -> #7800000000000000 |
|
129 ddcan157 canonical #7800000400000000 -> #7800000000000000 |
|
130 ddcan158 canonical #7800000040000000 -> #7800000000000000 |
|
131 ddcan159 canonical #7800000008000000 -> #7800000000000000 |
|
132 ddcan160 canonical #7800000000400000 -> #7800000000000000 |
|
133 ddcan161 canonical #7800000000020000 -> #7800000000000000 |
|
134 ddcan162 canonical #7800000000008000 -> #7800000000000000 |
|
135 ddcan163 canonical #7800000000000200 -> #7800000000000000 |
|
136 ddcan164 canonical #7800000000000040 -> #7800000000000000 |
|
137 ddcan165 canonical #7800000000000008 -> #7800000000000000 |
|
138 |
|
139 |
|
140 -- Now the operators -- trying to check paths that might fail to |
|
141 -- canonicalize propagated operands |
|
142 |
|
143 ----- Add: |
|
144 -- Finites: neutral 0 |
|
145 ddcan202 add 0E+384 #77ffff3fcff3fcff -> #77fcff3fcff3fcff |
|
146 ddcan203 add #77fcffffcff3fcff 0E+384 -> #77fcff3fcff3fcff |
|
147 -- tiny zero |
|
148 ddcan204 add 0E-398 #77ffff3fcff3fcff -> #77fcff3fcff3fcff Rounded |
|
149 ddcan205 add #77fcffffcff3fcff 0E-398 -> #77fcff3fcff3fcff Rounded |
|
150 -- tiny non zero |
|
151 ddcan206 add -1E-398 #77ffff3fcff3fcff -> #77fcff3fcff3fcff Inexact Rounded |
|
152 ddcan207 add #77ffff3fcff3fcff -1E-398 -> #77fcff3fcff3fcff Inexact Rounded |
|
153 -- NaN: declets in payload |
|
154 ddcan211 add 0 #7c03ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
155 ddcan212 add #7c03ff3fcff3fcff 0 -> #7c00ff3fcff3fcff |
|
156 -- NaN: exponent continuation bits [excluding sNaN selector] |
|
157 ddcan213 add 0 #7c40ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
158 ddcan214 add #7c40ff3fcff3fcff 0 -> #7c00ff3fcff3fcff |
|
159 -- sNaN: declets in payload |
|
160 ddcan215 add 0 #7e00ffffcff3fcff -> #7c00ff3fcff3fcff Invalid_operation |
|
161 ddcan216 add #7e00ffffcff3fcff 0 -> #7c00ff3fcff3fcff Invalid_operation |
|
162 -- sNaN: exponent continuation bits [excluding sNaN selector] |
|
163 ddcan217 add 0 #7e80ff3fcff3fcff -> #7c00ff3fcff3fcff Invalid_operation |
|
164 ddcan218 add #7e80ff3fcff3fcff 0 -> #7c00ff3fcff3fcff Invalid_operation |
|
165 -- Inf: exponent continuation bits |
|
166 ddcan220 add 0 #7880000000000000 -> #7800000000000000 |
|
167 ddcan221 add #7880000000000000 0 -> #7800000000000000 |
|
168 -- Inf: coefficient continuation bits |
|
169 ddcan222 add 0 #7802000000000000 -> #7800000000000000 |
|
170 ddcan223 add #7802000000000000 0 -> #7800000000000000 |
|
171 ddcan224 add 0 #7800000000000001 -> #7800000000000000 |
|
172 ddcan225 add #7800000000000001 0 -> #7800000000000000 |
|
173 ddcan226 add 0 #7800002000000000 -> #7800000000000000 |
|
174 ddcan227 add #7800002000000000 0 -> #7800000000000000 |
|
175 |
|
176 ----- Class: [does not return encoded] |
|
177 |
|
178 ----- Compare: |
|
179 ddcan231 compare -Inf 1 -> #a238000000000001 |
|
180 ddcan232 compare -Inf -Inf -> #2238000000000000 |
|
181 ddcan233 compare 1 -Inf -> #2238000000000001 |
|
182 ddcan234 compare #7c00ff3ffff3fcff -1000 -> #7c00ff3fcff3fcff |
|
183 ddcan235 compare #7e00ff3ffff3fcff -1000 -> #7c00ff3fcff3fcff Invalid_operation |
|
184 |
|
185 ----- CompareSig: |
|
186 ddcan241 comparesig -Inf 1 -> #a238000000000001 |
|
187 ddcan242 comparesig -Inf -Inf -> #2238000000000000 |
|
188 ddcan243 comparesig 1 -Inf -> #2238000000000001 |
|
189 ddcan244 comparesig #7c00ff3ffff3fcff -1000 -> #7c00ff3fcff3fcff Invalid_operation |
|
190 ddcan245 comparesig #7e00ff3ffff3fcff -1000 -> #7c00ff3fcff3fcff Invalid_operation |
|
191 |
|
192 ----- Copy: [does not usually canonicalize] |
|
193 -- finites |
|
194 ddcan250 copy #77ffff3fcff3fcff -> #77ffff3fcff3fcff |
|
195 ddcan251 copy #77fcff3fdff3fcff -> #77fcff3fdff3fcff |
|
196 -- NaNs |
|
197 ddcan252 copy #7c03ff3fcff3fcff -> #7c03ff3fcff3fcff |
|
198 ddcan253 copy #7c00ff3fcff3ffff -> #7c00ff3fcff3ffff |
|
199 ddcan254 copy #7d00ff3fcff3fcff -> #7d00ff3fcff3fcff |
|
200 ddcan255 copy #7c04ff3fcff3fcff -> #7c04ff3fcff3fcff |
|
201 -- sNaN |
|
202 ddcan256 copy #7e00ff3fcffffcff -> #7e00ff3fcffffcff |
|
203 ddcan257 copy #7e40ff3fcff3fcff -> #7e40ff3fcff3fcff |
|
204 -- Inf |
|
205 ddcan258 copy #7a00000000000000 -> #7a00000000000000 |
|
206 ddcan259 copy #7800200000000000 -> #7800200000000000 |
|
207 |
|
208 ----- CopyAbs: [does not usually canonicalize] |
|
209 -- finites |
|
210 ddcan260 copyabs #f7ffff3fcff3fcff -> #77ffff3fcff3fcff |
|
211 ddcan261 copyabs #f7fcff3fdff3fcff -> #77fcff3fdff3fcff |
|
212 -- NaNs |
|
213 ddcan262 copyabs #fc03ff3fcff3fcff -> #7c03ff3fcff3fcff |
|
214 ddcan263 copyabs #fc00ff3fcff3ffff -> #7c00ff3fcff3ffff |
|
215 ddcan264 copyabs #fd00ff3fcff3fcff -> #7d00ff3fcff3fcff |
|
216 ddcan265 copyabs #fc04ff3fcff3fcff -> #7c04ff3fcff3fcff |
|
217 -- sNaN |
|
218 ddcan266 copyabs #fe00ff3fcffffcff -> #7e00ff3fcffffcff |
|
219 ddcan267 copyabs #fe40ff3fcff3fcff -> #7e40ff3fcff3fcff |
|
220 -- Inf |
|
221 ddcan268 copyabs #fa00000000000000 -> #7a00000000000000 |
|
222 ddcan269 copyabs #f800200000000000 -> #7800200000000000 |
|
223 |
|
224 ----- CopyNegate: [does not usually canonicalize] |
|
225 -- finites |
|
226 ddcan270 copynegate #77ffff3fcff3fcff -> #f7ffff3fcff3fcff |
|
227 ddcan271 copynegate #77fcff3fdff3fcff -> #f7fcff3fdff3fcff |
|
228 -- NaNs |
|
229 ddcan272 copynegate #7c03ff3fcff3fcff -> #fc03ff3fcff3fcff |
|
230 ddcan273 copynegate #7c00ff3fcff3ffff -> #fc00ff3fcff3ffff |
|
231 ddcan274 copynegate #7d00ff3fcff3fcff -> #fd00ff3fcff3fcff |
|
232 ddcan275 copynegate #7c04ff3fcff3fcff -> #fc04ff3fcff3fcff |
|
233 -- sNaN |
|
234 ddcan276 copynegate #7e00ff3fcffffcff -> #fe00ff3fcffffcff |
|
235 ddcan277 copynegate #7e40ff3fcff3fcff -> #fe40ff3fcff3fcff |
|
236 -- Inf |
|
237 ddcan278 copynegate #7a00000000000000 -> #fa00000000000000 |
|
238 ddcan279 copynegate #7800200000000000 -> #f800200000000000 |
|
239 |
|
240 ----- CopySign: [does not usually canonicalize] |
|
241 -- finites |
|
242 ddcan280 copysign #77ffff3fcff3fcff -1 -> #f7ffff3fcff3fcff |
|
243 ddcan281 copysign #77fcff3fdff3fcff 1 -> #77fcff3fdff3fcff |
|
244 -- NaNs |
|
245 ddcan282 copysign #7c03ff3fcff3fcff -1 -> #fc03ff3fcff3fcff |
|
246 ddcan283 copysign #7c00ff3fcff3ffff 1 -> #7c00ff3fcff3ffff |
|
247 ddcan284 copysign #7d00ff3fcff3fcff -1 -> #fd00ff3fcff3fcff |
|
248 ddcan285 copysign #7c04ff3fcff3fcff 1 -> #7c04ff3fcff3fcff |
|
249 -- sNaN |
|
250 ddcan286 copysign #7e00ff3fcffffcff -1 -> #fe00ff3fcffffcff |
|
251 ddcan287 copysign #7e40ff3fcff3fcff 1 -> #7e40ff3fcff3fcff |
|
252 -- Inf |
|
253 ddcan288 copysign #7a00000000000000 -1 -> #fa00000000000000 |
|
254 ddcan289 copysign #7800200000000000 1 -> #7800200000000000 |
|
255 |
|
256 ----- Multiply: |
|
257 -- Finites: neutral 0 |
|
258 ddcan302 multiply 1 #77ffff3fcff3fcff -> #77fcff3fcff3fcff |
|
259 ddcan303 multiply #77fcffffcff3fcff 1 -> #77fcff3fcff3fcff |
|
260 -- negative |
|
261 ddcan306 multiply -1 #77ffff3fcff3fcff -> #f7fcff3fcff3fcff |
|
262 ddcan307 multiply #77fcffffcff3fcff -1 -> #f7fcff3fcff3fcff |
|
263 -- NaN: declets in payload |
|
264 ddcan311 multiply 1 #7c03ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
265 ddcan312 multiply #7c03ff3fcff3fcff 1 -> #7c00ff3fcff3fcff |
|
266 -- NaN: exponent continuation bits [excluding sNaN selector] |
|
267 ddcan313 multiply 1 #7c40ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
268 ddcan314 multiply #7c40ff3fcff3fcff 1 -> #7c00ff3fcff3fcff |
|
269 -- sNaN: declets in payload |
|
270 ddcan315 multiply 1 #7e00ffffcff3fcff -> #7c00ff3fcff3fcff Invalid_operation |
|
271 ddcan316 multiply #7e00ffffcff3fcff 1 -> #7c00ff3fcff3fcff Invalid_operation |
|
272 -- sNaN: exponent continuation bits [excluding sNaN selector] |
|
273 ddcan317 multiply 1 #7e80ff3fcff3fcff -> #7c00ff3fcff3fcff Invalid_operation |
|
274 ddcan318 multiply #7e80ff3fcff3fcff 1 -> #7c00ff3fcff3fcff Invalid_operation |
|
275 -- Inf: exponent continuation bits |
|
276 ddcan320 multiply 1 #7880000000000000 -> #7800000000000000 |
|
277 ddcan321 multiply #7880000000000000 1 -> #7800000000000000 |
|
278 -- Inf: coefficient continuation bits |
|
279 ddcan322 multiply 1 #7802000000000000 -> #7800000000000000 |
|
280 ddcan323 multiply #7802000000000000 1 -> #7800000000000000 |
|
281 ddcan324 multiply 1 #7800000000000001 -> #7800000000000000 |
|
282 ddcan325 multiply #7800000000000001 1 -> #7800000000000000 |
|
283 ddcan326 multiply 1 #7800002000000000 -> #7800000000000000 |
|
284 ddcan327 multiply #7800002000000000 1 -> #7800000000000000 |
|
285 |
|
286 ----- Quantize: |
|
287 ddcan401 quantize #6e38ff3ffff3fcff 1 -> #6e38ff3fcff3fcff |
|
288 ddcan402 quantize #6e38ff3fcff3fdff 0 -> #6e38ff3fcff3fcff |
|
289 ddcan403 quantize #7880000000000000 Inf -> #7800000000000000 |
|
290 ddcan404 quantize #7802000000000000 -Inf -> #7800000000000000 |
|
291 ddcan410 quantize #7c03ff3fcff3fcff 1 -> #7c00ff3fcff3fcff |
|
292 ddcan411 quantize #7c03ff3fcff3fcff 1 -> #7c00ff3fcff3fcff |
|
293 ddcan412 quantize #7c40ff3fcff3fcff 1 -> #7c00ff3fcff3fcff |
|
294 ddcan413 quantize #7c40ff3fcff3fcff 1 -> #7c00ff3fcff3fcff |
|
295 ddcan414 quantize #7e00ffffcff3fcff 1 -> #7c00ff3fcff3fcff Invalid_operation |
|
296 ddcan415 quantize #7e00ffffcff3fcff 1 -> #7c00ff3fcff3fcff Invalid_operation |
|
297 ddcan416 quantize #7e80ff3fcff3fcff 1 -> #7c00ff3fcff3fcff Invalid_operation |
|
298 ddcan417 quantize #7e80ff3fcff3fcff 1 -> #7c00ff3fcff3fcff Invalid_operation |
|
299 |
|
300 ----- Subtract: |
|
301 -- Finites: neutral 0 |
|
302 ddcan502 subtract 0E+384 #77ffff3fcff3fcff -> #f7fcff3fcff3fcff |
|
303 ddcan503 subtract #77fcffffcff3fcff 0E+384 -> #77fcff3fcff3fcff |
|
304 -- tiny zero |
|
305 ddcan504 subtract 0E-398 #77ffff3fcff3fcff -> #f7fcff3fcff3fcff Rounded |
|
306 ddcan505 subtract #77fcffffcff3fcff 0E-398 -> #77fcff3fcff3fcff Rounded |
|
307 -- tiny non zero |
|
308 ddcan506 subtract -1E-398 #77ffff3fcff3fcff -> #f7fcff3fcff3fcff Inexact Rounded |
|
309 ddcan507 subtract #77ffff3fcff3fcff -1E-398 -> #77fcff3fcff3fcff Inexact Rounded |
|
310 -- NaN: declets in payload |
|
311 ddcan511 subtract 0 #7c03ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
312 ddcan512 subtract #7c03ff3fcff3fcff 0 -> #7c00ff3fcff3fcff |
|
313 -- NaN: exponent continuation bits [excluding sNaN selector] |
|
314 ddcan513 subtract 0 #7c40ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
315 ddcan514 subtract #7c40ff3fcff3fcff 0 -> #7c00ff3fcff3fcff |
|
316 -- sNaN: declets in payload |
|
317 ddcan515 subtract 0 #7e00ffffcff3fcff -> #7c00ff3fcff3fcff Invalid_operation |
|
318 ddcan516 subtract #7e00ffffcff3fcff 0 -> #7c00ff3fcff3fcff Invalid_operation |
|
319 -- sNaN: exponent continuation bits [excluding sNaN selector] |
|
320 ddcan517 subtract 0 #7e80ff3fcff3fcff -> #7c00ff3fcff3fcff Invalid_operation |
|
321 ddcan518 subtract #7e80ff3fcff3fcff 0 -> #7c00ff3fcff3fcff Invalid_operation |
|
322 -- Inf: exponent continuation bits |
|
323 ddcan520 subtract 0 #7880000000000000 -> #f800000000000000 |
|
324 ddcan521 subtract #7880000000000000 0 -> #7800000000000000 |
|
325 -- Inf: coefficient continuation bits |
|
326 ddcan522 subtract 0 #7802000000000000 -> #f800000000000000 |
|
327 ddcan523 subtract #7802000000000000 0 -> #7800000000000000 |
|
328 ddcan524 subtract 0 #7800000000000001 -> #f800000000000000 |
|
329 ddcan525 subtract #7800000000000001 0 -> #7800000000000000 |
|
330 ddcan526 subtract 0 #7800002000000000 -> #f800000000000000 |
|
331 ddcan527 subtract #7800002000000000 0 -> #7800000000000000 |
|
332 |
|
333 ----- ToIntegral: |
|
334 ddcan601 tointegralx #6e38ff3ffff3fcff -> #6e38ff3fcff3fcff |
|
335 ddcan602 tointegralx #6e38ff3fcff3fdff -> #6e38ff3fcff3fcff |
|
336 ddcan603 tointegralx #7880000000000000 -> #7800000000000000 |
|
337 ddcan604 tointegralx #7802000000000000 -> #7800000000000000 |
|
338 ddcan610 tointegralx #7c03ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
339 ddcan611 tointegralx #7c03ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
340 ddcan612 tointegralx #7c40ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
341 ddcan613 tointegralx #7c40ff3fcff3fcff -> #7c00ff3fcff3fcff |
|
342 ddcan614 tointegralx #7e00ffffcff3fcff -> #7c00ff3fcff3fcff Invalid_operation |
|
343 ddcan615 tointegralx #7e00ffffcff3fcff -> #7c00ff3fcff3fcff Invalid_operation |
|
344 ddcan616 tointegralx #7e80ff3fcff3fcff -> #7c00ff3fcff3fcff Invalid_operation |
|
345 ddcan617 tointegralx #7e80ff3fcff3fcff -> #7c00ff3fcff3fcff Invalid_operation |
|
346 -- uncanonical 3999, 39.99, 3.99, 0.399, and negatives |
|
347 ddcan618 tointegralx #2238000000000fff -> #2238000000000cff |
|
348 ddcan619 tointegralx #2230000000000fff -> #2238000000000040 Inexact Rounded |
|
349 ddcan620 tointegralx #222c000000000fff -> #2238000000000004 Inexact Rounded |
|
350 ddcan621 tointegralx #2228000000000fff -> #2238000000000000 Inexact Rounded |
|
351 ddcan622 tointegralx #a238000000000fff -> #a238000000000cff |
|
352 ddcan623 tointegralx #a230000000000fff -> #a238000000000040 Inexact Rounded |
|
353 ddcan624 tointegralx #a22c000000000fff -> #a238000000000004 Inexact Rounded |
|
354 ddcan625 tointegralx #a228000000000fff -> #a238000000000000 Inexact Rounded |
|
355 |
|
356 |
|
357 |