summaryrefslogtreecommitdiffstats
path: root/Lib/test/decimaltestdata/decimal128.decTest
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/decimaltestdata/decimal128.decTest')
-rw-r--r--Lib/test/decimaltestdata/decimal128.decTest441
1 files changed, 441 insertions, 0 deletions
diff --git a/Lib/test/decimaltestdata/decimal128.decTest b/Lib/test/decimaltestdata/decimal128.decTest
new file mode 100644
index 0000000..3cc9d06
--- /dev/null
+++ b/Lib/test/decimaltestdata/decimal128.decTest
@@ -0,0 +1,441 @@
+------------------------------------------------------------------------
+-- 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
+