python-2.5.2/win32/Lib/test/decimaltestdata/dqEncode.decTest
changeset 0 ae805ac0140d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/python-2.5.2/win32/Lib/test/decimaltestdata/dqEncode.decTest	Fri Apr 03 17:19:34 2009 +0100
@@ -0,0 +1,477 @@
+------------------------------------------------------------------------
+-- 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.57
+
+-- 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
+
+-- VG testcase
+decq840 apply    #2080000000000000F294000000172636 -> 8.81125000000001349436E-1548
+decq841 apply    #20800000000000008000000000000000 -> 8.000000000000000000E-1550
+decq842 apply    #1EF98490000000010F6E4E0000000000 -> 7.049000000000010795488000000000000E-3097
+decq843 multiply #20800000000000008000000000000000 #2080000000000000F294000000172636 -> #1EF98490000000010F6E4E0000000000 Rounded
+