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/dqEncode.decTest b/Lib/test/decimaltestdata/dqEncode.decTest
new file mode 100644
index 0000000..ed3f328
--- /dev/null
+++ b/Lib/test/decimaltestdata/dqEncode.decTest
@@ -0,0 +1,470 @@
+------------------------------------------------------------------------

+-- dqEncode.decTest -- decimal sixteen-byte format testcases          --

+-- Copyright (c) IBM Corporation, 2000, 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                                                   --

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

+-- [Previously called decimal128.decTest]

+version: 2.56

+

+-- This set of tests is for the sixteen-byte concrete representation.

+-- Its characteristics are:

+--

+--   1 bit  sign

+--   5 bits combination field

+--  12 bits exponent continuation

+-- 110 bits coefficient continuation

+--

+-- Total exponent length 14 bits

+-- Total coefficient length 114 bits (34 digits)

+--

+-- Elimit = 12287 (maximum encoded exponent)

+-- Emax   =  6144 (largest exponent value)

+-- Emin   = -6143 (smallest exponent value)

+-- bias   =  6176 (subtracted from encoded exponent) = -Etiny

+

+-- The testcases here have only exactly representable data on the

+-- 'left-hand-side'; rounding from strings is tested in 'base'

+-- testcase groups.

+

+extended:    1

+clamp:       1

+precision:   34

+rounding:    half_up

+maxExponent: 6144

+minExponent: -6143

+

+-- General testcases

+-- (mostly derived from the Strawman 4 document and examples)

+decq001 apply   #A20780000000000000000000000003D0 -> -7.50

+decq002 apply   -7.50             -> #A20780000000000000000000000003D0

+-- derivative canonical plain strings

+decq003 apply   #A20840000000000000000000000003D0 -> -7.50E+3

+decq004 apply   -7.50E+3          -> #A20840000000000000000000000003D0

+decq005 apply   #A20800000000000000000000000003D0 -> -750

+decq006 apply   -750              -> #A20800000000000000000000000003D0

+decq007 apply   #A207c0000000000000000000000003D0 -> -75.0

+decq008 apply   -75.0             -> #A207c0000000000000000000000003D0

+decq009 apply   #A20740000000000000000000000003D0 -> -0.750

+decq010 apply   -0.750            -> #A20740000000000000000000000003D0

+decq011 apply   #A20700000000000000000000000003D0 -> -0.0750

+decq012 apply   -0.0750           -> #A20700000000000000000000000003D0

+decq013 apply   #A20680000000000000000000000003D0 -> -0.000750

+decq014 apply   -0.000750         -> #A20680000000000000000000000003D0

+decq015 apply   #A20600000000000000000000000003D0 -> -0.00000750

+decq016 apply   -0.00000750       -> #A20600000000000000000000000003D0

+decq017 apply   #A205c0000000000000000000000003D0 -> -7.50E-7

+decq018 apply   -7.50E-7          -> #A205c0000000000000000000000003D0

+

+-- Normality

+decq020 apply   1234567890123456789012345678901234   -> #2608134b9c1e28e56f3c127177823534

+decq021 apply  -1234567890123456789012345678901234   -> #a608134b9c1e28e56f3c127177823534

+decq022 apply   1111111111111111111111111111111111   -> #26080912449124491244912449124491

+

+-- Nmax and similar

+decq031 apply   9.999999999999999999999999999999999E+6144  -> #77ffcff3fcff3fcff3fcff3fcff3fcff

+decq032 apply   #77ffcff3fcff3fcff3fcff3fcff3fcff -> 9.999999999999999999999999999999999E+6144

+decq033 apply   1.234567890123456789012345678901234E+6144 -> #47ffd34b9c1e28e56f3c127177823534

+decq034 apply   #47ffd34b9c1e28e56f3c127177823534 -> 1.234567890123456789012345678901234E+6144

+-- fold-downs (more below)

+decq035 apply   1.23E+6144    -> #47ffd300000000000000000000000000 Clamped

+decq036 apply   #47ffd300000000000000000000000000       -> 1.230000000000000000000000000000000E+6144

+decq037 apply   1E+6144       -> #47ffc000000000000000000000000000 Clamped

+decq038 apply   #47ffc000000000000000000000000000       -> 1.000000000000000000000000000000000E+6144

+

+decq051 apply   12345                   -> #220800000000000000000000000049c5

+decq052 apply   #220800000000000000000000000049c5       -> 12345

+decq053 apply   1234                    -> #22080000000000000000000000000534

+decq054 apply   #22080000000000000000000000000534       -> 1234

+decq055 apply   123                     -> #220800000000000000000000000000a3

+decq056 apply   #220800000000000000000000000000a3       -> 123

+decq057 apply   12                      -> #22080000000000000000000000000012

+decq058 apply   #22080000000000000000000000000012       -> 12

+decq059 apply   1                       -> #22080000000000000000000000000001

+decq060 apply   #22080000000000000000000000000001       -> 1

+decq061 apply   1.23                    -> #220780000000000000000000000000a3

+decq062 apply   #220780000000000000000000000000a3       -> 1.23

+decq063 apply   123.45                  -> #220780000000000000000000000049c5

+decq064 apply   #220780000000000000000000000049c5       -> 123.45

+

+-- Nmin and below

+decq071 apply   1E-6143                                    -> #00084000000000000000000000000001

+decq072 apply   #00084000000000000000000000000001          -> 1E-6143

+decq073 apply   1.000000000000000000000000000000000E-6143  -> #04000000000000000000000000000000

+decq074 apply   #04000000000000000000000000000000          -> 1.000000000000000000000000000000000E-6143

+decq075 apply   1.000000000000000000000000000000001E-6143  -> #04000000000000000000000000000001

+decq076 apply   #04000000000000000000000000000001          -> 1.000000000000000000000000000000001E-6143

+

+decq077 apply   0.100000000000000000000000000000000E-6143  -> #00000800000000000000000000000000      Subnormal

+decq078 apply   #00000800000000000000000000000000          -> 1.00000000000000000000000000000000E-6144  Subnormal

+decq079 apply   0.000000000000000000000000000000010E-6143  -> #00000000000000000000000000000010      Subnormal

+decq080 apply   #00000000000000000000000000000010          -> 1.0E-6175              Subnormal

+decq081 apply   0.00000000000000000000000000000001E-6143   -> #00004000000000000000000000000001      Subnormal

+decq082 apply   #00004000000000000000000000000001          -> 1E-6175                Subnormal

+decq083 apply   0.000000000000000000000000000000001E-6143  -> #00000000000000000000000000000001      Subnormal

+decq084 apply   #00000000000000000000000000000001          -> 1E-6176                 Subnormal

+

+-- underflows cannot be tested for simple copies, check edge cases

+decq090 apply   1e-6176                  -> #00000000000000000000000000000001  Subnormal

+decq100 apply   999999999999999999999999999999999e-6176 -> #00000ff3fcff3fcff3fcff3fcff3fcff  Subnormal

+

+-- same again, negatives

+-- Nmax and similar

+decq122 apply  -9.999999999999999999999999999999999E+6144  -> #f7ffcff3fcff3fcff3fcff3fcff3fcff

+decq123 apply   #f7ffcff3fcff3fcff3fcff3fcff3fcff -> -9.999999999999999999999999999999999E+6144

+decq124 apply  -1.234567890123456789012345678901234E+6144 -> #c7ffd34b9c1e28e56f3c127177823534

+decq125 apply   #c7ffd34b9c1e28e56f3c127177823534 -> -1.234567890123456789012345678901234E+6144

+-- fold-downs (more below)

+decq130 apply  -1.23E+6144    -> #c7ffd300000000000000000000000000 Clamped

+decq131 apply   #c7ffd300000000000000000000000000       -> -1.230000000000000000000000000000000E+6144

+decq132 apply  -1E+6144       -> #c7ffc000000000000000000000000000 Clamped

+decq133 apply   #c7ffc000000000000000000000000000       -> -1.000000000000000000000000000000000E+6144

+

+decq151 apply  -12345                   -> #a20800000000000000000000000049c5

+decq152 apply   #a20800000000000000000000000049c5       -> -12345

+decq153 apply  -1234                    -> #a2080000000000000000000000000534

+decq154 apply   #a2080000000000000000000000000534       -> -1234

+decq155 apply  -123                     -> #a20800000000000000000000000000a3

+decq156 apply   #a20800000000000000000000000000a3       -> -123

+decq157 apply  -12                      -> #a2080000000000000000000000000012

+decq158 apply   #a2080000000000000000000000000012       -> -12

+decq159 apply  -1                       -> #a2080000000000000000000000000001

+decq160 apply   #a2080000000000000000000000000001       -> -1

+decq161 apply  -1.23                    -> #a20780000000000000000000000000a3

+decq162 apply   #a20780000000000000000000000000a3       -> -1.23

+decq163 apply  -123.45                  -> #a20780000000000000000000000049c5

+decq164 apply   #a20780000000000000000000000049c5       -> -123.45

+

+-- Nmin and below

+decq171 apply  -1E-6143                                    -> #80084000000000000000000000000001

+decq172 apply   #80084000000000000000000000000001          -> -1E-6143

+decq173 apply  -1.000000000000000000000000000000000E-6143  -> #84000000000000000000000000000000

+decq174 apply   #84000000000000000000000000000000          -> -1.000000000000000000000000000000000E-6143

+decq175 apply  -1.000000000000000000000000000000001E-6143  -> #84000000000000000000000000000001

+decq176 apply   #84000000000000000000000000000001          -> -1.000000000000000000000000000000001E-6143

+

+decq177 apply  -0.100000000000000000000000000000000E-6143  -> #80000800000000000000000000000000      Subnormal

+decq178 apply   #80000800000000000000000000000000          -> -1.00000000000000000000000000000000E-6144  Subnormal

+decq179 apply  -0.000000000000000000000000000000010E-6143  -> #80000000000000000000000000000010      Subnormal

+decq180 apply   #80000000000000000000000000000010          -> -1.0E-6175              Subnormal

+decq181 apply  -0.00000000000000000000000000000001E-6143   -> #80004000000000000000000000000001      Subnormal

+decq182 apply   #80004000000000000000000000000001          -> -1E-6175                Subnormal

+decq183 apply  -0.000000000000000000000000000000001E-6143  -> #80000000000000000000000000000001      Subnormal

+decq184 apply   #80000000000000000000000000000001          -> -1E-6176                 Subnormal

+

+-- underflow edge cases

+decq190 apply   -1e-6176                  -> #80000000000000000000000000000001  Subnormal

+decq200 apply   -999999999999999999999999999999999e-6176 -> #80000ff3fcff3fcff3fcff3fcff3fcff  Subnormal

+

+-- zeros

+decq400 apply   0E-8000                 -> #00000000000000000000000000000000  Clamped

+decq401 apply   0E-6177                 -> #00000000000000000000000000000000  Clamped

+decq402 apply   0E-6176                 -> #00000000000000000000000000000000

+decq403 apply   #00000000000000000000000000000000       -> 0E-6176

+decq404 apply   0.000000000000000000000000000000000E-6143  -> #00000000000000000000000000000000

+decq405 apply   #00000000000000000000000000000000       -> 0E-6176

+decq406 apply   0E-2                    -> #22078000000000000000000000000000

+decq407 apply   #22078000000000000000000000000000       -> 0.00

+decq408 apply   0                       -> #22080000000000000000000000000000

+decq409 apply   #22080000000000000000000000000000       -> 0

+decq410 apply   0E+3                    -> #2208c000000000000000000000000000

+decq411 apply   #2208c000000000000000000000000000       -> 0E+3

+decq412 apply   0E+6111                 -> #43ffc000000000000000000000000000

+decq413 apply   #43ffc000000000000000000000000000       -> 0E+6111

+-- clamped zeros...

+decq414 apply   0E+6112                 -> #43ffc000000000000000000000000000  Clamped

+decq415 apply   #43ffc000000000000000000000000000       -> 0E+6111

+decq416 apply   0E+6144                 -> #43ffc000000000000000000000000000  Clamped

+decq417 apply   #43ffc000000000000000000000000000       -> 0E+6111

+decq418 apply   0E+8000                 -> #43ffc000000000000000000000000000  Clamped

+decq419 apply   #43ffc000000000000000000000000000       -> 0E+6111

+

+-- negative zeros

+decq420 apply  -0E-8000                 -> #80000000000000000000000000000000  Clamped

+decq421 apply  -0E-6177                 -> #80000000000000000000000000000000  Clamped

+decq422 apply  -0E-6176                 -> #80000000000000000000000000000000

+decq423 apply   #80000000000000000000000000000000       -> -0E-6176

+decq424 apply  -0.000000000000000000000000000000000E-6143  -> #80000000000000000000000000000000

+decq425 apply   #80000000000000000000000000000000       -> -0E-6176

+decq426 apply  -0E-2                    -> #a2078000000000000000000000000000

+decq427 apply   #a2078000000000000000000000000000       -> -0.00

+decq428 apply  -0                       -> #a2080000000000000000000000000000

+decq429 apply   #a2080000000000000000000000000000       -> -0

+decq430 apply  -0E+3                    -> #a208c000000000000000000000000000

+decq431 apply   #a208c000000000000000000000000000       -> -0E+3

+decq432 apply  -0E+6111                 -> #c3ffc000000000000000000000000000

+decq433 apply   #c3ffc000000000000000000000000000       -> -0E+6111

+-- clamped zeros...

+decq434 apply  -0E+6112                 -> #c3ffc000000000000000000000000000  Clamped

+decq435 apply   #c3ffc000000000000000000000000000       -> -0E+6111

+decq436 apply  -0E+6144                 -> #c3ffc000000000000000000000000000  Clamped

+decq437 apply   #c3ffc000000000000000000000000000       -> -0E+6111

+decq438 apply  -0E+8000                 -> #c3ffc000000000000000000000000000  Clamped

+decq439 apply   #c3ffc000000000000000000000000000       -> -0E+6111

+

+-- exponent lengths

+decq440 apply   #22080000000000000000000000000007       -> 7

+decq441 apply   7 -> #22080000000000000000000000000007

+decq442 apply   #220a4000000000000000000000000007       -> 7E+9

+decq443 apply   7E+9 -> #220a4000000000000000000000000007

+decq444 apply   #2220c000000000000000000000000007       -> 7E+99

+decq445 apply   7E+99 -> #2220c000000000000000000000000007

+decq446 apply   #2301c000000000000000000000000007       -> 7E+999

+decq447 apply   7E+999 -> #2301c000000000000000000000000007

+decq448 apply   #43e3c000000000000000000000000007       -> 7E+5999

+decq449 apply   7E+5999 -> #43e3c000000000000000000000000007

+

+-- Specials

+decq500 apply   Infinity                          -> #78000000000000000000000000000000

+decq501 apply   #78787878787878787878787878787878 -> #78000000000000000000000000000000

+decq502 apply   #78000000000000000000000000000000 -> Infinity

+decq503 apply   #79797979797979797979797979797979 -> #78000000000000000000000000000000

+decq504 apply   #79000000000000000000000000000000 -> Infinity

+decq505 apply   #7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #78000000000000000000000000000000

+decq506 apply   #7a000000000000000000000000000000 -> Infinity

+decq507 apply   #7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #78000000000000000000000000000000

+decq508 apply   #7b000000000000000000000000000000 -> Infinity

+

+decq509 apply   NaN                               -> #7c000000000000000000000000000000

+decq510 apply   #7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #7c003c7c7c7c7c7c7c7c7c7c7c7c7c7c

+decq511 apply   #7c000000000000000000000000000000 -> NaN

+decq512 apply   #7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #7c003d7d7d7d7d7d7d7d7d7d7d7d7d7d

+decq513 apply   #7d000000000000000000000000000000 -> NaN

+decq514 apply   #7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #7e003e7e7c7e7e7e7e7c7e7e7e7e7c7e

+decq515 apply   #7e000000000000000000000000000000 -> sNaN

+decq516 apply   #7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #7e003f7f7c7f7f7f7f7c7f7f7f7f7c7f

+decq517 apply   #7f000000000000000000000000000000 -> sNaN

+decq518 apply   #7fffffffffffffffffffffffffffffff -> sNaN999999999999999999999999999999999

+decq519 apply   #7fffffffffffffffffffffffffffffff -> #7e000ff3fcff3fcff3fcff3fcff3fcff

+

+decq520 apply   -Infinity                         -> #f8000000000000000000000000000000

+decq521 apply   #f8787878787878787878787878787878 -> #f8000000000000000000000000000000

+decq522 apply   #f8000000000000000000000000000000 -> -Infinity

+decq523 apply   #f9797979797979797979797979797979 -> #f8000000000000000000000000000000

+decq524 apply   #f9000000000000000000000000000000 -> -Infinity

+decq525 apply   #fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #f8000000000000000000000000000000

+decq526 apply   #fa000000000000000000000000000000 -> -Infinity

+decq527 apply   #fb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #f8000000000000000000000000000000

+decq528 apply   #fb000000000000000000000000000000 -> -Infinity

+

+decq529 apply   -NaN                              -> #fc000000000000000000000000000000

+decq530 apply   #fc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #fc003c7c7c7c7c7c7c7c7c7c7c7c7c7c

+decq531 apply   #fc000000000000000000000000000000 -> -NaN

+decq532 apply   #fd7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #fc003d7d7d7d7d7d7d7d7d7d7d7d7d7d

+decq533 apply   #fd000000000000000000000000000000 -> -NaN

+decq534 apply   #fe7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #fe003e7e7c7e7e7e7e7c7e7e7e7e7c7e

+decq535 apply   #fe000000000000000000000000000000 -> -sNaN

+decq536 apply   #ff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #fe003f7f7c7f7f7f7f7c7f7f7f7f7c7f

+decq537 apply   #ff000000000000000000000000000000 -> -sNaN

+decq538 apply   #ffffffffffffffffffffffffffffffff -> -sNaN999999999999999999999999999999999

+decq539 apply   #ffffffffffffffffffffffffffffffff -> #fe000ff3fcff3fcff3fcff3fcff3fcff

+

+decq540 apply   NaN               -> #7c000000000000000000000000000000

+decq541 apply   NaN0              -> #7c000000000000000000000000000000

+decq542 apply   NaN1              -> #7c000000000000000000000000000001

+decq543 apply   NaN12             -> #7c000000000000000000000000000012

+decq544 apply   NaN79             -> #7c000000000000000000000000000079

+decq545 apply   NaN12345          -> #7c0000000000000000000000000049c5

+decq546 apply   NaN123456         -> #7c000000000000000000000000028e56

+decq547 apply   NaN799799         -> #7c0000000000000000000000000f7fdf

+decq548 apply   NaN799799799799799799799799799799799  -> #7c003dff7fdff7fdff7fdff7fdff7fdf

+decq549 apply   NaN999999999999999999999999999999999  -> #7c000ff3fcff3fcff3fcff3fcff3fcff

+decq550 apply     9999999999999999999999999999999999  -> #6e080ff3fcff3fcff3fcff3fcff3fcff

+

+-- fold-down full sequence

+decq601 apply   1E+6144                 -> #47ffc000000000000000000000000000 Clamped

+decq602 apply   #47ffc000000000000000000000000000       -> 1.000000000000000000000000000000000E+6144

+decq603 apply   1E+6143                 -> #43ffc800000000000000000000000000 Clamped

+decq604 apply   #43ffc800000000000000000000000000       -> 1.00000000000000000000000000000000E+6143

+decq605 apply   1E+6142                 -> #43ffc100000000000000000000000000 Clamped

+decq606 apply   #43ffc100000000000000000000000000       -> 1.0000000000000000000000000000000E+6142

+decq607 apply   1E+6141                 -> #43ffc010000000000000000000000000 Clamped

+decq608 apply   #43ffc010000000000000000000000000       -> 1.000000000000000000000000000000E+6141

+decq609 apply   1E+6140                 -> #43ffc002000000000000000000000000 Clamped

+decq610 apply   #43ffc002000000000000000000000000       -> 1.00000000000000000000000000000E+6140

+decq611 apply   1E+6139                 -> #43ffc000400000000000000000000000 Clamped

+decq612 apply   #43ffc000400000000000000000000000       -> 1.0000000000000000000000000000E+6139

+decq613 apply   1E+6138                 -> #43ffc000040000000000000000000000 Clamped

+decq614 apply   #43ffc000040000000000000000000000       -> 1.000000000000000000000000000E+6138

+decq615 apply   1E+6137                 -> #43ffc000008000000000000000000000 Clamped

+decq616 apply   #43ffc000008000000000000000000000       -> 1.00000000000000000000000000E+6137

+decq617 apply   1E+6136                 -> #43ffc000001000000000000000000000 Clamped

+decq618 apply   #43ffc000001000000000000000000000       -> 1.0000000000000000000000000E+6136

+decq619 apply   1E+6135                 -> #43ffc000000100000000000000000000 Clamped

+decq620 apply   #43ffc000000100000000000000000000       -> 1.000000000000000000000000E+6135

+decq621 apply   1E+6134                 -> #43ffc000000020000000000000000000 Clamped

+decq622 apply   #43ffc000000020000000000000000000       -> 1.00000000000000000000000E+6134

+decq623 apply   1E+6133                 -> #43ffc000000004000000000000000000 Clamped

+decq624 apply   #43ffc000000004000000000000000000       -> 1.0000000000000000000000E+6133

+decq625 apply   1E+6132                 -> #43ffc000000000400000000000000000 Clamped

+decq626 apply   #43ffc000000000400000000000000000       -> 1.000000000000000000000E+6132

+decq627 apply   1E+6131                 -> #43ffc000000000080000000000000000 Clamped

+decq628 apply   #43ffc000000000080000000000000000       -> 1.00000000000000000000E+6131

+decq629 apply   1E+6130                 -> #43ffc000000000010000000000000000 Clamped

+decq630 apply   #43ffc000000000010000000000000000       -> 1.0000000000000000000E+6130

+decq631 apply   1E+6129                 -> #43ffc000000000001000000000000000 Clamped

+decq632 apply   #43ffc000000000001000000000000000       -> 1.000000000000000000E+6129

+decq633 apply   1E+6128                 -> #43ffc000000000000200000000000000 Clamped

+decq634 apply   #43ffc000000000000200000000000000       -> 1.00000000000000000E+6128

+decq635 apply   1E+6127                 -> #43ffc000000000000040000000000000 Clamped

+decq636 apply   #43ffc000000000000040000000000000       -> 1.0000000000000000E+6127

+decq637 apply   1E+6126                 -> #43ffc000000000000004000000000000 Clamped

+decq638 apply   #43ffc000000000000004000000000000       -> 1.000000000000000E+6126

+decq639 apply   1E+6125                 -> #43ffc000000000000000800000000000 Clamped

+decq640 apply   #43ffc000000000000000800000000000       -> 1.00000000000000E+6125

+decq641 apply   1E+6124                 -> #43ffc000000000000000100000000000 Clamped

+decq642 apply   #43ffc000000000000000100000000000       -> 1.0000000000000E+6124

+decq643 apply   1E+6123                 -> #43ffc000000000000000010000000000 Clamped

+decq644 apply   #43ffc000000000000000010000000000       -> 1.000000000000E+6123

+decq645 apply   1E+6122                 -> #43ffc000000000000000002000000000 Clamped

+decq646 apply   #43ffc000000000000000002000000000       -> 1.00000000000E+6122

+decq647 apply   1E+6121                 -> #43ffc000000000000000000400000000 Clamped

+decq648 apply   #43ffc000000000000000000400000000       -> 1.0000000000E+6121

+decq649 apply   1E+6120                 -> #43ffc000000000000000000040000000 Clamped

+decq650 apply   #43ffc000000000000000000040000000       -> 1.000000000E+6120

+decq651 apply   1E+6119                 -> #43ffc000000000000000000008000000 Clamped

+decq652 apply   #43ffc000000000000000000008000000       -> 1.00000000E+6119

+decq653 apply   1E+6118                 -> #43ffc000000000000000000001000000 Clamped

+decq654 apply   #43ffc000000000000000000001000000       -> 1.0000000E+6118

+decq655 apply   1E+6117                 -> #43ffc000000000000000000000100000 Clamped

+decq656 apply   #43ffc000000000000000000000100000       -> 1.000000E+6117

+decq657 apply   1E+6116                 -> #43ffc000000000000000000000020000 Clamped

+decq658 apply   #43ffc000000000000000000000020000       -> 1.00000E+6116

+decq659 apply   1E+6115                 -> #43ffc000000000000000000000004000 Clamped

+decq660 apply   #43ffc000000000000000000000004000       -> 1.0000E+6115

+decq661 apply   1E+6114                 -> #43ffc000000000000000000000000400 Clamped

+decq662 apply   #43ffc000000000000000000000000400       -> 1.000E+6114

+decq663 apply   1E+6113                 -> #43ffc000000000000000000000000080 Clamped

+decq664 apply   #43ffc000000000000000000000000080       -> 1.00E+6113

+decq665 apply   1E+6112                 -> #43ffc000000000000000000000000010 Clamped

+decq666 apply   #43ffc000000000000000000000000010       -> 1.0E+6112

+decq667 apply   1E+6111                 -> #43ffc000000000000000000000000001

+decq668 apply   #43ffc000000000000000000000000001       -> 1E+6111

+decq669 apply   1E+6110                 -> #43ff8000000000000000000000000001

+decq670 apply   #43ff8000000000000000000000000001       -> 1E+6110

+

+-- Selected DPD codes

+decq700 apply   #22080000000000000000000000000000       -> 0

+decq701 apply   #22080000000000000000000000000009       -> 9

+decq702 apply   #22080000000000000000000000000010       -> 10

+decq703 apply   #22080000000000000000000000000019       -> 19

+decq704 apply   #22080000000000000000000000000020       -> 20

+decq705 apply   #22080000000000000000000000000029       -> 29

+decq706 apply   #22080000000000000000000000000030       -> 30

+decq707 apply   #22080000000000000000000000000039       -> 39

+decq708 apply   #22080000000000000000000000000040       -> 40

+decq709 apply   #22080000000000000000000000000049       -> 49

+decq710 apply   #22080000000000000000000000000050       -> 50

+decq711 apply   #22080000000000000000000000000059       -> 59

+decq712 apply   #22080000000000000000000000000060       -> 60

+decq713 apply   #22080000000000000000000000000069       -> 69

+decq714 apply   #22080000000000000000000000000070       -> 70

+decq715 apply   #22080000000000000000000000000071       -> 71

+decq716 apply   #22080000000000000000000000000072       -> 72

+decq717 apply   #22080000000000000000000000000073       -> 73

+decq718 apply   #22080000000000000000000000000074       -> 74

+decq719 apply   #22080000000000000000000000000075       -> 75

+decq720 apply   #22080000000000000000000000000076       -> 76

+decq721 apply   #22080000000000000000000000000077       -> 77

+decq722 apply   #22080000000000000000000000000078       -> 78

+decq723 apply   #22080000000000000000000000000079       -> 79

+

+decq730 apply   #2208000000000000000000000000029e       -> 994

+decq731 apply   #2208000000000000000000000000029f       -> 995

+decq732 apply   #220800000000000000000000000002a0       -> 520

+decq733 apply   #220800000000000000000000000002a1       -> 521

+

+-- DPD: one of each of the huffman groups

+decq740 apply   #220800000000000000000000000003f7       -> 777

+decq741 apply   #220800000000000000000000000003f8       -> 778

+decq742 apply   #220800000000000000000000000003eb       -> 787

+decq743 apply   #2208000000000000000000000000037d       -> 877

+decq744 apply   #2208000000000000000000000000039f       -> 997

+decq745 apply   #220800000000000000000000000003bf       -> 979

+decq746 apply   #220800000000000000000000000003df       -> 799

+decq747 apply   #2208000000000000000000000000006e       -> 888

+

+

+-- DPD all-highs cases (includes the 24 redundant codes)

+decq750 apply   #2208000000000000000000000000006e       -> 888

+decq751 apply   #2208000000000000000000000000016e       -> 888

+decq752 apply   #2208000000000000000000000000026e       -> 888

+decq753 apply   #2208000000000000000000000000036e       -> 888

+decq754 apply   #2208000000000000000000000000006f       -> 889

+decq755 apply   #2208000000000000000000000000016f       -> 889

+decq756 apply   #2208000000000000000000000000026f       -> 889

+decq757 apply   #2208000000000000000000000000036f       -> 889

+

+decq760 apply   #2208000000000000000000000000007e       -> 898

+decq761 apply   #2208000000000000000000000000017e       -> 898

+decq762 apply   #2208000000000000000000000000027e       -> 898

+decq763 apply   #2208000000000000000000000000037e       -> 898

+decq764 apply   #2208000000000000000000000000007f       -> 899

+decq765 apply   #2208000000000000000000000000017f       -> 899

+decq766 apply   #2208000000000000000000000000027f       -> 899

+decq767 apply   #2208000000000000000000000000037f       -> 899

+

+decq770 apply   #220800000000000000000000000000ee       -> 988

+decq771 apply   #220800000000000000000000000001ee       -> 988

+decq772 apply   #220800000000000000000000000002ee       -> 988

+decq773 apply   #220800000000000000000000000003ee       -> 988

+decq774 apply   #220800000000000000000000000000ef       -> 989

+decq775 apply   #220800000000000000000000000001ef       -> 989

+decq776 apply   #220800000000000000000000000002ef       -> 989

+decq777 apply   #220800000000000000000000000003ef       -> 989

+

+decq780 apply   #220800000000000000000000000000fe       -> 998

+decq781 apply   #220800000000000000000000000001fe       -> 998

+decq782 apply   #220800000000000000000000000002fe       -> 998

+decq783 apply   #220800000000000000000000000003fe       -> 998

+decq784 apply   #220800000000000000000000000000ff       -> 999

+decq785 apply   #220800000000000000000000000001ff       -> 999

+decq786 apply   #220800000000000000000000000002ff       -> 999

+decq787 apply   #220800000000000000000000000003ff       -> 999

+

+-- Miscellaneous (testers' queries, etc.)

+

+decq790 apply   #2208000000000000000000000000c000       -> 30000

+decq791 apply   #22080000000000000000000000007800       -> 890000

+decq792 apply   30000 -> #2208000000000000000000000000c000

+decq793 apply   890000 -> #22080000000000000000000000007800

+

+-- values around [u]int32 edges (zeros done earlier)

+decq800 apply -2147483646  -> #a208000000000000000000008c78af46

+decq801 apply -2147483647  -> #a208000000000000000000008c78af47

+decq802 apply -2147483648  -> #a208000000000000000000008c78af48

+decq803 apply -2147483649  -> #a208000000000000000000008c78af49

+decq804 apply  2147483646  -> #2208000000000000000000008c78af46

+decq805 apply  2147483647  -> #2208000000000000000000008c78af47

+decq806 apply  2147483648  -> #2208000000000000000000008c78af48

+decq807 apply  2147483649  -> #2208000000000000000000008c78af49

+decq808 apply  4294967294  -> #22080000000000000000000115afb55a

+decq809 apply  4294967295  -> #22080000000000000000000115afb55b

+decq810 apply  4294967296  -> #22080000000000000000000115afb57a

+decq811 apply  4294967297  -> #22080000000000000000000115afb57b

+

+decq820 apply  #a208000000000000000000008c78af46 -> -2147483646

+decq821 apply  #a208000000000000000000008c78af47 -> -2147483647

+decq822 apply  #a208000000000000000000008c78af48 -> -2147483648

+decq823 apply  #a208000000000000000000008c78af49 -> -2147483649

+decq824 apply  #2208000000000000000000008c78af46 ->  2147483646

+decq825 apply  #2208000000000000000000008c78af47 ->  2147483647

+decq826 apply  #2208000000000000000000008c78af48 ->  2147483648

+decq827 apply  #2208000000000000000000008c78af49 ->  2147483649

+decq828 apply  #22080000000000000000000115afb55a ->  4294967294

+decq829 apply  #22080000000000000000000115afb55b ->  4294967295

+decq830 apply  #22080000000000000000000115afb57a ->  4294967296

+decq831 apply  #22080000000000000000000115afb57b ->  4294967297