Merged the decimal-branch (revisions 54886 to 58140). Decimal is now
fully updated to the latests Decimal Specification (v1.66) and the
latests test cases (v2.56).

Thanks to Mark Dickinson for all his help during this process.
diff --git a/Lib/test/decimaltestdata/ddCanonical.decTest b/Lib/test/decimaltestdata/ddCanonical.decTest
new file mode 100644
index 0000000..308b9ff
--- /dev/null
+++ b/Lib/test/decimaltestdata/ddCanonical.decTest
@@ -0,0 +1,357 @@
+------------------------------------------------------------------------

+-- ddCanonical.decTest -- test decDouble canonical results            --

+-- Copyright (c) IBM Corporation, 1981, 2007.  All rights reserved.   --

+------------------------------------------------------------------------

+-- Please see the document "General Decimal Arithmetic Testcases"     --

+-- at http://www2.hursley.ibm.com/decimal for the description of      --

+-- these testcases.                                                   --

+--                                                                    --

+-- These testcases are experimental ('beta' versions), and they       --

+-- may contain errors.  They are offered on an as-is basis.  In       --

+-- particular, achieving the same results as the tests here is not    --

+-- a guarantee that an implementation complies with any Standard      --

+-- or specification.  The tests are not exhaustive.                   --

+--                                                                    --

+-- Please send comments, suggestions, and corrections to the author:  --

+--   Mike Cowlishaw, IBM Fellow                                       --

+--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --

+--   mfc@uk.ibm.com                                                   --

+------------------------------------------------------------------------

+version: 2.56

+

+-- This file tests that copy operations leave uncanonical operands

+-- unchanged, and vice versa

+-- All operands and results are decDoubles.

+precision:   16

+maxExponent: 384

+minExponent: -383

+extended:    1

+clamp:       1

+rounding:    half_even

+

+-- Uncanonical declets are: abc, where:

+--   a=1,2,3

+--   b=6,7,e,f

+--   c=e,f

+

+-- assert some standard (canonical) values; this tests that FromString

+-- produces canonical results (many more in decimalNN)

+ddcan001 apply 9.999999999999999E+384 -> #77fcff3fcff3fcff

+ddcan002 apply 0                      -> #2238000000000000

+ddcan003 apply 1                      -> #2238000000000001

+ddcan004 apply -1                     -> #a238000000000001

+ddcan005 apply Infinity               -> #7800000000000000

+ddcan006 apply -Infinity              -> #f800000000000000

+ddcan007 apply -NaN                   -> #fc00000000000000

+ddcan008 apply -sNaN                  -> #fe00000000000000

+ddcan009 apply NaN999999999999999     -> #7c00ff3fcff3fcff

+ddcan010 apply sNaN999999999999999    -> #7e00ff3fcff3fcff

+decan011 apply  9999999999999999      -> #6e38ff3fcff3fcff

+ddcan012 apply 7.50                   -> #22300000000003d0

+ddcan013 apply 9.99                   -> #22300000000000ff

+

+-- Base tests for canonical encodings (individual operator

+-- propagation is tested later)

+

+-- Finites: declets in coefficient

+ddcan021 canonical  #77fcff3fcff3fcff  -> #77fcff3fcff3fcff

+ddcan022 canonical  #77fcff3fcff3fcff  -> #77fcff3fcff3fcff

+ddcan023 canonical  #77ffff3fcff3fcff  -> #77fcff3fcff3fcff

+ddcan024 canonical  #77ffff3fcff3fcff  -> #77fcff3fcff3fcff

+ddcan025 canonical  #77fcffffcff3fcff  -> #77fcff3fcff3fcff

+ddcan026 canonical  #77fcffffcff3fcff  -> #77fcff3fcff3fcff

+ddcan027 canonical  #77fcff3ffff3fcff  -> #77fcff3fcff3fcff

+ddcan028 canonical  #77fcff3ffff3fcff  -> #77fcff3fcff3fcff

+ddcan030 canonical  #77fcff3fcffffcff  -> #77fcff3fcff3fcff

+ddcan031 canonical  #77fcff3fcffffcff  -> #77fcff3fcff3fcff

+ddcan032 canonical  #77fcff3fcff3ffff  -> #77fcff3fcff3fcff

+ddcan033 canonical  #77fcff3fcff3ffff  -> #77fcff3fcff3fcff

+ddcan035 canonical  #77fcff3fdff3fcff  -> #77fcff3fcff3fcff

+ddcan036 canonical  #77fcff3feff3fcff  -> #77fcff3fcff3fcff

+

+-- NaN: declets in payload

+ddcan100 canonical  NaN999999999999999 -> #7c00ff3fcff3fcff

+ddcan101 canonical  #7c00ff3fcff3fcff  -> #7c00ff3fcff3fcff

+ddcan102 canonical  #7c03ff3fcff3fcff  -> #7c00ff3fcff3fcff

+ddcan103 canonical  #7c00ffffcff3fcff  -> #7c00ff3fcff3fcff

+ddcan104 canonical  #7c00ff3ffff3fcff  -> #7c00ff3fcff3fcff

+ddcan105 canonical  #7c00ff3fcffffcff  -> #7c00ff3fcff3fcff

+ddcan106 canonical  #7c00ff3fcff3ffff  -> #7c00ff3fcff3fcff

+ddcan107 canonical  #7c00ff3fcff3ffff  -> #7c00ff3fcff3fcff

+-- NaN: exponent continuation bits [excluding sNaN selector]

+ddcan110 canonical  #7c00ff3fcff3fcff  -> #7c00ff3fcff3fcff

+ddcan112 canonical  #7d00ff3fcff3fcff  -> #7c00ff3fcff3fcff

+ddcan113 canonical  #7c80ff3fcff3fcff  -> #7c00ff3fcff3fcff

+ddcan114 canonical  #7c40ff3fcff3fcff  -> #7c00ff3fcff3fcff

+ddcan115 canonical  #7c20ff3fcff3fcff  -> #7c00ff3fcff3fcff

+ddcan116 canonical  #7c10ff3fcff3fcff  -> #7c00ff3fcff3fcff

+ddcan117 canonical  #7c08ff3fcff3fcff  -> #7c00ff3fcff3fcff

+ddcan118 canonical  #7c04ff3fcff3fcff  -> #7c00ff3fcff3fcff

+

+-- sNaN: declets in payload

+ddcan120 canonical sNaN999999999999999 -> #7e00ff3fcff3fcff

+ddcan121 canonical  #7e00ff3fcff3fcff  -> #7e00ff3fcff3fcff

+ddcan122 canonical  #7e03ff3fcff3fcff  -> #7e00ff3fcff3fcff

+ddcan123 canonical  #7e00ffffcff3fcff  -> #7e00ff3fcff3fcff

+ddcan124 canonical  #7e00ff3ffff3fcff  -> #7e00ff3fcff3fcff

+ddcan125 canonical  #7e00ff3fcffffcff  -> #7e00ff3fcff3fcff

+ddcan126 canonical  #7e00ff3fcff3ffff  -> #7e00ff3fcff3fcff

+ddcan127 canonical  #7e00ff3fcff3ffff  -> #7e00ff3fcff3fcff

+-- sNaN: exponent continuation bits [excluding sNaN selector]

+ddcan130 canonical  #7e00ff3fcff3fcff  -> #7e00ff3fcff3fcff

+ddcan132 canonical  #7f00ff3fcff3fcff  -> #7e00ff3fcff3fcff

+ddcan133 canonical  #7e80ff3fcff3fcff  -> #7e00ff3fcff3fcff

+ddcan134 canonical  #7e40ff3fcff3fcff  -> #7e00ff3fcff3fcff

+ddcan135 canonical  #7e20ff3fcff3fcff  -> #7e00ff3fcff3fcff

+ddcan136 canonical  #7e10ff3fcff3fcff  -> #7e00ff3fcff3fcff

+ddcan137 canonical  #7e08ff3fcff3fcff  -> #7e00ff3fcff3fcff

+ddcan138 canonical  #7e04ff3fcff3fcff  -> #7e00ff3fcff3fcff

+

+-- Inf: exponent continuation bits

+ddcan140 canonical  #7800000000000000  -> #7800000000000000

+ddcan141 canonical  #7900000000000000  -> #7800000000000000

+ddcan142 canonical  #7a00000000000000  -> #7800000000000000

+ddcan143 canonical  #7880000000000000  -> #7800000000000000

+ddcan144 canonical  #7840000000000000  -> #7800000000000000

+ddcan145 canonical  #7820000000000000  -> #7800000000000000

+ddcan146 canonical  #7810000000000000  -> #7800000000000000

+ddcan147 canonical  #7808000000000000  -> #7800000000000000

+ddcan148 canonical  #7804000000000000  -> #7800000000000000

+

+-- Inf: coefficient continuation bits (first, last, and a few others)

+ddcan150 canonical  #7800000000000000  -> #7800000000000000

+ddcan151 canonical  #7802000000000000  -> #7800000000000000

+ddcan152 canonical  #7800000000000001  -> #7800000000000000

+ddcan153 canonical  #7801000000000000  -> #7800000000000000

+ddcan154 canonical  #7800200000000000  -> #7800000000000000

+ddcan155 canonical  #7800080000000000  -> #7800000000000000

+ddcan156 canonical  #7800002000000000  -> #7800000000000000

+ddcan157 canonical  #7800000400000000  -> #7800000000000000

+ddcan158 canonical  #7800000040000000  -> #7800000000000000

+ddcan159 canonical  #7800000008000000  -> #7800000000000000

+ddcan160 canonical  #7800000000400000  -> #7800000000000000

+ddcan161 canonical  #7800000000020000  -> #7800000000000000

+ddcan162 canonical  #7800000000008000  -> #7800000000000000

+ddcan163 canonical  #7800000000000200  -> #7800000000000000

+ddcan164 canonical  #7800000000000040  -> #7800000000000000

+ddcan165 canonical  #7800000000000008  -> #7800000000000000

+

+

+-- Now the operators -- trying to check paths that might fail to

+-- canonicalize propagated operands

+

+----- Add:

+-- Finites: neutral 0

+ddcan202 add  0E+384 #77ffff3fcff3fcff        -> #77fcff3fcff3fcff

+ddcan203 add         #77fcffffcff3fcff 0E+384 -> #77fcff3fcff3fcff

+-- tiny zero

+ddcan204 add  0E-398 #77ffff3fcff3fcff        -> #77fcff3fcff3fcff Rounded

+ddcan205 add         #77fcffffcff3fcff 0E-398 -> #77fcff3fcff3fcff Rounded

+-- tiny non zero

+ddcan206 add -1E-398 #77ffff3fcff3fcff         -> #77fcff3fcff3fcff Inexact Rounded

+ddcan207 add         #77ffff3fcff3fcff -1E-398 -> #77fcff3fcff3fcff Inexact Rounded

+-- NaN: declets in payload

+ddcan211 add  0  #7c03ff3fcff3fcff      -> #7c00ff3fcff3fcff

+ddcan212 add     #7c03ff3fcff3fcff  0   -> #7c00ff3fcff3fcff

+-- NaN: exponent continuation bits [excluding sNaN selector]

+ddcan213 add  0  #7c40ff3fcff3fcff      -> #7c00ff3fcff3fcff

+ddcan214 add     #7c40ff3fcff3fcff  0   -> #7c00ff3fcff3fcff

+-- sNaN: declets in payload

+ddcan215 add  0  #7e00ffffcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation

+ddcan216 add     #7e00ffffcff3fcff  0   -> #7c00ff3fcff3fcff Invalid_operation

+-- sNaN: exponent continuation bits [excluding sNaN selector]

+ddcan217 add  0  #7e80ff3fcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation

+ddcan218 add     #7e80ff3fcff3fcff  0   -> #7c00ff3fcff3fcff Invalid_operation

+-- Inf: exponent continuation bits

+ddcan220 add  0  #7880000000000000      -> #7800000000000000

+ddcan221 add     #7880000000000000  0   -> #7800000000000000

+-- Inf: coefficient continuation bits

+ddcan222 add  0  #7802000000000000     -> #7800000000000000

+ddcan223 add     #7802000000000000  0  -> #7800000000000000

+ddcan224 add  0  #7800000000000001     -> #7800000000000000

+ddcan225 add     #7800000000000001  0  -> #7800000000000000

+ddcan226 add  0  #7800002000000000     -> #7800000000000000

+ddcan227 add     #7800002000000000  0  -> #7800000000000000

+

+----- Class: [does not return encoded]

+

+----- Compare:

+ddcan231 compare -Inf   1     ->  #a238000000000001

+ddcan232 compare -Inf  -Inf   ->  #2238000000000000

+ddcan233 compare  1    -Inf   ->  #2238000000000001

+ddcan234 compare  #7c00ff3ffff3fcff -1000  ->  #7c00ff3fcff3fcff

+ddcan235 compare  #7e00ff3ffff3fcff -1000  ->  #7c00ff3fcff3fcff  Invalid_operation

+

+----- CompareSig:

+ddcan241 comparesig -Inf   1     ->  #a238000000000001

+ddcan242 comparesig -Inf  -Inf   ->  #2238000000000000

+ddcan243 comparesig  1    -Inf   ->  #2238000000000001

+ddcan244 comparesig  #7c00ff3ffff3fcff -1000  ->  #7c00ff3fcff3fcff  Invalid_operation

+ddcan245 comparesig  #7e00ff3ffff3fcff -1000  ->  #7c00ff3fcff3fcff  Invalid_operation

+

+----- Copy: [does not usually canonicalize]

+-- finites

+ddcan250 copy  #77ffff3fcff3fcff  -> #77ffff3fcff3fcff

+ddcan251 copy  #77fcff3fdff3fcff  -> #77fcff3fdff3fcff

+-- NaNs

+ddcan252 copy  #7c03ff3fcff3fcff  -> #7c03ff3fcff3fcff

+ddcan253 copy  #7c00ff3fcff3ffff  -> #7c00ff3fcff3ffff

+ddcan254 copy  #7d00ff3fcff3fcff  -> #7d00ff3fcff3fcff

+ddcan255 copy  #7c04ff3fcff3fcff  -> #7c04ff3fcff3fcff

+-- sNaN

+ddcan256 copy  #7e00ff3fcffffcff  -> #7e00ff3fcffffcff

+ddcan257 copy  #7e40ff3fcff3fcff  -> #7e40ff3fcff3fcff

+-- Inf

+ddcan258 copy  #7a00000000000000  -> #7a00000000000000

+ddcan259 copy  #7800200000000000  -> #7800200000000000

+

+----- CopyAbs: [does not usually canonicalize]

+-- finites

+ddcan260 copyabs  #f7ffff3fcff3fcff  -> #77ffff3fcff3fcff

+ddcan261 copyabs  #f7fcff3fdff3fcff  -> #77fcff3fdff3fcff

+-- NaNs

+ddcan262 copyabs  #fc03ff3fcff3fcff  -> #7c03ff3fcff3fcff

+ddcan263 copyabs  #fc00ff3fcff3ffff  -> #7c00ff3fcff3ffff

+ddcan264 copyabs  #fd00ff3fcff3fcff  -> #7d00ff3fcff3fcff

+ddcan265 copyabs  #fc04ff3fcff3fcff  -> #7c04ff3fcff3fcff

+-- sNaN

+ddcan266 copyabs  #fe00ff3fcffffcff  -> #7e00ff3fcffffcff

+ddcan267 copyabs  #fe40ff3fcff3fcff  -> #7e40ff3fcff3fcff

+-- Inf

+ddcan268 copyabs  #fa00000000000000  -> #7a00000000000000

+ddcan269 copyabs  #f800200000000000  -> #7800200000000000

+

+----- CopyNegate: [does not usually canonicalize]

+-- finites

+ddcan270 copynegate  #77ffff3fcff3fcff  -> #f7ffff3fcff3fcff

+ddcan271 copynegate  #77fcff3fdff3fcff  -> #f7fcff3fdff3fcff

+-- NaNs

+ddcan272 copynegate  #7c03ff3fcff3fcff  -> #fc03ff3fcff3fcff

+ddcan273 copynegate  #7c00ff3fcff3ffff  -> #fc00ff3fcff3ffff

+ddcan274 copynegate  #7d00ff3fcff3fcff  -> #fd00ff3fcff3fcff

+ddcan275 copynegate  #7c04ff3fcff3fcff  -> #fc04ff3fcff3fcff

+-- sNaN

+ddcan276 copynegate  #7e00ff3fcffffcff  -> #fe00ff3fcffffcff

+ddcan277 copynegate  #7e40ff3fcff3fcff  -> #fe40ff3fcff3fcff

+-- Inf

+ddcan278 copynegate  #7a00000000000000  -> #fa00000000000000

+ddcan279 copynegate  #7800200000000000  -> #f800200000000000

+

+----- CopySign: [does not usually canonicalize]

+-- finites

+ddcan280 copysign  #77ffff3fcff3fcff -1 -> #f7ffff3fcff3fcff

+ddcan281 copysign  #77fcff3fdff3fcff  1 -> #77fcff3fdff3fcff

+-- NaNs

+ddcan282 copysign  #7c03ff3fcff3fcff -1 -> #fc03ff3fcff3fcff

+ddcan283 copysign  #7c00ff3fcff3ffff  1 -> #7c00ff3fcff3ffff

+ddcan284 copysign  #7d00ff3fcff3fcff -1 -> #fd00ff3fcff3fcff

+ddcan285 copysign  #7c04ff3fcff3fcff  1 -> #7c04ff3fcff3fcff

+-- sNaN

+ddcan286 copysign  #7e00ff3fcffffcff -1 -> #fe00ff3fcffffcff

+ddcan287 copysign  #7e40ff3fcff3fcff  1 -> #7e40ff3fcff3fcff

+-- Inf

+ddcan288 copysign  #7a00000000000000 -1 -> #fa00000000000000

+ddcan289 copysign  #7800200000000000  1 -> #7800200000000000

+

+----- Multiply:

+-- Finites: neutral 0

+ddcan302 multiply  1      #77ffff3fcff3fcff        -> #77fcff3fcff3fcff

+ddcan303 multiply         #77fcffffcff3fcff  1     -> #77fcff3fcff3fcff

+-- negative

+ddcan306 multiply -1      #77ffff3fcff3fcff        -> #f7fcff3fcff3fcff

+ddcan307 multiply         #77fcffffcff3fcff -1     -> #f7fcff3fcff3fcff

+-- NaN: declets in payload

+ddcan311 multiply  1  #7c03ff3fcff3fcff      -> #7c00ff3fcff3fcff

+ddcan312 multiply     #7c03ff3fcff3fcff  1   -> #7c00ff3fcff3fcff

+-- NaN: exponent continuation bits [excluding sNaN selector]

+ddcan313 multiply  1  #7c40ff3fcff3fcff      -> #7c00ff3fcff3fcff

+ddcan314 multiply     #7c40ff3fcff3fcff  1   -> #7c00ff3fcff3fcff

+-- sNaN: declets in payload

+ddcan315 multiply  1  #7e00ffffcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation

+ddcan316 multiply     #7e00ffffcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation

+-- sNaN: exponent continuation bits [excluding sNaN selector]

+ddcan317 multiply  1  #7e80ff3fcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation

+ddcan318 multiply     #7e80ff3fcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation

+-- Inf: exponent continuation bits

+ddcan320 multiply  1  #7880000000000000      -> #7800000000000000

+ddcan321 multiply     #7880000000000000  1   -> #7800000000000000

+-- Inf: coefficient continuation bits

+ddcan322 multiply  1  #7802000000000000     -> #7800000000000000

+ddcan323 multiply     #7802000000000000  1  -> #7800000000000000

+ddcan324 multiply  1  #7800000000000001     -> #7800000000000000

+ddcan325 multiply     #7800000000000001  1  -> #7800000000000000

+ddcan326 multiply  1  #7800002000000000     -> #7800000000000000

+ddcan327 multiply     #7800002000000000  1  -> #7800000000000000

+

+----- Quantize:

+ddcan401 quantize  #6e38ff3ffff3fcff 1    -> #6e38ff3fcff3fcff

+ddcan402 quantize  #6e38ff3fcff3fdff 0    -> #6e38ff3fcff3fcff

+ddcan403 quantize  #7880000000000000 Inf  -> #7800000000000000

+ddcan404 quantize  #7802000000000000 -Inf -> #7800000000000000

+ddcan410 quantize  #7c03ff3fcff3fcff  1   -> #7c00ff3fcff3fcff

+ddcan411 quantize  #7c03ff3fcff3fcff  1   -> #7c00ff3fcff3fcff

+ddcan412 quantize  #7c40ff3fcff3fcff  1   -> #7c00ff3fcff3fcff

+ddcan413 quantize  #7c40ff3fcff3fcff  1   -> #7c00ff3fcff3fcff

+ddcan414 quantize  #7e00ffffcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation

+ddcan415 quantize  #7e00ffffcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation

+ddcan416 quantize  #7e80ff3fcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation

+ddcan417 quantize  #7e80ff3fcff3fcff  1   -> #7c00ff3fcff3fcff Invalid_operation

+

+----- Subtract:

+-- Finites: neutral 0

+ddcan502 subtract  0E+384 #77ffff3fcff3fcff        -> #f7fcff3fcff3fcff

+ddcan503 subtract         #77fcffffcff3fcff 0E+384 -> #77fcff3fcff3fcff

+-- tiny zero

+ddcan504 subtract  0E-398 #77ffff3fcff3fcff        -> #f7fcff3fcff3fcff Rounded

+ddcan505 subtract         #77fcffffcff3fcff 0E-398 -> #77fcff3fcff3fcff Rounded

+-- tiny non zero

+ddcan506 subtract -1E-398 #77ffff3fcff3fcff         -> #f7fcff3fcff3fcff Inexact Rounded

+ddcan507 subtract         #77ffff3fcff3fcff -1E-398 -> #77fcff3fcff3fcff Inexact Rounded

+-- NaN: declets in payload

+ddcan511 subtract  0  #7c03ff3fcff3fcff      -> #7c00ff3fcff3fcff

+ddcan512 subtract     #7c03ff3fcff3fcff  0   -> #7c00ff3fcff3fcff

+-- NaN: exponent continuation bits [excluding sNaN selector]

+ddcan513 subtract  0  #7c40ff3fcff3fcff      -> #7c00ff3fcff3fcff

+ddcan514 subtract     #7c40ff3fcff3fcff  0   -> #7c00ff3fcff3fcff

+-- sNaN: declets in payload

+ddcan515 subtract  0  #7e00ffffcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation

+ddcan516 subtract     #7e00ffffcff3fcff  0   -> #7c00ff3fcff3fcff Invalid_operation

+-- sNaN: exponent continuation bits [excluding sNaN selector]

+ddcan517 subtract  0  #7e80ff3fcff3fcff      -> #7c00ff3fcff3fcff Invalid_operation

+ddcan518 subtract     #7e80ff3fcff3fcff  0   -> #7c00ff3fcff3fcff Invalid_operation

+-- Inf: exponent continuation bits

+ddcan520 subtract  0  #7880000000000000      -> #f800000000000000

+ddcan521 subtract     #7880000000000000  0   -> #7800000000000000

+-- Inf: coefficient continuation bits

+ddcan522 subtract  0  #7802000000000000     -> #f800000000000000

+ddcan523 subtract     #7802000000000000  0  -> #7800000000000000

+ddcan524 subtract  0  #7800000000000001     -> #f800000000000000

+ddcan525 subtract     #7800000000000001  0  -> #7800000000000000

+ddcan526 subtract  0  #7800002000000000     -> #f800000000000000

+ddcan527 subtract     #7800002000000000  0  -> #7800000000000000

+

+----- ToIntegral:

+ddcan601 tointegralx  #6e38ff3ffff3fcff -> #6e38ff3fcff3fcff

+ddcan602 tointegralx  #6e38ff3fcff3fdff -> #6e38ff3fcff3fcff

+ddcan603 tointegralx  #7880000000000000 -> #7800000000000000

+ddcan604 tointegralx  #7802000000000000 -> #7800000000000000

+ddcan610 tointegralx  #7c03ff3fcff3fcff -> #7c00ff3fcff3fcff

+ddcan611 tointegralx  #7c03ff3fcff3fcff -> #7c00ff3fcff3fcff

+ddcan612 tointegralx  #7c40ff3fcff3fcff -> #7c00ff3fcff3fcff

+ddcan613 tointegralx  #7c40ff3fcff3fcff -> #7c00ff3fcff3fcff

+ddcan614 tointegralx  #7e00ffffcff3fcff -> #7c00ff3fcff3fcff Invalid_operation

+ddcan615 tointegralx  #7e00ffffcff3fcff -> #7c00ff3fcff3fcff Invalid_operation

+ddcan616 tointegralx  #7e80ff3fcff3fcff -> #7c00ff3fcff3fcff Invalid_operation

+ddcan617 tointegralx  #7e80ff3fcff3fcff -> #7c00ff3fcff3fcff Invalid_operation

+-- uncanonical 3999, 39.99, 3.99, 0.399, and negatives

+ddcan618 tointegralx  #2238000000000fff -> #2238000000000cff

+ddcan619 tointegralx  #2230000000000fff -> #2238000000000040 Inexact Rounded

+ddcan620 tointegralx  #222c000000000fff -> #2238000000000004 Inexact Rounded

+ddcan621 tointegralx  #2228000000000fff -> #2238000000000000 Inexact Rounded

+ddcan622 tointegralx  #a238000000000fff -> #a238000000000cff

+ddcan623 tointegralx  #a230000000000fff -> #a238000000000040 Inexact Rounded

+ddcan624 tointegralx  #a22c000000000fff -> #a238000000000004 Inexact Rounded

+ddcan625 tointegralx  #a228000000000fff -> #a238000000000000 Inexact Rounded

+

+

+