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