Staging
v0.5.1
https://github.com/python/cpython
Raw File
Tip revision: 2d8697f32c81f3db1e08ce198d5cebdeff5cc917 authored by Anthony Baxter on 18 September 2006, 06:51:50 UTC
Preparing for 2.5 final.
Tip revision: 2d8697f
decimal128.decTest
------------------------------------------------------------------------
-- decimal128.decTest -- decimal sixteen-byte format testcases        --
-- Copyright (c) IBM Corporation, 2000, 2003.  All rights reserved.   --
------------------------------------------------------------------------
-- Please see the document "General Decimal Arithmetic Testcases"     --
-- at http://www2.hursley.ibm.com/decimal for the description of      --
-- these testcases.                                                   --
--                                                                    --
-- These testcases are experimental ('beta' versions), and they       --
-- may contain errors.  They are offered on an as-is basis.  In       --
-- particular, achieving the same results as the tests here is not    --
-- a guarantee that an implementation complies with any Standard      --
-- or specification.  The tests are not exhaustive.                   --
--                                                                    --
-- Please send comments, suggestions, and corrections to the author:  --
--   Mike Cowlishaw, IBM Fellow                                       --
--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
--   mfc@uk.ibm.com                                                   --
------------------------------------------------------------------------
version: 2.39

-- 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

extended:    1
precision:   34
rounding:    half_up
maxExponent: 6144
minExponent: -6143

-- General testcases
-- (mostly derived from the Strawman 4 document and examples)
decg001 apply   #A20780000000000000000000000003D0 -> -7.50
decg002 apply   -7.50  -> #A20780000000000000000000000003D0

-- Normality
decf010 apply   1234567890123456789012345678901234   -> #2608134b9c1e28e56f3c127177823534
decf011 apply   1234567890123456789012345678901234.0 -> #2608134b9c1e28e56f3c127177823534 Rounded
decf012 apply   1234567890123456789012345678901234.1 -> #2608134b9c1e28e56f3c127177823534 Rounded Inexact
decf013 apply  -1234567890123456789012345678901234   -> #a608134b9c1e28e56f3c127177823534
decf014 apply  -1234567890123456789012345678901234.0 -> #a608134b9c1e28e56f3c127177823534 Rounded
decf015 apply  -1234567890123456789012345678901234.1 -> #a608134b9c1e28e56f3c127177823534 Rounded Inexact


-- Nmax and similar
decf022 apply   9.999999999999999999999999999999999E+6144  -> #77ffcff3fcff3fcff3fcff3fcff3fcff
decf023 apply   #77ffcff3fcff3fcff3fcff3fcff3fcff -> 9.999999999999999999999999999999999E+6144
decf024 apply   1.234567890123456789012345678901234E+6144 -> #47ffd34b9c1e28e56f3c127177823534
decf025 apply   #47ffd34b9c1e28e56f3c127177823534 -> 1.234567890123456789012345678901234E+6144
-- fold-downs (more below)
decf030 apply   1.23E+6144    -> #47ffd300000000000000000000000000 Clamped
decf031 apply   #47ffd300000000000000000000000000       -> 1.230000000000000000000000000000000E+6144
decf032 apply   1E+6144       -> #47ffc000000000000000000000000000 Clamped
decf033 apply   #47ffc000000000000000000000000000       -> 1.000000000000000000000000000000000E+6144

-- overflows
maxExponent: 9999  -- set high so conversion causes the overflow
minExponent: -9999
decf040 apply   10E+6144                 -> #78000000000000000000000000000000 Overflow Rounded Inexact
decf041 apply   1.000000000000000E+6145  -> #78000000000000000000000000000000 Overflow Rounded Inexact
maxExponent: 6144
minExponent: -6143

decf051 apply   12345                   -> #220800000000000000000000000049c5
decf052 apply   #220800000000000000000000000049c5       -> 12345
decf053 apply   1234                    -> #22080000000000000000000000000534
decf054 apply   #22080000000000000000000000000534       -> 1234
decf055 apply   123                     -> #220800000000000000000000000000a3
decf056 apply   #220800000000000000000000000000a3       -> 123
decf057 apply   12                      -> #22080000000000000000000000000012
decf058 apply   #22080000000000000000000000000012       -> 12
decf059 apply   1                       -> #22080000000000000000000000000001
decf060 apply   #22080000000000000000000000000001       -> 1
decf061 apply   1.23                    -> #220780000000000000000000000000a3
decf062 apply   #220780000000000000000000000000a3       -> 1.23
decf063 apply   123.45                  -> #220780000000000000000000000049c5
decf064 apply   #220780000000000000000000000049c5       -> 123.45

-- Nmin and below
decf071 apply   1E-6143                                    -> #00084000000000000000000000000001
decf072 apply   #00084000000000000000000000000001          -> 1E-6143
decf073 apply   1.000000000000000000000000000000000E-6143  -> #04000000000000000000000000000000
decf074 apply   #04000000000000000000000000000000          -> 1.000000000000000000000000000000000E-6143
decf075 apply   1.000000000000000000000000000000001E-6143  -> #04000000000000000000000000000001
decf076 apply   #04000000000000000000000000000001          -> 1.000000000000000000000000000000001E-6143

decf077 apply   0.100000000000000000000000000000000E-6143  -> #00000800000000000000000000000000      Subnormal
decf078 apply   #00000800000000000000000000000000          -> 1.00000000000000000000000000000000E-6144  Subnormal
decf079 apply   0.000000000000000000000000000000010E-6143  -> #00000000000000000000000000000010      Subnormal
decf080 apply   #00000000000000000000000000000010          -> 1.0E-6175              Subnormal
decf081 apply   0.00000000000000000000000000000001E-6143   -> #00004000000000000000000000000001      Subnormal
decf082 apply   #00004000000000000000000000000001          -> 1E-6175                Subnormal
decf083 apply   0.000000000000000000000000000000001E-6143  -> #00000000000000000000000000000001      Subnormal
decf084 apply   #00000000000000000000000000000001          -> 1E-6176                 Subnormal

-- underflows
decf090 apply   1e-6176                  -> #00000000000000000000000000000001  Subnormal
decf091 apply   1.9e-6176                -> #00000000000000000000000000000002  Subnormal Underflow Inexact Rounded
decf092 apply   1.1e-6176                -> #00000000000000000000000000000001  Subnormal Underflow Inexact Rounded
decf093 apply   1.00000000001e-6176      -> #00000000000000000000000000000001  Subnormal Underflow Inexact Rounded
decf094 apply   1.00000000000001e-6176   -> #00000000000000000000000000000001  Subnormal Underflow Inexact Rounded
decf095 apply   1.000000000000001e-6176  -> #00000000000000000000000000000001  Subnormal Underflow Inexact Rounded
decf096 apply   0.1e-6176                -> #00000000000000000000000000000000  Subnormal Underflow Inexact Rounded
decf097 apply   0.00000000001e-6176      -> #00000000000000000000000000000000  Subnormal Underflow Inexact Rounded
decf098 apply   0.00000000000001e-6176   -> #00000000000000000000000000000000  Subnormal Underflow Inexact Rounded
decf099 apply   0.000000000000001e-6176  -> #00000000000000000000000000000000  Subnormal Underflow Inexact Rounded
decf100 apply   999999999999999999999999999999999e-6176 -> #00000ff3fcff3fcff3fcff3fcff3fcff  Subnormal

-- same again, negatives
-- Nmax and similar
decf122 apply  -9.999999999999999999999999999999999E+6144  -> #f7ffcff3fcff3fcff3fcff3fcff3fcff
decf123 apply   #f7ffcff3fcff3fcff3fcff3fcff3fcff -> -9.999999999999999999999999999999999E+6144
decf124 apply  -1.234567890123456789012345678901234E+6144 -> #c7ffd34b9c1e28e56f3c127177823534
decf125 apply   #c7ffd34b9c1e28e56f3c127177823534 -> -1.234567890123456789012345678901234E+6144
-- fold-downs (more below)
decf130 apply  -1.23E+6144    -> #c7ffd300000000000000000000000000 Clamped
decf131 apply   #c7ffd300000000000000000000000000       -> -1.230000000000000000000000000000000E+6144
decf132 apply  -1E+6144       -> #c7ffc000000000000000000000000000 Clamped
decf133 apply   #c7ffc000000000000000000000000000       -> -1.000000000000000000000000000000000E+6144

-- overflows
maxExponent: 9999  -- set high so conversion causes the overflow
minExponent: -9999
decf140 apply  -10E+6144                 -> #f8000000000000000000000000000000 Overflow Rounded Inexact
decf141 apply  -1.000000000000000E+6145  -> #f8000000000000000000000000000000 Overflow Rounded Inexact
maxExponent: 6144
minExponent: -6143

decf151 apply  -12345                   -> #a20800000000000000000000000049c5
decf152 apply   #a20800000000000000000000000049c5       -> -12345
decf153 apply  -1234                    -> #a2080000000000000000000000000534
decf154 apply   #a2080000000000000000000000000534       -> -1234
decf155 apply  -123                     -> #a20800000000000000000000000000a3
decf156 apply   #a20800000000000000000000000000a3       -> -123
decf157 apply  -12                      -> #a2080000000000000000000000000012
decf158 apply   #a2080000000000000000000000000012       -> -12
decf159 apply  -1                       -> #a2080000000000000000000000000001
decf160 apply   #a2080000000000000000000000000001       -> -1
decf161 apply  -1.23                    -> #a20780000000000000000000000000a3
decf162 apply   #a20780000000000000000000000000a3       -> -1.23
decf163 apply  -123.45                  -> #a20780000000000000000000000049c5
decf164 apply   #a20780000000000000000000000049c5       -> -123.45

-- Nmin and below
decf171 apply  -1E-6143                                    -> #80084000000000000000000000000001
decf172 apply   #80084000000000000000000000000001          -> -1E-6143
decf173 apply  -1.000000000000000000000000000000000E-6143  -> #84000000000000000000000000000000
decf174 apply   #84000000000000000000000000000000          -> -1.000000000000000000000000000000000E-6143
decf175 apply  -1.000000000000000000000000000000001E-6143  -> #84000000000000000000000000000001
decf176 apply   #84000000000000000000000000000001          -> -1.000000000000000000000000000000001E-6143

decf177 apply  -0.100000000000000000000000000000000E-6143  -> #80000800000000000000000000000000      Subnormal
decf178 apply   #80000800000000000000000000000000          -> -1.00000000000000000000000000000000E-6144  Subnormal
decf179 apply  -0.000000000000000000000000000000010E-6143  -> #80000000000000000000000000000010      Subnormal
decf180 apply   #80000000000000000000000000000010          -> -1.0E-6175              Subnormal
decf181 apply  -0.00000000000000000000000000000001E-6143   -> #80004000000000000000000000000001      Subnormal
decf182 apply   #80004000000000000000000000000001          -> -1E-6175                Subnormal
decf183 apply  -0.000000000000000000000000000000001E-6143  -> #80000000000000000000000000000001      Subnormal
decf184 apply   #80000000000000000000000000000001          -> -1E-6176                 Subnormal

-- underflows
decf190 apply   -1e-6176                  -> #80000000000000000000000000000001  Subnormal
decf191 apply   -1.9e-6176                -> #80000000000000000000000000000002  Subnormal Underflow Inexact Rounded
decf192 apply   -1.1e-6176                -> #80000000000000000000000000000001  Subnormal Underflow Inexact Rounded
decf193 apply   -1.00000000001e-6176      -> #80000000000000000000000000000001  Subnormal Underflow Inexact Rounded
decf194 apply   -1.00000000000001e-6176   -> #80000000000000000000000000000001  Subnormal Underflow Inexact Rounded
decf195 apply   -1.000000000000001e-6176  -> #80000000000000000000000000000001  Subnormal Underflow Inexact Rounded
decf196 apply   -0.1e-6176                -> #80000000000000000000000000000000  Subnormal Underflow Inexact Rounded
decf197 apply   -0.00000000001e-6176      -> #80000000000000000000000000000000  Subnormal Underflow Inexact Rounded
decf198 apply   -0.00000000000001e-6176   -> #80000000000000000000000000000000  Subnormal Underflow Inexact Rounded
decf199 apply   -0.000000000000001e-6176  -> #80000000000000000000000000000000  Subnormal Underflow Inexact Rounded
decf200 apply   -999999999999999999999999999999999e-6176 -> #80000ff3fcff3fcff3fcff3fcff3fcff  Subnormal

-- zeros
decf400 apply   0E-8000                 -> #00000000000000000000000000000000  Clamped
decf401 apply   0E-6177                 -> #00000000000000000000000000000000  Clamped
decf402 apply   0E-6176                 -> #00000000000000000000000000000000
decf403 apply   #00000000000000000000000000000000       -> 0E-6176
decf404 apply   0.000000000000000000000000000000000E-6143  -> #00000000000000000000000000000000
decf405 apply   #00000000000000000000000000000000       -> 0E-6176
decf406 apply   0E-2                    -> #22078000000000000000000000000000
decf407 apply   #22078000000000000000000000000000       -> 0.00
decf408 apply   0                       -> #22080000000000000000000000000000
decf409 apply   #22080000000000000000000000000000       -> 0
decf410 apply   0E+3                    -> #2208c000000000000000000000000000
decf411 apply   #2208c000000000000000000000000000       -> 0E+3
decf412 apply   0E+6111                 -> #43ffc000000000000000000000000000
decf413 apply   #43ffc000000000000000000000000000       -> 0E+6111
-- clamped zeros...
decf414 apply   0E+6112                 -> #43ffc000000000000000000000000000  Clamped
decf415 apply   #43ffc000000000000000000000000000       -> 0E+6111
decf416 apply   0E+6144                 -> #43ffc000000000000000000000000000  Clamped
decf417 apply   #43ffc000000000000000000000000000       -> 0E+6111
decf418 apply   0E+8000                 -> #43ffc000000000000000000000000000  Clamped
decf419 apply   #43ffc000000000000000000000000000       -> 0E+6111

-- negative zeros
decf420 apply  -0E-8000                 -> #80000000000000000000000000000000  Clamped
decf421 apply  -0E-6177                 -> #80000000000000000000000000000000  Clamped
decf422 apply  -0E-6176                 -> #80000000000000000000000000000000
decf423 apply   #80000000000000000000000000000000       -> -0E-6176
decf424 apply  -0.000000000000000000000000000000000E-6143  -> #80000000000000000000000000000000
decf425 apply   #80000000000000000000000000000000       -> -0E-6176
decf426 apply  -0E-2                    -> #a2078000000000000000000000000000
decf427 apply   #a2078000000000000000000000000000       -> -0.00
decf428 apply  -0                       -> #a2080000000000000000000000000000
decf429 apply   #a2080000000000000000000000000000       -> -0
decf430 apply  -0E+3                    -> #a208c000000000000000000000000000
decf431 apply   #a208c000000000000000000000000000       -> -0E+3
decf432 apply  -0E+6111                 -> #c3ffc000000000000000000000000000
decf433 apply   #c3ffc000000000000000000000000000       -> -0E+6111
-- clamped zeros...
decf434 apply  -0E+6112                 -> #c3ffc000000000000000000000000000  Clamped
decf435 apply   #c3ffc000000000000000000000000000       -> -0E+6111
decf436 apply  -0E+6144                 -> #c3ffc000000000000000000000000000  Clamped
decf437 apply   #c3ffc000000000000000000000000000       -> -0E+6111
decf438 apply  -0E+8000                 -> #c3ffc000000000000000000000000000  Clamped
decf439 apply   #c3ffc000000000000000000000000000       -> -0E+6111

-- Specials
decf500 apply   Infinity                          -> #78000000000000000000000000000000
decf501 apply   #78787878787878787878787878787878 -> #78000000000000000000000000000000
decf502 apply   #78000000000000000000000000000000 -> Infinity
decf503 apply   #79797979797979797979797979797979 -> #78000000000000000000000000000000
decf504 apply   #79000000000000000000000000000000 -> Infinity
decf505 apply   #7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #78000000000000000000000000000000
decf506 apply   #7a000000000000000000000000000000 -> Infinity
decf507 apply   #7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #78000000000000000000000000000000
decf508 apply   #7b000000000000000000000000000000 -> Infinity

decf509 apply   NaN                               -> #7c000000000000000000000000000000
decf510 apply   #7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #7c003c7c7c7c7c7c7c7c7c7c7c7c7c7c
decf511 apply   #7c000000000000000000000000000000 -> NaN
decf512 apply   #7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #7c003d7d7d7d7d7d7d7d7d7d7d7d7d7d
decf513 apply   #7d000000000000000000000000000000 -> NaN
decf514 apply   #7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #7e003e7e7c7e7e7e7e7c7e7e7e7e7c7e
decf515 apply   #7e000000000000000000000000000000 -> sNaN
decf516 apply   #7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #7e003f7f7c7f7f7f7f7c7f7f7f7f7c7f
decf517 apply   #7f000000000000000000000000000000 -> sNaN
decf518 apply   #7fffffffffffffffffffffffffffffff -> sNaN999999999999999999999999999999999
decf519 apply   #7fffffffffffffffffffffffffffffff -> #7e000ff3fcff3fcff3fcff3fcff3fcff

decf520 apply   -Infinity                         -> #f8000000000000000000000000000000
decf521 apply   #f8787878787878787878787878787878 -> #f8000000000000000000000000000000
decf522 apply   #f8000000000000000000000000000000 -> -Infinity
decf523 apply   #f9797979797979797979797979797979 -> #f8000000000000000000000000000000
decf524 apply   #f9000000000000000000000000000000 -> -Infinity
decf525 apply   #fa7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a -> #f8000000000000000000000000000000
decf526 apply   #fa000000000000000000000000000000 -> -Infinity
decf527 apply   #fb7b7b7b7b7b7b7b7b7b7b7b7b7b7b7b -> #f8000000000000000000000000000000
decf528 apply   #fb000000000000000000000000000000 -> -Infinity

decf529 apply   -NaN                              -> #fc000000000000000000000000000000
decf530 apply   #fc7c7c7c7c7c7c7c7c7c7c7c7c7c7c7c -> #fc003c7c7c7c7c7c7c7c7c7c7c7c7c7c
decf531 apply   #fc000000000000000000000000000000 -> -NaN
decf532 apply   #fd7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d -> #fc003d7d7d7d7d7d7d7d7d7d7d7d7d7d
decf533 apply   #fd000000000000000000000000000000 -> -NaN
decf534 apply   #fe7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e -> #fe003e7e7c7e7e7e7e7c7e7e7e7e7c7e
decf535 apply   #fe000000000000000000000000000000 -> -sNaN
decf536 apply   #ff7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f -> #fe003f7f7c7f7f7f7f7c7f7f7f7f7c7f
decf537 apply   #ff000000000000000000000000000000 -> -sNaN
decf538 apply   #ffffffffffffffffffffffffffffffff -> -sNaN999999999999999999999999999999999
decf539 apply   #ffffffffffffffffffffffffffffffff -> #fe000ff3fcff3fcff3fcff3fcff3fcff

decf540 apply   NaN               -> #7c000000000000000000000000000000
decf541 apply   NaN0              -> #7c000000000000000000000000000000
decf542 apply   NaN1              -> #7c000000000000000000000000000001
decf543 apply   NaN12             -> #7c000000000000000000000000000012
decf544 apply   NaN79             -> #7c000000000000000000000000000079
decf545 apply   NaN12345          -> #7c0000000000000000000000000049c5
decf546 apply   NaN123456         -> #7c000000000000000000000000028e56
decf547 apply   NaN799799         -> #7c0000000000000000000000000f7fdf
decf548 apply   NaN799799799799799799799799799799799  -> #7c003dff7fdff7fdff7fdff7fdff7fdf
decf549 apply   NaN999999999999999999999999999999999  -> #7c000ff3fcff3fcff3fcff3fcff3fcff
decf550 apply   NaN1234567890123456789012345678901234 -> #7c000000000000000000000000000000  -- too many digits

-- fold-down full sequence
decf600 apply   1E+6145                 -> #78000000000000000000000000000000 Overflow Inexact Rounded
decf601 apply   1E+6144                 -> #47ffc000000000000000000000000000 Clamped
decf602 apply   #47ffc000000000000000000000000000       -> 1.000000000000000000000000000000000E+6144
decf603 apply   1E+6143                 -> #43ffc800000000000000000000000000 Clamped
decf604 apply   #43ffc800000000000000000000000000       -> 1.00000000000000000000000000000000E+6143
decf605 apply   1E+6142                 -> #43ffc100000000000000000000000000 Clamped
decf606 apply   #43ffc100000000000000000000000000       -> 1.0000000000000000000000000000000E+6142
decf607 apply   1E+6141                 -> #43ffc010000000000000000000000000 Clamped
decf608 apply   #43ffc010000000000000000000000000       -> 1.000000000000000000000000000000E+6141
decf609 apply   1E+6140                 -> #43ffc002000000000000000000000000 Clamped
decf610 apply   #43ffc002000000000000000000000000       -> 1.00000000000000000000000000000E+6140
decf611 apply   1E+6139                 -> #43ffc000400000000000000000000000 Clamped
decf612 apply   #43ffc000400000000000000000000000       -> 1.0000000000000000000000000000E+6139
decf613 apply   1E+6138                 -> #43ffc000040000000000000000000000 Clamped
decf614 apply   #43ffc000040000000000000000000000       -> 1.000000000000000000000000000E+6138
decf615 apply   1E+6137                 -> #43ffc000008000000000000000000000 Clamped
decf616 apply   #43ffc000008000000000000000000000       -> 1.00000000000000000000000000E+6137
decf617 apply   1E+6136                 -> #43ffc000001000000000000000000000 Clamped
decf618 apply   #43ffc000001000000000000000000000       -> 1.0000000000000000000000000E+6136
decf619 apply   1E+6135                 -> #43ffc000000100000000000000000000 Clamped
decf620 apply   #43ffc000000100000000000000000000       -> 1.000000000000000000000000E+6135
decf621 apply   1E+6134                 -> #43ffc000000020000000000000000000 Clamped
decf622 apply   #43ffc000000020000000000000000000       -> 1.00000000000000000000000E+6134
decf623 apply   1E+6133                 -> #43ffc000000004000000000000000000 Clamped
decf624 apply   #43ffc000000004000000000000000000       -> 1.0000000000000000000000E+6133
decf625 apply   1E+6132                 -> #43ffc000000000400000000000000000 Clamped
decf626 apply   #43ffc000000000400000000000000000       -> 1.000000000000000000000E+6132
decf627 apply   1E+6131                 -> #43ffc000000000080000000000000000 Clamped
decf628 apply   #43ffc000000000080000000000000000       -> 1.00000000000000000000E+6131
decf629 apply   1E+6130                 -> #43ffc000000000010000000000000000 Clamped
decf630 apply   #43ffc000000000010000000000000000       -> 1.0000000000000000000E+6130
decf631 apply   1E+6129                 -> #43ffc000000000001000000000000000 Clamped
decf632 apply   #43ffc000000000001000000000000000       -> 1.000000000000000000E+6129
decf633 apply   1E+6128                 -> #43ffc000000000000200000000000000 Clamped
decf634 apply   #43ffc000000000000200000000000000       -> 1.00000000000000000E+6128
decf635 apply   1E+6127                 -> #43ffc000000000000040000000000000 Clamped
decf636 apply   #43ffc000000000000040000000000000       -> 1.0000000000000000E+6127
decf637 apply   1E+6126                 -> #43ffc000000000000004000000000000 Clamped
decf638 apply   #43ffc000000000000004000000000000       -> 1.000000000000000E+6126
decf639 apply   1E+6125                 -> #43ffc000000000000000800000000000 Clamped
decf640 apply   #43ffc000000000000000800000000000       -> 1.00000000000000E+6125
decf641 apply   1E+6124                 -> #43ffc000000000000000100000000000 Clamped
decf642 apply   #43ffc000000000000000100000000000       -> 1.0000000000000E+6124
decf643 apply   1E+6123                 -> #43ffc000000000000000010000000000 Clamped
decf644 apply   #43ffc000000000000000010000000000       -> 1.000000000000E+6123
decf645 apply   1E+6122                 -> #43ffc000000000000000002000000000 Clamped
decf646 apply   #43ffc000000000000000002000000000       -> 1.00000000000E+6122
decf647 apply   1E+6121                 -> #43ffc000000000000000000400000000 Clamped
decf648 apply   #43ffc000000000000000000400000000       -> 1.0000000000E+6121
decf649 apply   1E+6120                 -> #43ffc000000000000000000040000000 Clamped
decf650 apply   #43ffc000000000000000000040000000       -> 1.000000000E+6120
decf651 apply   1E+6119                 -> #43ffc000000000000000000008000000 Clamped
decf652 apply   #43ffc000000000000000000008000000       -> 1.00000000E+6119
decf653 apply   1E+6118                 -> #43ffc000000000000000000001000000 Clamped
decf654 apply   #43ffc000000000000000000001000000       -> 1.0000000E+6118
decf655 apply   1E+6117                 -> #43ffc000000000000000000000100000 Clamped
decf656 apply   #43ffc000000000000000000000100000       -> 1.000000E+6117
decf657 apply   1E+6116                 -> #43ffc000000000000000000000020000 Clamped
decf658 apply   #43ffc000000000000000000000020000       -> 1.00000E+6116
decf659 apply   1E+6115                 -> #43ffc000000000000000000000004000 Clamped
decf660 apply   #43ffc000000000000000000000004000       -> 1.0000E+6115
decf661 apply   1E+6114                 -> #43ffc000000000000000000000000400 Clamped
decf662 apply   #43ffc000000000000000000000000400       -> 1.000E+6114
decf663 apply   1E+6113                 -> #43ffc000000000000000000000000080 Clamped
decf664 apply   #43ffc000000000000000000000000080       -> 1.00E+6113
decf665 apply   1E+6112                 -> #43ffc000000000000000000000000010 Clamped
decf666 apply   #43ffc000000000000000000000000010       -> 1.0E+6112
decf667 apply   1E+6111                 -> #43ffc000000000000000000000000001
decf668 apply   #43ffc000000000000000000000000001       -> 1E+6111
decf669 apply   1E+6110                 -> #43ff8000000000000000000000000001
decf670 apply   #43ff8000000000000000000000000001       -> 1E+6110

-- Selected DPD codes
decf700 apply   #22080000000000000000000000000000       -> 0
decf701 apply   #22080000000000000000000000000009       -> 9
decf702 apply   #22080000000000000000000000000010       -> 10
decf703 apply   #22080000000000000000000000000019       -> 19
decf704 apply   #22080000000000000000000000000020       -> 20
decf705 apply   #22080000000000000000000000000029       -> 29
decf706 apply   #22080000000000000000000000000030       -> 30
decf707 apply   #22080000000000000000000000000039       -> 39
decf708 apply   #22080000000000000000000000000040       -> 40
decf709 apply   #22080000000000000000000000000049       -> 49
decf710 apply   #22080000000000000000000000000050       -> 50
decf711 apply   #22080000000000000000000000000059       -> 59
decf712 apply   #22080000000000000000000000000060       -> 60
decf713 apply   #22080000000000000000000000000069       -> 69
decf714 apply   #22080000000000000000000000000070       -> 70
decf715 apply   #22080000000000000000000000000071       -> 71
decf716 apply   #22080000000000000000000000000072       -> 72
decf717 apply   #22080000000000000000000000000073       -> 73
decf718 apply   #22080000000000000000000000000074       -> 74
decf719 apply   #22080000000000000000000000000075       -> 75
decf720 apply   #22080000000000000000000000000076       -> 76
decf721 apply   #22080000000000000000000000000077       -> 77
decf722 apply   #22080000000000000000000000000078       -> 78
decf723 apply   #22080000000000000000000000000079       -> 79

decf730 apply   #2208000000000000000000000000029e       -> 994
decf731 apply   #2208000000000000000000000000029f       -> 995
decf732 apply   #220800000000000000000000000002a0       -> 520
decf733 apply   #220800000000000000000000000002a1       -> 521

-- DPD: one of each of the huffman groups
decf740 apply   #220800000000000000000000000003f7       -> 777
decf741 apply   #220800000000000000000000000003f8       -> 778
decf742 apply   #220800000000000000000000000003eb       -> 787
decf743 apply   #2208000000000000000000000000037d       -> 877
decf744 apply   #2208000000000000000000000000039f       -> 997
decf745 apply   #220800000000000000000000000003bf       -> 979
decf746 apply   #220800000000000000000000000003df       -> 799
decf747 apply   #2208000000000000000000000000006e       -> 888


-- DPD all-highs cases (includes the 24 redundant codes)
decf750 apply   #2208000000000000000000000000006e       -> 888
decf751 apply   #2208000000000000000000000000016e       -> 888
decf752 apply   #2208000000000000000000000000026e       -> 888
decf753 apply   #2208000000000000000000000000036e       -> 888
decf754 apply   #2208000000000000000000000000006f       -> 889
decf755 apply   #2208000000000000000000000000016f       -> 889
decf756 apply   #2208000000000000000000000000026f       -> 889
decf757 apply   #2208000000000000000000000000036f       -> 889

decf760 apply   #2208000000000000000000000000007e       -> 898
decf761 apply   #2208000000000000000000000000017e       -> 898
decf762 apply   #2208000000000000000000000000027e       -> 898
decf763 apply   #2208000000000000000000000000037e       -> 898
decf764 apply   #2208000000000000000000000000007f       -> 899
decf765 apply   #2208000000000000000000000000017f       -> 899
decf766 apply   #2208000000000000000000000000027f       -> 899
decf767 apply   #2208000000000000000000000000037f       -> 899

decf770 apply   #220800000000000000000000000000ee       -> 988
decf771 apply   #220800000000000000000000000001ee       -> 988
decf772 apply   #220800000000000000000000000002ee       -> 988
decf773 apply   #220800000000000000000000000003ee       -> 988
decf774 apply   #220800000000000000000000000000ef       -> 989
decf775 apply   #220800000000000000000000000001ef       -> 989
decf776 apply   #220800000000000000000000000002ef       -> 989
decf777 apply   #220800000000000000000000000003ef       -> 989

decf780 apply   #220800000000000000000000000000fe       -> 998
decf781 apply   #220800000000000000000000000001fe       -> 998
decf782 apply   #220800000000000000000000000002fe       -> 998
decf783 apply   #220800000000000000000000000003fe       -> 998
decf784 apply   #220800000000000000000000000000ff       -> 999
decf785 apply   #220800000000000000000000000001ff       -> 999
decf786 apply   #220800000000000000000000000002ff       -> 999
decf787 apply   #220800000000000000000000000003ff       -> 999

back to top