symbian-qemu-0.9.1-12/python-win32-2.6.1/lib/test/decimaltestdata/dqEncode.decTest
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 ------------------------------------------------------------------------
       
     2 -- dqEncode.decTest -- decimal sixteen-byte format testcases          --
       
     3 -- Copyright (c) IBM Corporation, 2000, 2008.  All rights reserved.   --
       
     4 ------------------------------------------------------------------------
       
     5 -- Please see the document "General Decimal Arithmetic Testcases"     --
       
     6 -- at http://www2.hursley.ibm.com/decimal for the description of      --
       
     7 -- these testcases.                                                   --
       
     8 --                                                                    --
       
     9 -- These testcases are experimental ('beta' versions), and they       --
       
    10 -- may contain errors.  They are offered on an as-is basis.  In       --
       
    11 -- particular, achieving the same results as the tests here is not    --
       
    12 -- a guarantee that an implementation complies with any Standard      --
       
    13 -- or specification.  The tests are not exhaustive.                   --
       
    14 --                                                                    --
       
    15 -- Please send comments, suggestions, and corrections to the author:  --
       
    16 --   Mike Cowlishaw, IBM Fellow                                       --
       
    17 --   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
       
    18 --   mfc@uk.ibm.com                                                   --
       
    19 ------------------------------------------------------------------------
       
    20 -- [Previously called decimal128.decTest]
       
    21 version: 2.58
       
    22 
       
    23 -- This set of tests is for the sixteen-byte concrete representation.
       
    24 -- Its characteristics are:
       
    25 --
       
    26 --   1 bit  sign
       
    27 --   5 bits combination field
       
    28 --  12 bits exponent continuation
       
    29 -- 110 bits coefficient continuation
       
    30 --
       
    31 -- Total exponent length 14 bits
       
    32 -- Total coefficient length 114 bits (34 digits)
       
    33 --
       
    34 -- Elimit = 12287 (maximum encoded exponent)
       
    35 -- Emax   =  6144 (largest exponent value)
       
    36 -- Emin   = -6143 (smallest exponent value)
       
    37 -- bias   =  6176 (subtracted from encoded exponent) = -Etiny
       
    38 
       
    39 -- The testcases here have only exactly representable data on the
       
    40 -- 'left-hand-side'; rounding from strings is tested in 'base'
       
    41 -- testcase groups.
       
    42 
       
    43 extended:    1
       
    44 clamp:       1
       
    45 precision:   34
       
    46 rounding:    half_up
       
    47 maxExponent: 6144
       
    48 minExponent: -6143
       
    49 
       
    50 -- General testcases
       
    51 -- (mostly derived from the Strawman 4 document and examples)
       
    52 decq001 apply   #A20780000000000000000000000003D0 -> -7.50
       
    53 decq002 apply   -7.50             -> #A20780000000000000000000000003D0
       
    54 -- derivative canonical plain strings
       
    55 decq003 apply   #A20840000000000000000000000003D0 -> -7.50E+3
       
    56 decq004 apply   -7.50E+3          -> #A20840000000000000000000000003D0
       
    57 decq005 apply   #A20800000000000000000000000003D0 -> -750
       
    58 decq006 apply   -750              -> #A20800000000000000000000000003D0
       
    59 decq007 apply   #A207c0000000000000000000000003D0 -> -75.0
       
    60 decq008 apply   -75.0             -> #A207c0000000000000000000000003D0
       
    61 decq009 apply   #A20740000000000000000000000003D0 -> -0.750
       
    62 decq010 apply   -0.750            -> #A20740000000000000000000000003D0
       
    63 decq011 apply   #A20700000000000000000000000003D0 -> -0.0750
       
    64 decq012 apply   -0.0750           -> #A20700000000000000000000000003D0
       
    65 decq013 apply   #A20680000000000000000000000003D0 -> -0.000750
       
    66 decq014 apply   -0.000750         -> #A20680000000000000000000000003D0
       
    67 decq015 apply   #A20600000000000000000000000003D0 -> -0.00000750
       
    68 decq016 apply   -0.00000750       -> #A20600000000000000000000000003D0
       
    69 decq017 apply   #A205c0000000000000000000000003D0 -> -7.50E-7
       
    70 decq018 apply   -7.50E-7          -> #A205c0000000000000000000000003D0
       
    71 
       
    72 -- Normality
       
    73 decq020 apply   1234567890123456789012345678901234   -> #2608134b9c1e28e56f3c127177823534
       
    74 decq021 apply  -1234567890123456789012345678901234   -> #a608134b9c1e28e56f3c127177823534
       
    75 decq022 apply   1111111111111111111111111111111111   -> #26080912449124491244912449124491
       
    76 
       
    77 -- Nmax and similar
       
    78 decq031 apply   9.999999999999999999999999999999999E+6144  -> #77ffcff3fcff3fcff3fcff3fcff3fcff
       
    79 decq032 apply   #77ffcff3fcff3fcff3fcff3fcff3fcff -> 9.999999999999999999999999999999999E+6144
       
    80 decq033 apply   1.234567890123456789012345678901234E+6144 -> #47ffd34b9c1e28e56f3c127177823534
       
    81 decq034 apply   #47ffd34b9c1e28e56f3c127177823534 -> 1.234567890123456789012345678901234E+6144
       
    82 -- fold-downs (more below)
       
    83 decq035 apply   1.23E+6144    -> #47ffd300000000000000000000000000 Clamped
       
    84 decq036 apply   #47ffd300000000000000000000000000       -> 1.230000000000000000000000000000000E+6144
       
    85 decq037 apply   1E+6144       -> #47ffc000000000000000000000000000 Clamped
       
    86 decq038 apply   #47ffc000000000000000000000000000       -> 1.000000000000000000000000000000000E+6144
       
    87 
       
    88 decq051 apply   12345                   -> #220800000000000000000000000049c5
       
    89 decq052 apply   #220800000000000000000000000049c5       -> 12345
       
    90 decq053 apply   1234                    -> #22080000000000000000000000000534
       
    91 decq054 apply   #22080000000000000000000000000534       -> 1234
       
    92 decq055 apply   123                     -> #220800000000000000000000000000a3
       
    93 decq056 apply   #220800000000000000000000000000a3       -> 123
       
    94 decq057 apply   12                      -> #22080000000000000000000000000012
       
    95 decq058 apply   #22080000000000000000000000000012       -> 12
       
    96 decq059 apply   1                       -> #22080000000000000000000000000001
       
    97 decq060 apply   #22080000000000000000000000000001       -> 1
       
    98 decq061 apply   1.23                    -> #220780000000000000000000000000a3
       
    99 decq062 apply   #220780000000000000000000000000a3       -> 1.23
       
   100 decq063 apply   123.45                  -> #220780000000000000000000000049c5
       
   101 decq064 apply   #220780000000000000000000000049c5       -> 123.45
       
   102 
       
   103 -- Nmin and below
       
   104 decq071 apply   1E-6143                                    -> #00084000000000000000000000000001
       
   105 decq072 apply   #00084000000000000000000000000001          -> 1E-6143
       
   106 decq073 apply   1.000000000000000000000000000000000E-6143  -> #04000000000000000000000000000000
       
   107 decq074 apply   #04000000000000000000000000000000          -> 1.000000000000000000000000000000000E-6143
       
   108 decq075 apply   1.000000000000000000000000000000001E-6143  -> #04000000000000000000000000000001
       
   109 decq076 apply   #04000000000000000000000000000001          -> 1.000000000000000000000000000000001E-6143
       
   110 
       
   111 decq077 apply   0.100000000000000000000000000000000E-6143  -> #00000800000000000000000000000000      Subnormal
       
   112 decq078 apply   #00000800000000000000000000000000          -> 1.00000000000000000000000000000000E-6144  Subnormal
       
   113 decq079 apply   0.000000000000000000000000000000010E-6143  -> #00000000000000000000000000000010      Subnormal
       
   114 decq080 apply   #00000000000000000000000000000010          -> 1.0E-6175              Subnormal
       
   115 decq081 apply   0.00000000000000000000000000000001E-6143   -> #00004000000000000000000000000001      Subnormal
       
   116 decq082 apply   #00004000000000000000000000000001          -> 1E-6175                Subnormal
       
   117 decq083 apply   0.000000000000000000000000000000001E-6143  -> #00000000000000000000000000000001      Subnormal
       
   118 decq084 apply   #00000000000000000000000000000001          -> 1E-6176                 Subnormal
       
   119 
       
   120 -- underflows cannot be tested for simple copies, check edge cases
       
   121 decq090 apply   1e-6176                  -> #00000000000000000000000000000001  Subnormal
       
   122 decq100 apply   999999999999999999999999999999999e-6176 -> #00000ff3fcff3fcff3fcff3fcff3fcff  Subnormal
       
   123 
       
   124 -- same again, negatives
       
   125 -- Nmax and similar
       
   126 decq122 apply  -9.999999999999999999999999999999999E+6144  -> #f7ffcff3fcff3fcff3fcff3fcff3fcff
       
   127 decq123 apply   #f7ffcff3fcff3fcff3fcff3fcff3fcff -> -9.999999999999999999999999999999999E+6144
       
   128 decq124 apply  -1.234567890123456789012345678901234E+6144 -> #c7ffd34b9c1e28e56f3c127177823534
       
   129 decq125 apply   #c7ffd34b9c1e28e56f3c127177823534 -> -1.234567890123456789012345678901234E+6144
       
   130 -- fold-downs (more below)
       
   131 decq130 apply  -1.23E+6144    -> #c7ffd300000000000000000000000000 Clamped
       
   132 decq131 apply   #c7ffd300000000000000000000000000       -> -1.230000000000000000000000000000000E+6144
       
   133 decq132 apply  -1E+6144       -> #c7ffc000000000000000000000000000 Clamped
       
   134 decq133 apply   #c7ffc000000000000000000000000000       -> -1.000000000000000000000000000000000E+6144
       
   135 
       
   136 decq151 apply  -12345                   -> #a20800000000000000000000000049c5
       
   137 decq152 apply   #a20800000000000000000000000049c5       -> -12345
       
   138 decq153 apply  -1234                    -> #a2080000000000000000000000000534
       
   139 decq154 apply   #a2080000000000000000000000000534       -> -1234
       
   140 decq155 apply  -123                     -> #a20800000000000000000000000000a3
       
   141 decq156 apply   #a20800000000000000000000000000a3       -> -123
       
   142 decq157 apply  -12                      -> #a2080000000000000000000000000012
       
   143 decq158 apply   #a2080000000000000000000000000012       -> -12
       
   144 decq159 apply  -1                       -> #a2080000000000000000000000000001
       
   145 decq160 apply   #a2080000000000000000000000000001       -> -1
       
   146 decq161 apply  -1.23                    -> #a20780000000000000000000000000a3
       
   147 decq162 apply   #a20780000000000000000000000000a3       -> -1.23
       
   148 decq163 apply  -123.45                  -> #a20780000000000000000000000049c5
       
   149 decq164 apply   #a20780000000000000000000000049c5       -> -123.45
       
   150 
       
   151 -- Nmin and below
       
   152 decq171 apply  -1E-6143                                    -> #80084000000000000000000000000001
       
   153 decq172 apply   #80084000000000000000000000000001          -> -1E-6143
       
   154 decq173 apply  -1.000000000000000000000000000000000E-6143  -> #84000000000000000000000000000000
       
   155 decq174 apply   #84000000000000000000000000000000          -> -1.000000000000000000000000000000000E-6143
       
   156 decq175 apply  -1.000000000000000000000000000000001E-6143  -> #84000000000000000000000000000001
       
   157 decq176 apply   #84000000000000000000000000000001          -> -1.000000000000000000000000000000001E-6143
       
   158 
       
   159 decq177 apply  -0.100000000000000000000000000000000E-6143  -> #80000800000000000000000000000000      Subnormal
       
   160 decq178 apply   #80000800000000000000000000000000          -> -1.00000000000000000000000000000000E-6144  Subnormal
       
   161 decq179 apply  -0.000000000000000000000000000000010E-6143  -> #80000000000000000000000000000010      Subnormal
       
   162 decq180 apply   #80000000000000000000000000000010          -> -1.0E-6175              Subnormal
       
   163 decq181 apply  -0.00000000000000000000000000000001E-6143   -> #80004000000000000000000000000001      Subnormal
       
   164 decq182 apply   #80004000000000000000000000000001          -> -1E-6175                Subnormal
       
   165 decq183 apply  -0.000000000000000000000000000000001E-6143  -> #80000000000000000000000000000001      Subnormal
       
   166 decq184 apply   #80000000000000000000000000000001          -> -1E-6176                 Subnormal
       
   167 
       
   168 -- underflow edge cases
       
   169 decq190 apply   -1e-6176                  -> #80000000000000000000000000000001  Subnormal
       
   170 decq200 apply   -999999999999999999999999999999999e-6176 -> #80000ff3fcff3fcff3fcff3fcff3fcff  Subnormal
       
   171 
       
   172 -- zeros
       
   173 decq400 apply   0E-8000                 -> #00000000000000000000000000000000  Clamped
       
   174 decq401 apply   0E-6177                 -> #00000000000000000000000000000000  Clamped
       
   175 decq402 apply   0E-6176                 -> #00000000000000000000000000000000
       
   176 decq403 apply   #00000000000000000000000000000000       -> 0E-6176
       
   177 decq404 apply   0.000000000000000000000000000000000E-6143  -> #00000000000000000000000000000000
       
   178 decq405 apply   #00000000000000000000000000000000       -> 0E-6176
       
   179 decq406 apply   0E-2                    -> #22078000000000000000000000000000
       
   180 decq407 apply   #22078000000000000000000000000000       -> 0.00
       
   181 decq408 apply   0                       -> #22080000000000000000000000000000
       
   182 decq409 apply   #22080000000000000000000000000000       -> 0
       
   183 decq410 apply   0E+3                    -> #2208c000000000000000000000000000
       
   184 decq411 apply   #2208c000000000000000000000000000       -> 0E+3
       
   185 decq412 apply   0E+6111                 -> #43ffc000000000000000000000000000
       
   186 decq413 apply   #43ffc000000000000000000000000000       -> 0E+6111
       
   187 -- clamped zeros...
       
   188 decq414 apply   0E+6112                 -> #43ffc000000000000000000000000000  Clamped
       
   189 decq415 apply   #43ffc000000000000000000000000000       -> 0E+6111
       
   190 decq416 apply   0E+6144                 -> #43ffc000000000000000000000000000  Clamped
       
   191 decq417 apply   #43ffc000000000000000000000000000       -> 0E+6111
       
   192 decq418 apply   0E+8000                 -> #43ffc000000000000000000000000000  Clamped
       
   193 decq419 apply   #43ffc000000000000000000000000000       -> 0E+6111
       
   194 
       
   195 -- negative zeros
       
   196 decq420 apply  -0E-8000                 -> #80000000000000000000000000000000  Clamped
       
   197 decq421 apply  -0E-6177                 -> #80000000000000000000000000000000  Clamped
       
   198 decq422 apply  -0E-6176                 -> #80000000000000000000000000000000
       
   199 decq423 apply   #80000000000000000000000000000000       -> -0E-6176
       
   200 decq424 apply  -0.000000000000000000000000000000000E-6143  -> #80000000000000000000000000000000
       
   201 decq425 apply   #80000000000000000000000000000000       -> -0E-6176
       
   202 decq426 apply  -0E-2                    -> #a2078000000000000000000000000000
       
   203 decq427 apply   #a2078000000000000000000000000000       -> -0.00
       
   204 decq428 apply  -0                       -> #a2080000000000000000000000000000
       
   205 decq429 apply   #a2080000000000000000000000000000       -> -0
       
   206 decq430 apply  -0E+3                    -> #a208c000000000000000000000000000
       
   207 decq431 apply   #a208c000000000000000000000000000       -> -0E+3
       
   208 decq432 apply  -0E+6111                 -> #c3ffc000000000000000000000000000
       
   209 decq433 apply   #c3ffc000000000000000000000000000       -> -0E+6111
       
   210 -- clamped zeros...
       
   211 decq434 apply  -0E+6112                 -> #c3ffc000000000000000000000000000  Clamped
       
   212 decq435 apply   #c3ffc000000000000000000000000000       -> -0E+6111
       
   213 decq436 apply  -0E+6144                 -> #c3ffc000000000000000000000000000  Clamped
       
   214 decq437 apply   #c3ffc000000000000000000000000000       -> -0E+6111
       
   215 decq438 apply  -0E+8000                 -> #c3ffc000000000000000000000000000  Clamped
       
   216 decq439 apply   #c3ffc000000000000000000000000000       -> -0E+6111
       
   217 
       
   218 -- exponent lengths
       
   219 decq440 apply   #22080000000000000000000000000007       -> 7
       
   220 decq441 apply   7 -> #22080000000000000000000000000007
       
   221 decq442 apply   #220a4000000000000000000000000007       -> 7E+9
       
   222 decq443 apply   7E+9 -> #220a4000000000000000000000000007
       
   223 decq444 apply   #2220c000000000000000000000000007       -> 7E+99
       
   224 decq445 apply   7E+99 -> #2220c000000000000000000000000007
       
   225 decq446 apply   #2301c000000000000000000000000007       -> 7E+999
       
   226 decq447 apply   7E+999 -> #2301c000000000000000000000000007
       
   227 decq448 apply   #43e3c000000000000000000000000007       -> 7E+5999
       
   228 decq449 apply   7E+5999 -> #43e3c000000000000000000000000007
       
   229 
       
   230 -- Specials
       
   231 decq500 apply   Infinity                          -> #78000000000000000000000000000000
       
   232 decq501 apply   #78787878787878787878787878787878 -> #78000000000000000000000000000000
       
   233 decq502 apply   #78000000000000000000000000000000 -> Infinity
       
   234 decq503 apply   #79797979797979797979797979797979 -> #78000000000000000000000000000000
       
   235 decq504 apply   #79000000000000000000000000000000 -> Infinity
       
   236 decq505 apply   #7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #78000000000000000000000000000000
       
   237 decq506 apply   #7a000000000000000000000000000000 -> Infinity
       
   238 decq507 apply   #7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #78000000000000000000000000000000
       
   239 decq508 apply   #7b000000000000000000000000000000 -> Infinity
       
   240 
       
   241 decq509 apply   NaN                               -> #7c000000000000000000000000000000
       
   242 decq510 apply   #7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #7c003c7c7c7c7c7c7c7c7c7c7c7c7c7c
       
   243 decq511 apply   #7c000000000000000000000000000000 -> NaN
       
   244 decq512 apply   #7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #7c003d7d7d7d7d7d7d7d7d7d7d7d7d7d
       
   245 decq513 apply   #7d000000000000000000000000000000 -> NaN
       
   246 decq514 apply   #7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #7e003e7e7c7e7e7e7e7c7e7e7e7e7c7e
       
   247 decq515 apply   #7e000000000000000000000000000000 -> sNaN
       
   248 decq516 apply   #7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #7e003f7f7c7f7f7f7f7c7f7f7f7f7c7f
       
   249 decq517 apply   #7f000000000000000000000000000000 -> sNaN
       
   250 decq518 apply   #7fffffffffffffffffffffffffffffff -> sNaN999999999999999999999999999999999
       
   251 decq519 apply   #7fffffffffffffffffffffffffffffff -> #7e000ff3fcff3fcff3fcff3fcff3fcff
       
   252 
       
   253 decq520 apply   -Infinity                         -> #f8000000000000000000000000000000
       
   254 decq521 apply   #f8787878787878787878787878787878 -> #f8000000000000000000000000000000
       
   255 decq522 apply   #f8000000000000000000000000000000 -> -Infinity
       
   256 decq523 apply   #f9797979797979797979797979797979 -> #f8000000000000000000000000000000
       
   257 decq524 apply   #f9000000000000000000000000000000 -> -Infinity
       
   258 decq525 apply   #fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #f8000000000000000000000000000000
       
   259 decq526 apply   #fa000000000000000000000000000000 -> -Infinity
       
   260 decq527 apply   #fb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #f8000000000000000000000000000000
       
   261 decq528 apply   #fb000000000000000000000000000000 -> -Infinity
       
   262 
       
   263 decq529 apply   -NaN                              -> #fc000000000000000000000000000000
       
   264 decq530 apply   #fc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #fc003c7c7c7c7c7c7c7c7c7c7c7c7c7c
       
   265 decq531 apply   #fc000000000000000000000000000000 -> -NaN
       
   266 decq532 apply   #fd7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #fc003d7d7d7d7d7d7d7d7d7d7d7d7d7d
       
   267 decq533 apply   #fd000000000000000000000000000000 -> -NaN
       
   268 decq534 apply   #fe7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #fe003e7e7c7e7e7e7e7c7e7e7e7e7c7e
       
   269 decq535 apply   #fe000000000000000000000000000000 -> -sNaN
       
   270 decq536 apply   #ff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #fe003f7f7c7f7f7f7f7c7f7f7f7f7c7f
       
   271 decq537 apply   #ff000000000000000000000000000000 -> -sNaN
       
   272 decq538 apply   #ffffffffffffffffffffffffffffffff -> -sNaN999999999999999999999999999999999
       
   273 decq539 apply   #ffffffffffffffffffffffffffffffff -> #fe000ff3fcff3fcff3fcff3fcff3fcff
       
   274 
       
   275 decq540 apply   NaN               -> #7c000000000000000000000000000000
       
   276 decq541 apply   NaN0              -> #7c000000000000000000000000000000
       
   277 decq542 apply   NaN1              -> #7c000000000000000000000000000001
       
   278 decq543 apply   NaN12             -> #7c000000000000000000000000000012
       
   279 decq544 apply   NaN79             -> #7c000000000000000000000000000079
       
   280 decq545 apply   NaN12345          -> #7c0000000000000000000000000049c5
       
   281 decq546 apply   NaN123456         -> #7c000000000000000000000000028e56
       
   282 decq547 apply   NaN799799         -> #7c0000000000000000000000000f7fdf
       
   283 decq548 apply   NaN799799799799799799799799799799799  -> #7c003dff7fdff7fdff7fdff7fdff7fdf
       
   284 decq549 apply   NaN999999999999999999999999999999999  -> #7c000ff3fcff3fcff3fcff3fcff3fcff
       
   285 decq550 apply     9999999999999999999999999999999999  -> #6e080ff3fcff3fcff3fcff3fcff3fcff
       
   286 
       
   287 -- fold-down full sequence
       
   288 decq601 apply   1E+6144                 -> #47ffc000000000000000000000000000 Clamped
       
   289 decq602 apply   #47ffc000000000000000000000000000       -> 1.000000000000000000000000000000000E+6144
       
   290 decq603 apply   1E+6143                 -> #43ffc800000000000000000000000000 Clamped
       
   291 decq604 apply   #43ffc800000000000000000000000000       -> 1.00000000000000000000000000000000E+6143
       
   292 decq605 apply   1E+6142                 -> #43ffc100000000000000000000000000 Clamped
       
   293 decq606 apply   #43ffc100000000000000000000000000       -> 1.0000000000000000000000000000000E+6142
       
   294 decq607 apply   1E+6141                 -> #43ffc010000000000000000000000000 Clamped
       
   295 decq608 apply   #43ffc010000000000000000000000000       -> 1.000000000000000000000000000000E+6141
       
   296 decq609 apply   1E+6140                 -> #43ffc002000000000000000000000000 Clamped
       
   297 decq610 apply   #43ffc002000000000000000000000000       -> 1.00000000000000000000000000000E+6140
       
   298 decq611 apply   1E+6139                 -> #43ffc000400000000000000000000000 Clamped
       
   299 decq612 apply   #43ffc000400000000000000000000000       -> 1.0000000000000000000000000000E+6139
       
   300 decq613 apply   1E+6138                 -> #43ffc000040000000000000000000000 Clamped
       
   301 decq614 apply   #43ffc000040000000000000000000000       -> 1.000000000000000000000000000E+6138
       
   302 decq615 apply   1E+6137                 -> #43ffc000008000000000000000000000 Clamped
       
   303 decq616 apply   #43ffc000008000000000000000000000       -> 1.00000000000000000000000000E+6137
       
   304 decq617 apply   1E+6136                 -> #43ffc000001000000000000000000000 Clamped
       
   305 decq618 apply   #43ffc000001000000000000000000000       -> 1.0000000000000000000000000E+6136
       
   306 decq619 apply   1E+6135                 -> #43ffc000000100000000000000000000 Clamped
       
   307 decq620 apply   #43ffc000000100000000000000000000       -> 1.000000000000000000000000E+6135
       
   308 decq621 apply   1E+6134                 -> #43ffc000000020000000000000000000 Clamped
       
   309 decq622 apply   #43ffc000000020000000000000000000       -> 1.00000000000000000000000E+6134
       
   310 decq623 apply   1E+6133                 -> #43ffc000000004000000000000000000 Clamped
       
   311 decq624 apply   #43ffc000000004000000000000000000       -> 1.0000000000000000000000E+6133
       
   312 decq625 apply   1E+6132                 -> #43ffc000000000400000000000000000 Clamped
       
   313 decq626 apply   #43ffc000000000400000000000000000       -> 1.000000000000000000000E+6132
       
   314 decq627 apply   1E+6131                 -> #43ffc000000000080000000000000000 Clamped
       
   315 decq628 apply   #43ffc000000000080000000000000000       -> 1.00000000000000000000E+6131
       
   316 decq629 apply   1E+6130                 -> #43ffc000000000010000000000000000 Clamped
       
   317 decq630 apply   #43ffc000000000010000000000000000       -> 1.0000000000000000000E+6130
       
   318 decq631 apply   1E+6129                 -> #43ffc000000000001000000000000000 Clamped
       
   319 decq632 apply   #43ffc000000000001000000000000000       -> 1.000000000000000000E+6129
       
   320 decq633 apply   1E+6128                 -> #43ffc000000000000200000000000000 Clamped
       
   321 decq634 apply   #43ffc000000000000200000000000000       -> 1.00000000000000000E+6128
       
   322 decq635 apply   1E+6127                 -> #43ffc000000000000040000000000000 Clamped
       
   323 decq636 apply   #43ffc000000000000040000000000000       -> 1.0000000000000000E+6127
       
   324 decq637 apply   1E+6126                 -> #43ffc000000000000004000000000000 Clamped
       
   325 decq638 apply   #43ffc000000000000004000000000000       -> 1.000000000000000E+6126
       
   326 decq639 apply   1E+6125                 -> #43ffc000000000000000800000000000 Clamped
       
   327 decq640 apply   #43ffc000000000000000800000000000       -> 1.00000000000000E+6125
       
   328 decq641 apply   1E+6124                 -> #43ffc000000000000000100000000000 Clamped
       
   329 decq642 apply   #43ffc000000000000000100000000000       -> 1.0000000000000E+6124
       
   330 decq643 apply   1E+6123                 -> #43ffc000000000000000010000000000 Clamped
       
   331 decq644 apply   #43ffc000000000000000010000000000       -> 1.000000000000E+6123
       
   332 decq645 apply   1E+6122                 -> #43ffc000000000000000002000000000 Clamped
       
   333 decq646 apply   #43ffc000000000000000002000000000       -> 1.00000000000E+6122
       
   334 decq647 apply   1E+6121                 -> #43ffc000000000000000000400000000 Clamped
       
   335 decq648 apply   #43ffc000000000000000000400000000       -> 1.0000000000E+6121
       
   336 decq649 apply   1E+6120                 -> #43ffc000000000000000000040000000 Clamped
       
   337 decq650 apply   #43ffc000000000000000000040000000       -> 1.000000000E+6120
       
   338 decq651 apply   1E+6119                 -> #43ffc000000000000000000008000000 Clamped
       
   339 decq652 apply   #43ffc000000000000000000008000000       -> 1.00000000E+6119
       
   340 decq653 apply   1E+6118                 -> #43ffc000000000000000000001000000 Clamped
       
   341 decq654 apply   #43ffc000000000000000000001000000       -> 1.0000000E+6118
       
   342 decq655 apply   1E+6117                 -> #43ffc000000000000000000000100000 Clamped
       
   343 decq656 apply   #43ffc000000000000000000000100000       -> 1.000000E+6117
       
   344 decq657 apply   1E+6116                 -> #43ffc000000000000000000000020000 Clamped
       
   345 decq658 apply   #43ffc000000000000000000000020000       -> 1.00000E+6116
       
   346 decq659 apply   1E+6115                 -> #43ffc000000000000000000000004000 Clamped
       
   347 decq660 apply   #43ffc000000000000000000000004000       -> 1.0000E+6115
       
   348 decq661 apply   1E+6114                 -> #43ffc000000000000000000000000400 Clamped
       
   349 decq662 apply   #43ffc000000000000000000000000400       -> 1.000E+6114
       
   350 decq663 apply   1E+6113                 -> #43ffc000000000000000000000000080 Clamped
       
   351 decq664 apply   #43ffc000000000000000000000000080       -> 1.00E+6113
       
   352 decq665 apply   1E+6112                 -> #43ffc000000000000000000000000010 Clamped
       
   353 decq666 apply   #43ffc000000000000000000000000010       -> 1.0E+6112
       
   354 decq667 apply   1E+6111                 -> #43ffc000000000000000000000000001
       
   355 decq668 apply   #43ffc000000000000000000000000001       -> 1E+6111
       
   356 decq669 apply   1E+6110                 -> #43ff8000000000000000000000000001
       
   357 decq670 apply   #43ff8000000000000000000000000001       -> 1E+6110
       
   358 
       
   359 -- Selected DPD codes
       
   360 decq700 apply   #22080000000000000000000000000000       -> 0
       
   361 decq701 apply   #22080000000000000000000000000009       -> 9
       
   362 decq702 apply   #22080000000000000000000000000010       -> 10
       
   363 decq703 apply   #22080000000000000000000000000019       -> 19
       
   364 decq704 apply   #22080000000000000000000000000020       -> 20
       
   365 decq705 apply   #22080000000000000000000000000029       -> 29
       
   366 decq706 apply   #22080000000000000000000000000030       -> 30
       
   367 decq707 apply   #22080000000000000000000000000039       -> 39
       
   368 decq708 apply   #22080000000000000000000000000040       -> 40
       
   369 decq709 apply   #22080000000000000000000000000049       -> 49
       
   370 decq710 apply   #22080000000000000000000000000050       -> 50
       
   371 decq711 apply   #22080000000000000000000000000059       -> 59
       
   372 decq712 apply   #22080000000000000000000000000060       -> 60
       
   373 decq713 apply   #22080000000000000000000000000069       -> 69
       
   374 decq714 apply   #22080000000000000000000000000070       -> 70
       
   375 decq715 apply   #22080000000000000000000000000071       -> 71
       
   376 decq716 apply   #22080000000000000000000000000072       -> 72
       
   377 decq717 apply   #22080000000000000000000000000073       -> 73
       
   378 decq718 apply   #22080000000000000000000000000074       -> 74
       
   379 decq719 apply   #22080000000000000000000000000075       -> 75
       
   380 decq720 apply   #22080000000000000000000000000076       -> 76
       
   381 decq721 apply   #22080000000000000000000000000077       -> 77
       
   382 decq722 apply   #22080000000000000000000000000078       -> 78
       
   383 decq723 apply   #22080000000000000000000000000079       -> 79
       
   384 
       
   385 decq730 apply   #2208000000000000000000000000029e       -> 994
       
   386 decq731 apply   #2208000000000000000000000000029f       -> 995
       
   387 decq732 apply   #220800000000000000000000000002a0       -> 520
       
   388 decq733 apply   #220800000000000000000000000002a1       -> 521
       
   389 
       
   390 -- DPD: one of each of the huffman groups
       
   391 decq740 apply   #220800000000000000000000000003f7       -> 777
       
   392 decq741 apply   #220800000000000000000000000003f8       -> 778
       
   393 decq742 apply   #220800000000000000000000000003eb       -> 787
       
   394 decq743 apply   #2208000000000000000000000000037d       -> 877
       
   395 decq744 apply   #2208000000000000000000000000039f       -> 997
       
   396 decq745 apply   #220800000000000000000000000003bf       -> 979
       
   397 decq746 apply   #220800000000000000000000000003df       -> 799
       
   398 decq747 apply   #2208000000000000000000000000006e       -> 888
       
   399 
       
   400 
       
   401 -- DPD all-highs cases (includes the 24 redundant codes)
       
   402 decq750 apply   #2208000000000000000000000000006e       -> 888
       
   403 decq751 apply   #2208000000000000000000000000016e       -> 888
       
   404 decq752 apply   #2208000000000000000000000000026e       -> 888
       
   405 decq753 apply   #2208000000000000000000000000036e       -> 888
       
   406 decq754 apply   #2208000000000000000000000000006f       -> 889
       
   407 decq755 apply   #2208000000000000000000000000016f       -> 889
       
   408 decq756 apply   #2208000000000000000000000000026f       -> 889
       
   409 decq757 apply   #2208000000000000000000000000036f       -> 889
       
   410 
       
   411 decq760 apply   #2208000000000000000000000000007e       -> 898
       
   412 decq761 apply   #2208000000000000000000000000017e       -> 898
       
   413 decq762 apply   #2208000000000000000000000000027e       -> 898
       
   414 decq763 apply   #2208000000000000000000000000037e       -> 898
       
   415 decq764 apply   #2208000000000000000000000000007f       -> 899
       
   416 decq765 apply   #2208000000000000000000000000017f       -> 899
       
   417 decq766 apply   #2208000000000000000000000000027f       -> 899
       
   418 decq767 apply   #2208000000000000000000000000037f       -> 899
       
   419 
       
   420 decq770 apply   #220800000000000000000000000000ee       -> 988
       
   421 decq771 apply   #220800000000000000000000000001ee       -> 988
       
   422 decq772 apply   #220800000000000000000000000002ee       -> 988
       
   423 decq773 apply   #220800000000000000000000000003ee       -> 988
       
   424 decq774 apply   #220800000000000000000000000000ef       -> 989
       
   425 decq775 apply   #220800000000000000000000000001ef       -> 989
       
   426 decq776 apply   #220800000000000000000000000002ef       -> 989
       
   427 decq777 apply   #220800000000000000000000000003ef       -> 989
       
   428 
       
   429 decq780 apply   #220800000000000000000000000000fe       -> 998
       
   430 decq781 apply   #220800000000000000000000000001fe       -> 998
       
   431 decq782 apply   #220800000000000000000000000002fe       -> 998
       
   432 decq783 apply   #220800000000000000000000000003fe       -> 998
       
   433 decq784 apply   #220800000000000000000000000000ff       -> 999
       
   434 decq785 apply   #220800000000000000000000000001ff       -> 999
       
   435 decq786 apply   #220800000000000000000000000002ff       -> 999
       
   436 decq787 apply   #220800000000000000000000000003ff       -> 999
       
   437 
       
   438 -- Miscellaneous (testers' queries, etc.)
       
   439 
       
   440 decq790 apply   #2208000000000000000000000000c000       -> 30000
       
   441 decq791 apply   #22080000000000000000000000007800       -> 890000
       
   442 decq792 apply   30000 -> #2208000000000000000000000000c000
       
   443 decq793 apply   890000 -> #22080000000000000000000000007800
       
   444 
       
   445 -- values around [u]int32 edges (zeros done earlier)
       
   446 decq800 apply -2147483646  -> #a208000000000000000000008c78af46
       
   447 decq801 apply -2147483647  -> #a208000000000000000000008c78af47
       
   448 decq802 apply -2147483648  -> #a208000000000000000000008c78af48
       
   449 decq803 apply -2147483649  -> #a208000000000000000000008c78af49
       
   450 decq804 apply  2147483646  -> #2208000000000000000000008c78af46
       
   451 decq805 apply  2147483647  -> #2208000000000000000000008c78af47
       
   452 decq806 apply  2147483648  -> #2208000000000000000000008c78af48
       
   453 decq807 apply  2147483649  -> #2208000000000000000000008c78af49
       
   454 decq808 apply  4294967294  -> #22080000000000000000000115afb55a
       
   455 decq809 apply  4294967295  -> #22080000000000000000000115afb55b
       
   456 decq810 apply  4294967296  -> #22080000000000000000000115afb57a
       
   457 decq811 apply  4294967297  -> #22080000000000000000000115afb57b
       
   458 
       
   459 decq820 apply  #a208000000000000000000008c78af46 -> -2147483646
       
   460 decq821 apply  #a208000000000000000000008c78af47 -> -2147483647
       
   461 decq822 apply  #a208000000000000000000008c78af48 -> -2147483648
       
   462 decq823 apply  #a208000000000000000000008c78af49 -> -2147483649
       
   463 decq824 apply  #2208000000000000000000008c78af46 ->  2147483646
       
   464 decq825 apply  #2208000000000000000000008c78af47 ->  2147483647
       
   465 decq826 apply  #2208000000000000000000008c78af48 ->  2147483648
       
   466 decq827 apply  #2208000000000000000000008c78af49 ->  2147483649
       
   467 decq828 apply  #22080000000000000000000115afb55a ->  4294967294
       
   468 decq829 apply  #22080000000000000000000115afb55b ->  4294967295
       
   469 decq830 apply  #22080000000000000000000115afb57a ->  4294967296
       
   470 decq831 apply  #22080000000000000000000115afb57b ->  4294967297
       
   471 
       
   472 -- VG testcase
       
   473 decq840 apply    #2080000000000000F294000000172636 -> 8.81125000000001349436E-1548
       
   474 decq841 apply    #20800000000000008000000000000000 -> 8.000000000000000000E-1550
       
   475 decq842 apply    #1EF98490000000010F6E4E0000000000 -> 7.049000000000010795488000000000000E-3097
       
   476 decq843 multiply #20800000000000008000000000000000 #2080000000000000F294000000172636 -> #1EF98490000000010F6E4E0000000000 Rounded
       
   477