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