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
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
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
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
32 -- Uncanonical declets are: abc, where:
\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
53 -- Base tests for canonical encodings (individual operator
\r
54 -- propagation is tested later)
\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
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
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
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
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
140 -- Now the operators -- trying to check paths that might fail to
\r
141 -- canonicalize propagated operands
\r
144 -- Finites: neutral 0
\r
145 ddcan202 add 0E+384 #77ffff3fcff3fcff -> #77fcff3fcff3fcff
\r
146 ddcan203 add #77fcffffcff3fcff 0E+384 -> #77fcff3fcff3fcff
\r
148 ddcan204 add 0E-398 #77ffff3fcff3fcff -> #77fcff3fcff3fcff Rounded
\r
149 ddcan205 add #77fcffffcff3fcff 0E-398 -> #77fcff3fcff3fcff Rounded
\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
176 ----- Class: [does not return encoded]
\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
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
192 ----- Copy: [does not usually canonicalize]
\r
194 ddcan250 copy #77ffff3fcff3fcff -> #77ffff3fcff3fcff
\r
195 ddcan251 copy #77fcff3fdff3fcff -> #77fcff3fdff3fcff
\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
202 ddcan256 copy #7e00ff3fcffffcff -> #7e00ff3fcffffcff
\r
203 ddcan257 copy #7e40ff3fcff3fcff -> #7e40ff3fcff3fcff
\r
205 ddcan258 copy #7a00000000000000 -> #7a00000000000000
\r
206 ddcan259 copy #7800200000000000 -> #7800200000000000
\r
208 ----- CopyAbs: [does not usually canonicalize]
\r
210 ddcan260 copyabs #f7ffff3fcff3fcff -> #77ffff3fcff3fcff
\r
211 ddcan261 copyabs #f7fcff3fdff3fcff -> #77fcff3fdff3fcff
\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
218 ddcan266 copyabs #fe00ff3fcffffcff -> #7e00ff3fcffffcff
\r
219 ddcan267 copyabs #fe40ff3fcff3fcff -> #7e40ff3fcff3fcff
\r
221 ddcan268 copyabs #fa00000000000000 -> #7a00000000000000
\r
222 ddcan269 copyabs #f800200000000000 -> #7800200000000000
\r
224 ----- CopyNegate: [does not usually canonicalize]
\r
226 ddcan270 copynegate #77ffff3fcff3fcff -> #f7ffff3fcff3fcff
\r
227 ddcan271 copynegate #77fcff3fdff3fcff -> #f7fcff3fdff3fcff
\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
234 ddcan276 copynegate #7e00ff3fcffffcff -> #fe00ff3fcffffcff
\r
235 ddcan277 copynegate #7e40ff3fcff3fcff -> #fe40ff3fcff3fcff
\r
237 ddcan278 copynegate #7a00000000000000 -> #fa00000000000000
\r
238 ddcan279 copynegate #7800200000000000 -> #f800200000000000
\r
240 ----- CopySign: [does not usually canonicalize]
\r
242 ddcan280 copysign #77ffff3fcff3fcff -1 -> #f7ffff3fcff3fcff
\r
243 ddcan281 copysign #77fcff3fdff3fcff 1 -> #77fcff3fdff3fcff
\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
250 ddcan286 copysign #7e00ff3fcffffcff -1 -> #fe00ff3fcffffcff
\r
251 ddcan287 copysign #7e40ff3fcff3fcff 1 -> #7e40ff3fcff3fcff
\r
253 ddcan288 copysign #7a00000000000000 -1 -> #fa00000000000000
\r
254 ddcan289 copysign #7800200000000000 1 -> #7800200000000000
\r
257 -- Finites: neutral 0
\r
258 ddcan302 multiply 1 #77ffff3fcff3fcff -> #77fcff3fcff3fcff
\r
259 ddcan303 multiply #77fcffffcff3fcff 1 -> #77fcff3fcff3fcff
\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
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
301 -- Finites: neutral 0
\r
302 ddcan502 subtract 0E+384 #77ffff3fcff3fcff -> #f7fcff3fcff3fcff
\r
303 ddcan503 subtract #77fcffffcff3fcff 0E+384 -> #77fcff3fcff3fcff
\r
305 ddcan504 subtract 0E-398 #77ffff3fcff3fcff -> #f7fcff3fcff3fcff Rounded
\r
306 ddcan505 subtract #77fcffffcff3fcff 0E-398 -> #77fcff3fcff3fcff Rounded
\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
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