diff options
Diffstat (limited to 'Lib/test/decimaltestdata/ddCanonical.decTest')
-rw-r--r-- | Lib/test/decimaltestdata/ddCanonical.decTest | 714 |
1 files changed, 357 insertions, 357 deletions
diff --git a/Lib/test/decimaltestdata/ddCanonical.decTest b/Lib/test/decimaltestdata/ddCanonical.decTest index b4f9e32..824de83 100644 --- a/Lib/test/decimaltestdata/ddCanonical.decTest +++ b/Lib/test/decimaltestdata/ddCanonical.decTest @@ -1,357 +1,357 @@ ------------------------------------------------------------------------- --- ddCanonical.decTest -- test decDouble canonical results -- --- Copyright (c) IBM Corporation, 1981, 2008. 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.59 - --- 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 - - - +------------------------------------------------------------------------
+-- ddCanonical.decTest -- test decDouble canonical results --
+-- Copyright (c) IBM Corporation, 1981, 2008. 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.59
+
+-- 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
+
+
+
|