[Python-checkins] python/dist/src/Lib/test/decimaltestdata decimal128.decTest, NONE, 1.1 decimal32.decTest, NONE, 1.1 abs.decTest, 1.1, 1.2 add.decTest, 1.1, 1.2 base.decTest, 1.1, 1.2 clamp.decTest, 1.1, 1.2 compare.decTest, 1.1, 1.2 decimal64.decTest, 1.1, 1.2 divide.decTest, 1.1, 1.2 divideint.decTest, 1.1, 1.2 inexact.decTest, 1.1, 1.2 max.decTest, 1.1, 1.2 min.decTest, 1.1, 1.2 minus.decTest, 1.1, 1.2 multiply.decTest, 1.1, 1.2 normalize.decTest, 1.1, 1.2 plus.decTest, 1.1, 1.2 power.decTest, 1.1, 1.2 quantize.decTest, 1.1, 1.2 randomBound32.decTest, 1.1, 1.2 randoms.decTest, 1.1, 1.2 remainder.decTest, 1.1, 1.2 remainderNear.decTest, 1.1, 1.2 rescale.decTest, 1.1, 1.2 rounding.decTest, 1.1, 1.2 samequantum.decTest, 1.1, 1.2 squareroot.decTest, 1.1, 1.2 subtract.decTest, 1.1, 1.2 testall.decTest, 1.1, 1.2 tointegral.decTest, 1.1, 1.2 trim.decTest, 1.1, 1.2

rhettinger at users.sourceforge.net rhettinger at users.sourceforge.net
Tue Aug 17 08:43:07 CEST 2004


Update of /cvsroot/python/python/dist/src/Lib/test/decimaltestdata
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19771

Modified Files:
	abs.decTest add.decTest base.decTest clamp.decTest 
	compare.decTest decimal64.decTest divide.decTest 
	divideint.decTest inexact.decTest max.decTest min.decTest 
	minus.decTest multiply.decTest normalize.decTest plus.decTest 
	power.decTest quantize.decTest randomBound32.decTest 
	randoms.decTest remainder.decTest remainderNear.decTest 
	rescale.decTest rounding.decTest samequantum.decTest 
	squareroot.decTest subtract.decTest testall.decTest 
	tointegral.decTest trim.decTest 
Added Files:
	decimal128.decTest decimal32.decTest 
Log Message:
Add two new files and update remaining tests from the latest update of the
test suite in version 2.39 of dectest.zip.



--- NEW FILE: 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 at 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


--- NEW FILE: decimal32.decTest ---
------------------------------------------------------------------------
-- decimal32.decTest -- decimal four-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 at uk.ibm.com                                                   --
------------------------------------------------------------------------
version: 2.39

-- This set of tests is for the four-byte concrete representation.
-- Its characteristics are:
--
--  1 bit  sign
--  5 bits combination field
--  6 bits exponent continuation
-- 20 bits coefficient continuation
--
-- Total exponent length 8 bits
-- Total coefficient length 24 bits (7 digits)
--
-- Elimit =  191 (maximum encoded exponent)
-- Emax   =   96 (largest exponent value)
-- Emin   =  -95 (smallest exponent value)
-- bias   =  101 (subtracted from encoded exponent) = -Etiny

extended:    1
precision:   7
rounding:    half_up
maxExponent: 96
minExponent: -95

-- General testcases
-- (mostly derived from the Strawman 4 document and examples)
decd001 apply   #A23003D0          -> -7.50
decd002 apply   -7.50              -> #A23003D0

-- Normality
decd010 apply   1234567            -> #2654d2e7
decd011 apply   1234567.0          -> #2654d2e7 Rounded
decd012 apply   1234567.1          -> #2654d2e7 Rounded Inexact
decd013 apply  -1234567            -> #a654d2e7
decd014 apply  -1234567.0          -> #a654d2e7 Rounded
decd015 apply  -1234567.1          -> #a654d2e7 Rounded Inexact


-- Nmax and similar
decd022 apply   9.999999E+96            -> #77f3fcff
decd023 apply   #77f3fcff               -> 9.999999E+96
decd024 apply   1.234567E+96            -> #47f4d2e7
decd025 apply   #47f4d2e7               -> 1.234567E+96
-- fold-downs (more below)
decd030 apply   1.23E+96                -> #47f4c000 Clamped
decd031 apply   #47f4c000               -> 1.230000E+96
decd032 apply   1E+96                   -> #47f00000 Clamped
decd033 apply   #47f00000               -> 1.000000E+96

-- overflows
maxExponent: 999   -- set high so conversion causes the overflow
minExponent: -999
decd040 apply   10E+96                  -> #78000000 Overflow Rounded Inexact
decd041 apply   1.000000E+97            -> #78000000 Overflow Rounded Inexact
maxExponent: 96
minExponent: -95

decd051 apply   12345                   -> #225049c5
decd052 apply   #225049c5               -> 12345
decd053 apply   1234                    -> #22500534
decd054 apply   #22500534               -> 1234
decd055 apply   123                     -> #225000a3
decd056 apply   #225000a3               -> 123
decd057 apply   12                      -> #22500012
decd058 apply   #22500012               -> 12
decd059 apply   1                       -> #22500001
decd060 apply   #22500001               -> 1
decd061 apply   1.23                    -> #223000a3
decd062 apply   #223000a3               -> 1.23
decd063 apply   123.45                  -> #223049c5
decd064 apply   #223049c5               -> 123.45

-- Nmin and below
decd071 apply   1E-95                   -> #00600001
decd072 apply   #00600001               -> 1E-95
decd073 apply   1.000000E-95            -> #04000000
decd074 apply   #04000000               -> 1.000000E-95
decd075 apply   1.000001E-95            -> #04000001
decd076 apply   #04000001               -> 1.000001E-95

decd077 apply   0.100000E-95            -> #00020000     Subnormal
decd07x apply   1.00000E-96             -> 1.00000E-96   Subnormal
decd078 apply   #00020000               -> 1.00000E-96   Subnormal
decd079 apply   0.000010E-95            -> #00000010     Subnormal
decd080 apply   #00000010               -> 1.0E-100      Subnormal
decd081 apply   0.000001E-95            -> #00000001     Subnormal
decd082 apply   #00000001               -> 1E-101        Subnormal
decd083 apply   1e-101                  -> #00000001     Subnormal
decd084 apply   #00000001               -> 1E-101        Subnormal
decd08x apply   1e-101                  -> 1E-101        Subnormal

-- underflows
decd090 apply   1e-101                  -> #00000001  Subnormal
decd091 apply   1.9e-101                -> #00000002  Subnormal Underflow Inexact Rounded
decd092 apply   1.1e-101                -> #00000001  Subnormal Underflow Inexact Rounded
decd093 apply   1.001e-101              -> #00000001  Subnormal Underflow Inexact Rounded
decd094 apply   1.000001e-101           -> #00000001  Subnormal Underflow Inexact Rounded
decd095 apply   1.0000001e-101          -> #00000001  Subnormal Underflow Inexact Rounded
decd096 apply   0.1e-101                -> #00000000  Subnormal Underflow Inexact Rounded
decd097 apply   0.001e-101              -> #00000000  Subnormal Underflow Inexact Rounded
decd098 apply   0.000001e-101           -> #00000000  Subnormal Underflow Inexact Rounded
decd099 apply   0.0000001e-101          -> #00000000  Subnormal Underflow Inexact Rounded

-- same again, negatives --

-- Nmax and similar
decd122 apply  -9.999999E+96            -> #f7f3fcff
decd123 apply   #f7f3fcff               -> -9.999999E+96
decd124 apply  -1.234567E+96            -> #c7f4d2e7
decd125 apply   #c7f4d2e7               -> -1.234567E+96
-- fold-downs (more below)
decd130 apply  -1.23E+96                -> #c7f4c000 Clamped
decd131 apply   #c7f4c000               -> -1.230000E+96
decd132 apply  -1E+96                   -> #c7f00000 Clamped
decd133 apply   #c7f00000               -> -1.000000E+96

-- overflows
maxExponent: 999   -- set high so conversion causes the overflow
minExponent: -999
decd140 apply  -10E+96                  -> #f8000000 Overflow Rounded Inexact
decd141 apply  -1.000000E+97            -> #f8000000 Overflow Rounded Inexact
maxExponent: 96
minExponent: -95

decd151 apply  -12345                   -> #a25049c5
decd152 apply   #a25049c5               -> -12345
decd153 apply  -1234                    -> #a2500534
decd154 apply   #a2500534               -> -1234
decd155 apply  -123                     -> #a25000a3
decd156 apply   #a25000a3               -> -123
decd157 apply  -12                      -> #a2500012
decd158 apply   #a2500012               -> -12
decd159 apply  -1                       -> #a2500001
decd160 apply   #a2500001               -> -1
decd161 apply  -1.23                    -> #a23000a3
decd162 apply   #a23000a3               -> -1.23
decd163 apply  -123.45                  -> #a23049c5
decd164 apply   #a23049c5               -> -123.45

-- Nmin and below
decd171 apply  -1E-95                   -> #80600001
decd172 apply   #80600001               -> -1E-95
decd173 apply  -1.000000E-95            -> #84000000
decd174 apply   #84000000               -> -1.000000E-95
decd175 apply  -1.000001E-95            -> #84000001
decd176 apply   #84000001               -> -1.000001E-95

decd177 apply  -0.100000E-95            -> #80020000     Subnormal
decd178 apply   #80020000               -> -1.00000E-96  Subnormal
decd179 apply  -0.000010E-95            -> #80000010     Subnormal
decd180 apply   #80000010               -> -1.0E-100     Subnormal
decd181 apply  -0.000001E-95            -> #80000001     Subnormal
decd182 apply   #80000001               -> -1E-101       Subnormal
decd183 apply  -1e-101                  -> #80000001     Subnormal
decd184 apply   #80000001               -> -1E-101       Subnormal

-- underflows
decd190 apply  -1e-101                  -> #80000001  Subnormal
decd191 apply  -1.9e-101                -> #80000002  Subnormal Underflow Inexact Rounded
decd192 apply  -1.1e-101                -> #80000001  Subnormal Underflow Inexact Rounded
decd193 apply  -1.001e-101              -> #80000001  Subnormal Underflow Inexact Rounded
decd194 apply  -1.000001e-101           -> #80000001  Subnormal Underflow Inexact Rounded
decd195 apply  -1.0000001e-101          -> #80000001  Subnormal Underflow Inexact Rounded
decd196 apply  -0.1e-101                -> #80000000  Subnormal Underflow Inexact Rounded
decd197 apply  -0.001e-101              -> #80000000  Subnormal Underflow Inexact Rounded
decd198 apply  -0.000001e-101           -> #80000000  Subnormal Underflow Inexact Rounded
decd199 apply  -0.0000001e-101          -> #80000000  Subnormal Underflow Inexact Rounded

-- zeros
decd400 apply   0E-400                  -> #00000000  Clamped
decd401 apply   0E-101                  -> #00000000
decd402 apply   #00000000               -> 0E-101
decd403 apply   0.000000E-95            -> #00000000
decd404 apply   #00000000               -> 0E-101
decd405 apply   0E-2                    -> #22300000
decd406 apply   #22300000               -> 0.00
decd407 apply   0                       -> #22500000
decd408 apply   #22500000               -> 0
decd409 apply   0E+3                    -> #22800000
decd410 apply   #22800000               -> 0E+3
decd411 apply   0E+90                   -> #43f00000
decd412 apply   #43f00000               -> 0E+90
-- clamped zeros...
decd413 apply   0E+91                   -> #43f00000  Clamped
decd414 apply   #43f00000               -> 0E+90
decd415 apply   0E+96                   -> #43f00000  Clamped
decd416 apply   #43f00000               -> 0E+90
decd417 apply   0E+400                  -> #43f00000  Clamped
decd418 apply   #43f00000               -> 0E+90

-- negative zeros
decd420 apply   -0E-400                 -> #80000000  Clamped
decd421 apply   -0E-101                 -> #80000000
decd422 apply   #80000000               -> -0E-101
decd423 apply   -0.000000E-95           -> #80000000
decd424 apply   #80000000               -> -0E-101
decd425 apply   -0E-2                   -> #a2300000
decd426 apply   #a2300000               -> -0.00
decd427 apply   -0                      -> #a2500000
decd428 apply   #a2500000               -> -0
decd429 apply   -0E+3                   -> #a2800000
decd430 apply   #a2800000               -> -0E+3
decd431 apply   -0E+90                  -> #c3f00000
decd432 apply   #c3f00000               -> -0E+90
-- clamped zeros...
decd433 apply   -0E+91                  -> #c3f00000  Clamped
decd434 apply   #c3f00000               -> -0E+90
decd435 apply   -0E+96                  -> #c3f00000  Clamped
decd436 apply   #c3f00000               -> -0E+90
decd437 apply   -0E+400                 -> #c3f00000  Clamped
decd438 apply   #c3f00000               -> -0E+90

-- Specials
decd500 apply   Infinity  -> #78000000
decd501 apply   #78787878 -> #78000000
decd502 apply   #78000000 -> Infinity
decd503 apply   #79797979 -> #78000000
decd504 apply   #79000000 -> Infinity
decd505 apply   #7a7a7a7a -> #78000000
decd506 apply   #7a000000 -> Infinity
decd507 apply   #7b7b7b7b -> #78000000
decd508 apply   #7b000000 -> Infinity
decd509 apply   #7c7c7c7c -> #7c0c7c7c

decd510 apply   NaN       -> #7c000000
decd511 apply   #7c000000 -> NaN
decd512 apply   #7d7d7d7d -> #7c0d7d7d
decd513 apply   #7d000000 -> NaN
decd514 apply   #7e7e7e7e -> #7e0e7c7e
decd515 apply   #7e000000 -> sNaN
decd516 apply   #7f7f7f7f -> #7e0f7c7f
decd517 apply   #7f000000 -> sNaN
decd518 apply   #7fffffff -> sNaN999999
decd519 apply   #7fffffff -> #7e03fcff

decd520 apply   -Infinity -> #f8000000
decd521 apply   #f8787878 -> #f8000000
decd522 apply   #f8000000 -> -Infinity
decd523 apply   #f9797979 -> #f8000000
decd524 apply   #f9000000 -> -Infinity
decd525 apply   #fa7a7a7a -> #f8000000
decd526 apply   #fa000000 -> -Infinity
decd527 apply   #fb7b7b7b -> #f8000000
decd528 apply   #fb000000 -> -Infinity

decd529 apply   -NaN      -> #fc000000
decd530 apply   #fc7c7c7c -> #fc0c7c7c
decd531 apply   #fc000000 -> -NaN
decd532 apply   #fd7d7d7d -> #fc0d7d7d
decd533 apply   #fd000000 -> -NaN
decd534 apply   #fe7e7e7e -> #fe0e7c7e
decd535 apply   #fe000000 -> -sNaN
decd536 apply   #ff7f7f7f -> #fe0f7c7f
decd537 apply   #ff000000 -> -sNaN
decd538 apply   #ffffffff -> -sNaN999999
decd539 apply   #ffffffff -> #fe03fcff

-- diagnostic NaNs
decd540 apply   NaN       -> #7c000000
decd541 apply   NaN0      -> #7c000000
decd542 apply   NaN1      -> #7c000001
decd543 apply   NaN12     -> #7c000012
decd544 apply   NaN79     -> #7c000079
decd545 apply   NaN12345   -> #7c0049c5
decd546 apply   NaN123456  -> #7c028e56
decd547 apply   NaN799799  -> #7c0f7fdf
decd548 apply   NaN999999  -> #7c03fcff
decd549 apply   NaN1234567 -> #7c000000  -- too many digits


-- fold-down full sequence
decd601 apply   1E+96                   -> #47f00000 Clamped
decd602 apply   #47f00000               -> 1.000000E+96
decd603 apply   1E+95                   -> #43f20000 Clamped
decd604 apply   #43f20000               -> 1.00000E+95
decd605 apply   1E+94                   -> #43f04000 Clamped
decd606 apply   #43f04000               -> 1.0000E+94
decd607 apply   1E+93                   -> #43f00400 Clamped
decd608 apply   #43f00400               -> 1.000E+93
decd609 apply   1E+92                   -> #43f00080 Clamped
decd610 apply   #43f00080               -> 1.00E+92
decd611 apply   1E+91                   -> #43f00010 Clamped
decd612 apply   #43f00010               -> 1.0E+91
decd613 apply   1E+90                   -> #43f00001
decd614 apply   #43f00001               -> 1E+90


-- Selected DPD codes
decd700 apply   #22500000       -> 0
decd701 apply   #22500009       -> 9
decd702 apply   #22500010       -> 10
decd703 apply   #22500019       -> 19
decd704 apply   #22500020       -> 20
decd705 apply   #22500029       -> 29
decd706 apply   #22500030       -> 30
decd707 apply   #22500039       -> 39
decd708 apply   #22500040       -> 40
decd709 apply   #22500049       -> 49
decd710 apply   #22500050       -> 50
decd711 apply   #22500059       -> 59
decd712 apply   #22500060       -> 60
decd713 apply   #22500069       -> 69
decd714 apply   #22500070       -> 70
decd715 apply   #22500071       -> 71
decd716 apply   #22500072       -> 72
decd717 apply   #22500073       -> 73
decd718 apply   #22500074       -> 74
decd719 apply   #22500075       -> 75
decd720 apply   #22500076       -> 76
decd721 apply   #22500077       -> 77
decd722 apply   #22500078       -> 78
decd723 apply   #22500079       -> 79

decd730 apply   #2250029e       -> 994
decd731 apply   #2250029f       -> 995
decd732 apply   #225002a0       -> 520
decd733 apply   #225002a1       -> 521

-- DPD: one of each of the huffman groups
decd740 apply   #225003f7       -> 777
decd741 apply   #225003f8       -> 778
decd742 apply   #225003eb       -> 787
decd743 apply   #2250037d       -> 877
decd744 apply   #2250039f       -> 997
decd745 apply   #225003bf       -> 979
decd746 apply   #225003df       -> 799
decd747 apply   #2250006e       -> 888


-- DPD all-highs cases (includes the 24 redundant codes)
decd750 apply   #2250006e       -> 888
decd751 apply   #2250016e       -> 888
decd752 apply   #2250026e       -> 888
decd753 apply   #2250036e       -> 888
decd754 apply   #2250006f       -> 889
decd755 apply   #2250016f       -> 889
decd756 apply   #2250026f       -> 889
decd757 apply   #2250036f       -> 889

decd760 apply   #2250007e       -> 898
decd761 apply   #2250017e       -> 898
decd762 apply   #2250027e       -> 898
decd763 apply   #2250037e       -> 898
decd764 apply   #2250007f       -> 899
decd765 apply   #2250017f       -> 899
decd766 apply   #2250027f       -> 899
decd767 apply   #2250037f       -> 899

decd770 apply   #225000ee       -> 988
decd771 apply   #225001ee       -> 988
decd772 apply   #225002ee       -> 988
decd773 apply   #225003ee       -> 988
decd774 apply   #225000ef       -> 989
decd775 apply   #225001ef       -> 989
decd776 apply   #225002ef       -> 989
decd777 apply   #225003ef       -> 989

decd780 apply   #225000fe       -> 998
decd781 apply   #225001fe       -> 998
decd782 apply   #225002fe       -> 998
decd783 apply   #225003fe       -> 998
decd784 apply   #225000ff       -> 999
decd785 apply   #225001ff       -> 999
decd786 apply   #225002ff       -> 999
decd787 apply   #225003ff       -> 999


Index: abs.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/abs.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** abs.decTest	1 Jul 2004 11:01:32 -0000	1.1
--- abs.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- This set of tests primarily tests the existence of the operator.
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- This set of tests primarily tests the existence of the operator.

Index: add.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/add.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** add.decTest	1 Jul 2004 11:01:32 -0000	1.1
--- add.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  precision:   9
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  precision:   9

Index: base.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/base.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** base.decTest	1 Jul 2004 11:01:32 -0000	1.1
--- base.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- This file tests base conversions from string to a decimal number
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- This file tests base conversions from string to a decimal number
***************
*** 74,92 ****
  -- String [many more examples are implicitly tested elsewhere]
  -- strings without E cannot generate E in result
! basx101 toSci "12"        -> '12'
! basx102 toSci "-76"       -> '-76'
! basx103 toSci "12.76"     -> '12.76'
! basx104 toSci "+12.76"    -> '12.76'
! basx105 toSci "012.76"    -> '12.76'
! basx106 toSci "+0.003"    -> '0.003'
! basx107 toSci "17."       -> '17'
! basx108 toSci ".5"        -> '0.5'
! basx109 toSci "044"       -> '44'
! basx110 toSci "0044"      -> '44'
! basx111 toSci "0.0005"    -> '0.0005'
! basx112 toSci "00.00005"  -> '0.00005'
! basx113 toSci "0.000005"  -> '0.000005'
! basx114 toSci "0.0000005" -> '5E-7'
! basx115 toSci "0.00000005" -> '5E-8'
  basx116 toSci "12345678.543210" -> '12345678.543210'
  basx117 toSci "2345678.543210" -> '2345678.543210'
--- 74,93 ----
  -- String [many more examples are implicitly tested elsewhere]
  -- strings without E cannot generate E in result
! basx100 toSci "12"        -> '12'
! basx101 toSci "-76"       -> '-76'
! basx102 toSci "12.76"     -> '12.76'
! basx103 toSci "+12.76"    -> '12.76'
! basx104 toSci "012.76"    -> '12.76'
! basx105 toSci "+0.003"    -> '0.003'
! basx106 toSci "17."       -> '17'
! basx107 toSci ".5"        -> '0.5'
! basx108 toSci "044"       -> '44'
! basx109 toSci "0044"      -> '44'
! basx110 toSci "0.0005"      -> '0.0005'
! basx111 toSci "00.00005"    -> '0.00005'
! basx112 toSci "0.000005"    -> '0.000005'
! basx113 toSci "0.0000050"   -> '0.0000050'
! basx114 toSci "0.0000005"   -> '5E-7'
! basx115 toSci "0.00000005"  -> '5E-8'
  basx116 toSci "12345678.543210" -> '12345678.543210'
  basx117 toSci "2345678.543210" -> '2345678.543210'
***************
*** 100,103 ****
--- 101,109 ----
  basx125 toSci "-0345678.5432"  -> '-345678.5432'
  basx126 toSci "-00345678.5432"  -> '-345678.5432'
+ -- examples
+ basx127 toSci "5E-6"        -> '0.000005'
+ basx128 toSci "50E-7"       -> '0.0000050'
+ basx129 toSci "5E-7"        -> '5E-7'
+ 
  
  -- [No exotics as no Unicode]

Index: clamp.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/clamp.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** clamp.decTest	1 Jul 2004 11:01:32 -0000	1.1
--- clamp.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- This set of tests uses the same limits as the 8-byte concrete
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- This set of tests uses the same limits as the 8-byte concrete

Index: compare.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/compare.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** compare.decTest	1 Jul 2004 11:01:32 -0000	1.1
--- compare.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- Note that we cannot assume add/subtract tests cover paths adequately,
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- Note that we cannot assume add/subtract tests cover paths adequately,

Index: decimal64.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/decimal64.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** decimal64.decTest	1 Jul 2004 11:01:32 -0000	1.1
--- decimal64.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 1,421 ****
! ------------------------------------------------------------------------
! -- decimal64.decTest -- decimal eight-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 at uk.ibm.com                                                   --
! ------------------------------------------------------------------------
! version: 2.28
! 
! -- This set of tests is for the eight-byte concrete representation.
! -- Its characteristics are:
! --
! --  1 bit  sign
! --  5 bits combination field
! --  8 bits exponent continuation
! -- 50 bits coefficient continuation
! --
! -- Total exponent length 10 bits
! -- Total coefficient length 54 bits (16 digits)
! --
! -- Elimit =  767 (maximum encoded exponent)
! -- Emax   =  384 (largest exponent value)
! -- Emin   = -383 (smallest exponent value)
! -- bias   =  398 (subtracted from encoded exponent) = -Etiny
! 
! extended:    1
! precision:   16
! rounding:    half_up
! maxExponent: 384
! minExponent: -383
! 
! -- General testcases
! -- (mostly derived from the Strawman 4 document and examples)
! dece001 apply   #A2300000000003D0 -> -7.50
! dece002 apply   -7.50             -> #A2300000000003D0
! 
! -- Normality
! dece010 apply   1234567890123456   -> #263934b9c1e28e56
! dece011 apply   1234567890123456.0 -> #263934b9c1e28e56 Rounded
! dece012 apply   1234567890123456.1 -> #263934b9c1e28e56 Rounded Inexact
! dece013 apply  -1234567890123456   -> #a63934b9c1e28e56
! dece014 apply  -1234567890123456.0 -> #a63934b9c1e28e56 Rounded
! dece015 apply  -1234567890123456.1 -> #a63934b9c1e28e56 Rounded Inexact
! 
! 
! -- Nmax and similar
! dece022 apply   9.999999999999999E+384  -> #77fcff3fcff3fcff
! dece023 apply   #77fcff3fcff3fcff       -> 9.999999999999999E+384
! dece024 apply   1.234567890123456E+384  -> #47fd34b9c1e28e56
! dece025 apply   #47fd34b9c1e28e56       -> 1.234567890123456E+384
! -- fold-downs (more below)
! dece030 apply   1.23E+384               -> #47fd300000000000 Clamped
! dece031 apply   #47fd300000000000       -> 1.230000000000000E+384
! dece032 apply   1E+384                  -> #47fc000000000000 Clamped
! dece033 apply   #47fc000000000000       -> 1.000000000000000E+384
! 
! -- overflows
! maxExponent: 999   -- set high so conversion causes the overflow
! minExponent: -999
! dece040 apply   10E+384                 -> #7800000000000000 Overflow Rounded Inexact
! dece041 apply   1.000000000000000E+385  -> #7800000000000000 Overflow Rounded Inexact
! maxExponent: 384
! minExponent: -383
! 
! dece051 apply   12345                   -> #22380000000049c5
! dece052 apply   #22380000000049c5       -> 12345
! dece053 apply   1234                    -> #2238000000000534
! dece054 apply   #2238000000000534       -> 1234
! dece055 apply   123                     -> #22380000000000a3
! dece056 apply   #22380000000000a3       -> 123
! dece057 apply   12                      -> #2238000000000012
! dece058 apply   #2238000000000012       -> 12
! dece059 apply   1                       -> #2238000000000001
! dece060 apply   #2238000000000001       -> 1
! dece061 apply   1.23                    -> #22300000000000a3
! dece062 apply   #22300000000000a3       -> 1.23
! dece063 apply   123.45                  -> #22300000000049c5
! dece064 apply   #22300000000049c5       -> 123.45
! 
! -- Nmin and below
! dece071 apply   1E-383                  -> #003c000000000001
! dece072 apply   #003c000000000001       -> 1E-383
! dece073 apply   1.000000000000000E-383  -> #0400000000000000
! dece074 apply   #0400000000000000       -> 1.000000000000000E-383
! dece075 apply   1.000000000000001E-383  -> #0400000000000001
! dece076 apply   #0400000000000001       -> 1.000000000000001E-383
! 
! dece077 apply   0.100000000000000E-383  -> #0000800000000000      Subnormal
! dece078 apply   #0000800000000000       -> 1.00000000000000E-384  Subnormal
! dece079 apply   0.000000000000010E-383  -> #0000000000000010      Subnormal
! dece080 apply   #0000000000000010       -> 1.0E-397               Subnormal
! dece081 apply   0.00000000000001E-383   -> #0004000000000001      Subnormal
! dece082 apply   #0004000000000001       -> 1E-397                 Subnormal
! dece083 apply   0.000000000000001E-383  -> #0000000000000001      Subnormal
! dece084 apply   #0000000000000001       -> 1E-398                 Subnormal
! 
! -- underflows
! dece090 apply   1e-398                  -> #0000000000000001  Subnormal
! dece091 apply   1.9e-398                -> #0000000000000002  Subnormal Underflow Inexact Rounded
! dece092 apply   1.1e-398                -> #0000000000000001  Subnormal Underflow Inexact Rounded
! dece093 apply   1.00000000001e-398      -> #0000000000000001  Subnormal Underflow Inexact Rounded
! dece094 apply   1.00000000000001e-398   -> #0000000000000001  Subnormal Underflow Inexact Rounded
! dece095 apply   1.000000000000001e-398  -> #0000000000000001  Subnormal Underflow Inexact Rounded
! dece096 apply   0.1e-398                -> #0000000000000000  Subnormal Underflow Inexact Rounded
! dece097 apply   0.00000000001e-398      -> #0000000000000000  Subnormal Underflow Inexact Rounded
! dece098 apply   0.00000000000001e-398   -> #0000000000000000  Subnormal Underflow Inexact Rounded
! dece099 apply   0.000000000000001e-398  -> #0000000000000000  Subnormal Underflow Inexact Rounded
! 
! -- Same again, negatives
! -- Nmax and similar
! dece122 apply  -9.999999999999999E+384  -> #f7fcff3fcff3fcff
! dece123 apply   #f7fcff3fcff3fcff       -> -9.999999999999999E+384
! dece124 apply  -1.234567890123456E+384  -> #c7fd34b9c1e28e56
! dece125 apply   #c7fd34b9c1e28e56       -> -1.234567890123456E+384
! -- fold-downs (more below)
! dece130 apply  -1.23E+384               -> #c7fd300000000000 Clamped
! dece131 apply   #c7fd300000000000       -> -1.230000000000000E+384
! dece132 apply  -1E+384                  -> #c7fc000000000000 Clamped
! dece133 apply   #c7fc000000000000       -> -1.000000000000000E+384
! 
! -- overflows
! maxExponent: 999   -- set high so conversion causes the overflow
! minExponent: -999
! dece140 apply  -10E+384                 -> #f800000000000000 Overflow Rounded Inexact
! dece141 apply  -1.000000000000000E+385  -> #f800000000000000 Overflow Rounded Inexact
! maxExponent: 384
! minExponent: -383
! 
! dece151 apply  -12345                   -> #a2380000000049c5
! dece152 apply   #a2380000000049c5       -> -12345
! dece153 apply  -1234                    -> #a238000000000534
! dece154 apply   #a238000000000534       -> -1234
! dece155 apply  -123                     -> #a2380000000000a3
! dece156 apply   #a2380000000000a3       -> -123
! dece157 apply  -12                      -> #a238000000000012
! dece158 apply   #a238000000000012       -> -12
! dece159 apply  -1                       -> #a238000000000001
! dece160 apply   #a238000000000001       -> -1
! dece161 apply  -1.23                    -> #a2300000000000a3
! dece162 apply   #a2300000000000a3       -> -1.23
! dece163 apply  -123.45                  -> #a2300000000049c5
! dece164 apply   #a2300000000049c5       -> -123.45
! 
! -- Nmin and below
! dece171 apply  -1E-383                  -> #803c000000000001
! dece172 apply   #803c000000000001       -> -1E-383
! dece173 apply  -1.000000000000000E-383  -> #8400000000000000
! dece174 apply   #8400000000000000       -> -1.000000000000000E-383
! dece175 apply  -1.000000000000001E-383  -> #8400000000000001
! dece176 apply   #8400000000000001       -> -1.000000000000001E-383
! 
! dece177 apply  -0.100000000000000E-383  -> #8000800000000000       Subnormal
! dece178 apply   #8000800000000000       -> -1.00000000000000E-384  Subnormal
! dece179 apply  -0.000000000000010E-383  -> #8000000000000010       Subnormal
! dece180 apply   #8000000000000010       -> -1.0E-397               Subnormal
! dece181 apply  -0.00000000000001E-383   -> #8004000000000001       Subnormal
! dece182 apply   #8004000000000001       -> -1E-397                 Subnormal
! dece183 apply  -0.000000000000001E-383  -> #8000000000000001       Subnormal
! dece184 apply   #8000000000000001       -> -1E-398                 Subnormal
! 
! -- underflows
! dece189 apply   -1e-398                 -> #8000000000000001  Subnormal
! dece190 apply   -1.0e-398               -> #8000000000000001  Subnormal Rounded
! dece191 apply   -1.9e-398               -> #8000000000000002  Subnormal Underflow Inexact Rounded
! dece192 apply   -1.1e-398               -> #8000000000000001  Subnormal Underflow Inexact Rounded
! dece193 apply   -1.00000000001e-398     -> #8000000000000001  Subnormal Underflow Inexact Rounded
! dece194 apply   -1.00000000000001e-398  -> #8000000000000001  Subnormal Underflow Inexact Rounded
! dece195 apply   -1.000000000000001e-398 -> #8000000000000001  Subnormal Underflow Inexact Rounded
! dece196 apply   -0.1e-398               -> #8000000000000000  Subnormal Underflow Inexact Rounded
! dece197 apply   -0.00000000001e-398     -> #8000000000000000  Subnormal Underflow Inexact Rounded
! dece198 apply   -0.00000000000001e-398  -> #8000000000000000  Subnormal Underflow Inexact Rounded
! dece199 apply   -0.000000000000001e-398 -> #8000000000000000  Subnormal Underflow Inexact Rounded
! 
! -- zeros
! dece401 apply   0E-500                  -> #0000000000000000  Clamped
! dece402 apply   0E-400                  -> #0000000000000000  Clamped
! dece403 apply   0E-398                  -> #0000000000000000
! dece404 apply   #0000000000000000       -> 0E-398
! dece405 apply   0.000000000000000E-383  -> #0000000000000000
! dece406 apply   #0000000000000000       -> 0E-398
! dece407 apply   0E-2                    -> #2230000000000000
! dece408 apply   #2230000000000000       -> 0.00
! dece409 apply   0                       -> #2238000000000000
! dece410 apply   #2238000000000000       -> 0
! dece411 apply   0E+3                    -> #2244000000000000
! dece412 apply   #2244000000000000       -> 0E+3
! dece413 apply   0E+369                  -> #43fc000000000000
! dece414 apply   #43fc000000000000       -> 0E+369
! -- clamped zeros...
! dece415 apply   0E+370                  -> #43fc000000000000  Clamped
! dece416 apply   #43fc000000000000       -> 0E+369
! dece417 apply   0E+384                  -> #43fc000000000000  Clamped
! dece418 apply   #43fc000000000000       -> 0E+369
! dece419 apply   0E+400                  -> #43fc000000000000  Clamped
! dece420 apply   #43fc000000000000       -> 0E+369
! dece421 apply   0E+500                  -> #43fc000000000000  Clamped
! dece422 apply   #43fc000000000000       -> 0E+369
! 
! -- negative zeros
! dece431 apply   -0E-400                 -> #8000000000000000  Clamped
! dece432 apply   -0E-400                 -> #8000000000000000  Clamped
! dece433 apply   -0E-398                 -> #8000000000000000
! dece434 apply   #8000000000000000       -> -0E-398
! dece435 apply   -0.000000000000000E-383 -> #8000000000000000
! dece436 apply   #8000000000000000       -> -0E-398
! dece437 apply   -0E-2                   -> #a230000000000000
! dece438 apply   #a230000000000000       -> -0.00
! dece439 apply   -0                      -> #a238000000000000
! dece440 apply   #a238000000000000       -> -0
! dece441 apply   -0E+3                   -> #a244000000000000
! dece442 apply   #a244000000000000       -> -0E+3
! dece443 apply   -0E+369                 -> #c3fc000000000000
! dece444 apply   #c3fc000000000000       -> -0E+369
! -- clamped zeros...
! dece445 apply   -0E+370                 -> #c3fc000000000000  Clamped
! dece446 apply   #c3fc000000000000       -> -0E+369
! dece447 apply   -0E+384                 -> #c3fc000000000000  Clamped
! dece448 apply   #c3fc000000000000       -> -0E+369
! dece449 apply   -0E+400                 -> #c3fc000000000000  Clamped
! dece450 apply   #c3fc000000000000       -> -0E+369
! dece451 apply   -0E+500                 -> #c3fc000000000000  Clamped
! dece452 apply   #c3fc000000000000       -> -0E+369
! 
! -- Specials
! dece501 apply   #7878787878787878 -> #7800000000000000
! dece502 apply   #7800000000000000 -> Infinity
! dece503 apply   #7979797979797979 -> #7800000000000000
! dece504 apply   #7900000000000000 -> Infinity
! dece505 apply   #7a7a7a7a7a7a7a7a -> #7800000000000000
! dece506 apply   #7a00000000000000 -> Infinity
! dece507 apply   #7b7b7b7b7b7b7b7b -> #7800000000000000
! dece508 apply   #7b00000000000000 -> Infinity
! dece509 apply   #7c7c7c7c7c7c7c7c -> #7dffffffffffffff
! dece510 apply   #7c00000000000000 -> NaN
! dece511 apply   #7d7d7d7d7d7d7d7d -> #7dffffffffffffff
! dece512 apply   #7d00000000000000 -> NaN
! dece513 apply   #7e7e7e7e7e7e7e7e -> #7fffffffffffffff
! dece514 apply   #7e00000000000000 -> sNaN
! dece515 apply   #7f7f7f7f7f7f7f7f -> #7fffffffffffffff
! dece516 apply   #7f00000000000000 -> sNaN
! 
! dece521 apply   #f878787878787878 -> #f800000000000000
! dece522 apply   #f800000000000000 -> -Infinity
! dece523 apply   #f979797979797979 -> #f800000000000000
! dece524 apply   #f900000000000000 -> -Infinity
! dece525 apply   #fa7a7a7a7a7a7a7a -> #f800000000000000
! dece526 apply   #fa00000000000000 -> -Infinity
! dece527 apply   #fb7b7b7b7b7b7b7b -> #f800000000000000
! dece528 apply   #fb00000000000000 -> -Infinity
! dece529 apply   #fc7c7c7c7c7c7c7c -> #7dffffffffffffff
! dece530 apply   #fc00000000000000 -> NaN
! dece531 apply   #fd7d7d7d7d7d7d7d -> #7dffffffffffffff
! dece532 apply   #fd00000000000000 -> NaN
! dece533 apply   #fe7e7e7e7e7e7e7e -> #7fffffffffffffff
! dece534 apply   #fe00000000000000 -> sNaN
! dece535 apply   #ff7f7f7f7f7f7f7f -> #7fffffffffffffff
! dece536 apply   #ff00000000000000 -> sNaN
! 
! -- fold-down full sequence
! dece601 apply   1E+384                  -> #47fc000000000000 Clamped
! dece602 apply   #47fc000000000000       -> 1.000000000000000E+384
! dece603 apply   1E+383                  -> #43fc800000000000 Clamped
! dece604 apply   #43fc800000000000       -> 1.00000000000000E+383
! dece605 apply   1E+382                  -> #43fc100000000000 Clamped
! dece606 apply   #43fc100000000000       -> 1.0000000000000E+382
! dece607 apply   1E+381                  -> #43fc010000000000 Clamped
! dece608 apply   #43fc010000000000       -> 1.000000000000E+381
! dece609 apply   1E+380                  -> #43fc002000000000 Clamped
! dece610 apply   #43fc002000000000       -> 1.00000000000E+380
! dece611 apply   1E+379                  -> #43fc000400000000 Clamped
! dece612 apply   #43fc000400000000       -> 1.0000000000E+379
! dece613 apply   1E+378                  -> #43fc000040000000 Clamped
! dece614 apply   #43fc000040000000       -> 1.000000000E+378
! dece615 apply   1E+377                  -> #43fc000008000000 Clamped
! dece616 apply   #43fc000008000000       -> 1.00000000E+377
! dece617 apply   1E+376                  -> #43fc000001000000 Clamped
! dece618 apply   #43fc000001000000       -> 1.0000000E+376
! dece619 apply   1E+375                  -> #43fc000000100000 Clamped
! dece620 apply   #43fc000000100000       -> 1.000000E+375
! dece621 apply   1E+374                  -> #43fc000000020000 Clamped
! dece622 apply   #43fc000000020000       -> 1.00000E+374
! dece623 apply   1E+373                  -> #43fc000000004000 Clamped
! dece624 apply   #43fc000000004000       -> 1.0000E+373
! dece625 apply   1E+372                  -> #43fc000000000400 Clamped
! dece626 apply   #43fc000000000400       -> 1.000E+372
! dece627 apply   1E+371                  -> #43fc000000000080 Clamped
! dece628 apply   #43fc000000000080       -> 1.00E+371
! dece629 apply   1E+370                  -> #43fc000000000010 Clamped
! dece630 apply   #43fc000000000010       -> 1.0E+370
! dece631 apply   1E+369                  -> #43fc000000000001
! dece632 apply   #43fc000000000001       -> 1E+369
! dece633 apply   1E+368                  -> #43f8000000000001
! dece634 apply   #43f8000000000001       -> 1E+368
! -- same with 9s
! dece641 apply   9E+384                  -> #77fc000000000000 Clamped
! dece642 apply   #77fc000000000000       -> 9.000000000000000E+384
! dece643 apply   9E+383                  -> #43fc8c0000000000 Clamped
! dece644 apply   #43fc8c0000000000       -> 9.00000000000000E+383
! dece645 apply   9E+382                  -> #43fc1a0000000000 Clamped
! dece646 apply   #43fc1a0000000000       -> 9.0000000000000E+382
! dece647 apply   9E+381                  -> #43fc090000000000 Clamped
! dece648 apply   #43fc090000000000       -> 9.000000000000E+381
! dece649 apply   9E+380                  -> #43fc002300000000 Clamped
! dece650 apply   #43fc002300000000       -> 9.00000000000E+380
! dece651 apply   9E+379                  -> #43fc000680000000 Clamped
! dece652 apply   #43fc000680000000       -> 9.0000000000E+379
! dece653 apply   9E+378                  -> #43fc000240000000 Clamped
! dece654 apply   #43fc000240000000       -> 9.000000000E+378
! dece655 apply   9E+377                  -> #43fc000008c00000 Clamped
! dece656 apply   #43fc000008c00000       -> 9.00000000E+377
! dece657 apply   9E+376                  -> #43fc000001a00000 Clamped
! dece658 apply   #43fc000001a00000       -> 9.0000000E+376
! dece659 apply   9E+375                  -> #43fc000000900000 Clamped
! dece660 apply   #43fc000000900000       -> 9.000000E+375
! dece661 apply   9E+374                  -> #43fc000000023000 Clamped
! dece662 apply   #43fc000000023000       -> 9.00000E+374
! dece663 apply   9E+373                  -> #43fc000000006800 Clamped
! dece664 apply   #43fc000000006800       -> 9.0000E+373
! dece665 apply   9E+372                  -> #43fc000000002400 Clamped
! dece666 apply   #43fc000000002400       -> 9.000E+372
! dece667 apply   9E+371                  -> #43fc00000000008c Clamped
! dece668 apply   #43fc00000000008c       -> 9.00E+371
! dece669 apply   9E+370                  -> #43fc00000000001a Clamped
! dece670 apply   #43fc00000000001a       -> 9.0E+370
! dece671 apply   9E+369                  -> #43fc000000000009
! dece672 apply   #43fc000000000009       -> 9E+369
! dece673 apply   9E+368                  -> #43f8000000000009
! dece674 apply   #43f8000000000009       -> 9E+368
! 
! 
! -- Selected DPD codes
! dece700 apply   #2238000000000000       -> 0
! dece701 apply   #2238000000000009       -> 9
! dece702 apply   #2238000000000010       -> 10
! dece703 apply   #2238000000000019       -> 19
! dece704 apply   #2238000000000020       -> 20
! dece705 apply   #2238000000000029       -> 29
! dece706 apply   #2238000000000030       -> 30
! dece707 apply   #2238000000000039       -> 39
! dece708 apply   #2238000000000040       -> 40
! dece709 apply   #2238000000000049       -> 49
! dece710 apply   #2238000000000050       -> 50
! dece711 apply   #2238000000000059       -> 59
! dece712 apply   #2238000000000060       -> 60
! dece713 apply   #2238000000000069       -> 69
! dece714 apply   #2238000000000070       -> 70
! dece715 apply   #2238000000000071       -> 71
! dece716 apply   #2238000000000072       -> 72
! dece717 apply   #2238000000000073       -> 73
! dece718 apply   #2238000000000074       -> 74
! dece719 apply   #2238000000000075       -> 75
! dece720 apply   #2238000000000076       -> 76
! dece721 apply   #2238000000000077       -> 77
! dece722 apply   #2238000000000078       -> 78
! dece723 apply   #2238000000000079       -> 79
! 
! dece730 apply   #223800000000029e       -> 994
! dece731 apply   #223800000000029f       -> 995
! dece732 apply   #22380000000002a0       -> 520
! dece733 apply   #22380000000002a1       -> 521
! 
! -- DPD: one of each of the huffman groups
! dece740 apply   #22380000000003f7       -> 777
! dece741 apply   #22380000000003f8       -> 778
! dece742 apply   #22380000000003eb       -> 787
! dece743 apply   #223800000000037d       -> 877
! dece744 apply   #223800000000039f       -> 997
! dece745 apply   #22380000000003bf       -> 979
! dece746 apply   #22380000000003df       -> 799
! dece747 apply   #223800000000006e       -> 888
! 
! 
! -- DPD all-highs cases (includes the 24 redundant codes)
! dece750 apply   #223800000000006e       -> 888
! dece751 apply   #223800000000016e       -> 888
! dece752 apply   #223800000000026e       -> 888
! dece753 apply   #223800000000036e       -> 888
! dece754 apply   #223800000000006f       -> 889
! dece755 apply   #223800000000016f       -> 889
! dece756 apply   #223800000000026f       -> 889
! dece757 apply   #223800000000036f       -> 889
! 
! dece760 apply   #223800000000007e       -> 898
! dece761 apply   #223800000000017e       -> 898
! dece762 apply   #223800000000027e       -> 898
! dece763 apply   #223800000000037e       -> 898
! dece764 apply   #223800000000007f       -> 899
! dece765 apply   #223800000000017f       -> 899
! dece766 apply   #223800000000027f       -> 899
! dece767 apply   #223800000000037f       -> 899
! 
! dece770 apply   #22380000000000ee       -> 988
! dece771 apply   #22380000000001ee       -> 988
! dece772 apply   #22380000000002ee       -> 988
! dece773 apply   #22380000000003ee       -> 988
! dece774 apply   #22380000000000ef       -> 989
! dece775 apply   #22380000000001ef       -> 989
! dece776 apply   #22380000000002ef       -> 989
! dece777 apply   #22380000000003ef       -> 989
! 
! dece780 apply   #22380000000000fe       -> 998
! dece781 apply   #22380000000001fe       -> 998
! dece782 apply   #22380000000002fe       -> 998
! dece783 apply   #22380000000003fe       -> 998
! dece784 apply   #22380000000000ff       -> 999
! dece785 apply   #22380000000001ff       -> 999
! dece786 apply   #22380000000002ff       -> 999
! dece787 apply   #22380000000003ff       -> 999
! 
--- 1,444 ----
! ------------------------------------------------------------------------
! -- decimal64.decTest -- decimal eight-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 at uk.ibm.com                                                   --
! ------------------------------------------------------------------------
! version: 2.39
! 
! -- This set of tests is for the eight-byte concrete representation.
! -- Its characteristics are:
! --
! --  1 bit  sign
! --  5 bits combination field
! --  8 bits exponent continuation
! -- 50 bits coefficient continuation
! --
! -- Total exponent length 10 bits
! -- Total coefficient length 54 bits (16 digits)
! --
! -- Elimit =  767 (maximum encoded exponent)
! -- Emax   =  384 (largest exponent value)
! -- Emin   = -383 (smallest exponent value)
! -- bias   =  398 (subtracted from encoded exponent) = -Etiny
! 
! extended:    1
! precision:   16
! rounding:    half_up
! maxExponent: 384
! minExponent: -383
! 
! -- General testcases
! -- (mostly derived from the Strawman 4 document and examples)
! dece001 apply   #A2300000000003D0 -> -7.50
! dece002 apply   -7.50             -> #A2300000000003D0
! 
! -- Normality
! dece010 apply   1234567890123456   -> #263934b9c1e28e56
! dece011 apply   1234567890123456.0 -> #263934b9c1e28e56 Rounded
! dece012 apply   1234567890123456.1 -> #263934b9c1e28e56 Rounded Inexact
! dece013 apply  -1234567890123456   -> #a63934b9c1e28e56
! dece014 apply  -1234567890123456.0 -> #a63934b9c1e28e56 Rounded
! dece015 apply  -1234567890123456.1 -> #a63934b9c1e28e56 Rounded Inexact
! 
! 
! -- Nmax and similar
! dece022 apply   9.999999999999999E+384  -> #77fcff3fcff3fcff
! dece023 apply   #77fcff3fcff3fcff       -> 9.999999999999999E+384
! dece024 apply   1.234567890123456E+384  -> #47fd34b9c1e28e56
! dece025 apply   #47fd34b9c1e28e56       -> 1.234567890123456E+384
! -- fold-downs (more below)
! dece030 apply   1.23E+384               -> #47fd300000000000 Clamped
! dece031 apply   #47fd300000000000       -> 1.230000000000000E+384
! dece032 apply   1E+384                  -> #47fc000000000000 Clamped
! dece033 apply   #47fc000000000000       -> 1.000000000000000E+384
! 
! -- overflows
! maxExponent: 999   -- set high so conversion causes the overflow
! minExponent: -999
! dece040 apply   10E+384                 -> #7800000000000000 Overflow Rounded Inexact
! dece041 apply   1.000000000000000E+385  -> #7800000000000000 Overflow Rounded Inexact
! maxExponent: 384
! minExponent: -383
! 
! dece051 apply   12345                   -> #22380000000049c5
! dece052 apply   #22380000000049c5       -> 12345
! dece053 apply   1234                    -> #2238000000000534
! dece054 apply   #2238000000000534       -> 1234
! dece055 apply   123                     -> #22380000000000a3
! dece056 apply   #22380000000000a3       -> 123
! dece057 apply   12                      -> #2238000000000012
! dece058 apply   #2238000000000012       -> 12
! dece059 apply   1                       -> #2238000000000001
! dece060 apply   #2238000000000001       -> 1
! dece061 apply   1.23                    -> #22300000000000a3
! dece062 apply   #22300000000000a3       -> 1.23
! dece063 apply   123.45                  -> #22300000000049c5
! dece064 apply   #22300000000049c5       -> 123.45
! 
! -- Nmin and below
! dece071 apply   1E-383                  -> #003c000000000001
! dece072 apply   #003c000000000001       -> 1E-383
! dece073 apply   1.000000000000000E-383  -> #0400000000000000
! dece074 apply   #0400000000000000       -> 1.000000000000000E-383
! dece075 apply   1.000000000000001E-383  -> #0400000000000001
! dece076 apply   #0400000000000001       -> 1.000000000000001E-383
! 
! dece077 apply   0.100000000000000E-383  -> #0000800000000000      Subnormal
! dece078 apply   #0000800000000000       -> 1.00000000000000E-384  Subnormal
! dece079 apply   0.000000000000010E-383  -> #0000000000000010      Subnormal
! dece080 apply   #0000000000000010       -> 1.0E-397               Subnormal
! dece081 apply   0.00000000000001E-383   -> #0004000000000001      Subnormal
! dece082 apply   #0004000000000001       -> 1E-397                 Subnormal
! dece083 apply   0.000000000000001E-383  -> #0000000000000001      Subnormal
! dece084 apply   #0000000000000001       -> 1E-398                 Subnormal
! 
! -- underflows
! dece090 apply   1e-398                  -> #0000000000000001  Subnormal
! dece091 apply   1.9e-398                -> #0000000000000002  Subnormal Underflow Inexact Rounded
! dece092 apply   1.1e-398                -> #0000000000000001  Subnormal Underflow Inexact Rounded
! dece093 apply   1.00000000001e-398      -> #0000000000000001  Subnormal Underflow Inexact Rounded
! dece094 apply   1.00000000000001e-398   -> #0000000000000001  Subnormal Underflow Inexact Rounded
! dece095 apply   1.000000000000001e-398  -> #0000000000000001  Subnormal Underflow Inexact Rounded
! dece096 apply   0.1e-398                -> #0000000000000000  Subnormal Underflow Inexact Rounded
! dece097 apply   0.00000000001e-398      -> #0000000000000000  Subnormal Underflow Inexact Rounded
! dece098 apply   0.00000000000001e-398   -> #0000000000000000  Subnormal Underflow Inexact Rounded
! dece099 apply   0.000000000000001e-398  -> #0000000000000000  Subnormal Underflow Inexact Rounded
! 
! -- Same again, negatives
! -- Nmax and similar
! dece122 apply  -9.999999999999999E+384  -> #f7fcff3fcff3fcff
! dece123 apply   #f7fcff3fcff3fcff       -> -9.999999999999999E+384
! dece124 apply  -1.234567890123456E+384  -> #c7fd34b9c1e28e56
! dece125 apply   #c7fd34b9c1e28e56       -> -1.234567890123456E+384
! -- fold-downs (more below)
! dece130 apply  -1.23E+384               -> #c7fd300000000000 Clamped
! dece131 apply   #c7fd300000000000       -> -1.230000000000000E+384
! dece132 apply  -1E+384                  -> #c7fc000000000000 Clamped
! dece133 apply   #c7fc000000000000       -> -1.000000000000000E+384
! 
! -- overflows
! maxExponent: 999   -- set high so conversion causes the overflow
! minExponent: -999
! dece140 apply  -10E+384                 -> #f800000000000000 Overflow Rounded Inexact
! dece141 apply  -1.000000000000000E+385  -> #f800000000000000 Overflow Rounded Inexact
! maxExponent: 384
! minExponent: -383
! 
! dece151 apply  -12345                   -> #a2380000000049c5
! dece152 apply   #a2380000000049c5       -> -12345
! dece153 apply  -1234                    -> #a238000000000534
! dece154 apply   #a238000000000534       -> -1234
! dece155 apply  -123                     -> #a2380000000000a3
! dece156 apply   #a2380000000000a3       -> -123
! dece157 apply  -12                      -> #a238000000000012
! dece158 apply   #a238000000000012       -> -12
! dece159 apply  -1                       -> #a238000000000001
! dece160 apply   #a238000000000001       -> -1
! dece161 apply  -1.23                    -> #a2300000000000a3
! dece162 apply   #a2300000000000a3       -> -1.23
! dece163 apply  -123.45                  -> #a2300000000049c5
! dece164 apply   #a2300000000049c5       -> -123.45
! 
! -- Nmin and below
! dece171 apply  -1E-383                  -> #803c000000000001
! dece172 apply   #803c000000000001       -> -1E-383
! dece173 apply  -1.000000000000000E-383  -> #8400000000000000
! dece174 apply   #8400000000000000       -> -1.000000000000000E-383
! dece175 apply  -1.000000000000001E-383  -> #8400000000000001
! dece176 apply   #8400000000000001       -> -1.000000000000001E-383
! 
! dece177 apply  -0.100000000000000E-383  -> #8000800000000000       Subnormal
! dece178 apply   #8000800000000000       -> -1.00000000000000E-384  Subnormal
! dece179 apply  -0.000000000000010E-383  -> #8000000000000010       Subnormal
! dece180 apply   #8000000000000010       -> -1.0E-397               Subnormal
! dece181 apply  -0.00000000000001E-383   -> #8004000000000001       Subnormal
! dece182 apply   #8004000000000001       -> -1E-397                 Subnormal
! dece183 apply  -0.000000000000001E-383  -> #8000000000000001       Subnormal
! dece184 apply   #8000000000000001       -> -1E-398                 Subnormal
! 
! -- underflows
! dece189 apply   -1e-398                 -> #8000000000000001  Subnormal
! dece190 apply   -1.0e-398               -> #8000000000000001  Subnormal Rounded
! dece191 apply   -1.9e-398               -> #8000000000000002  Subnormal Underflow Inexact Rounded
! dece192 apply   -1.1e-398               -> #8000000000000001  Subnormal Underflow Inexact Rounded
! dece193 apply   -1.00000000001e-398     -> #8000000000000001  Subnormal Underflow Inexact Rounded
! dece194 apply   -1.00000000000001e-398  -> #8000000000000001  Subnormal Underflow Inexact Rounded
! dece195 apply   -1.000000000000001e-398 -> #8000000000000001  Subnormal Underflow Inexact Rounded
! dece196 apply   -0.1e-398               -> #8000000000000000  Subnormal Underflow Inexact Rounded
! dece197 apply   -0.00000000001e-398     -> #8000000000000000  Subnormal Underflow Inexact Rounded
! dece198 apply   -0.00000000000001e-398  -> #8000000000000000  Subnormal Underflow Inexact Rounded
! dece199 apply   -0.000000000000001e-398 -> #8000000000000000  Subnormal Underflow Inexact Rounded
! 
! -- zeros
! dece401 apply   0E-500                  -> #0000000000000000  Clamped
! dece402 apply   0E-400                  -> #0000000000000000  Clamped
! dece403 apply   0E-398                  -> #0000000000000000
! dece404 apply   #0000000000000000       -> 0E-398
! dece405 apply   0.000000000000000E-383  -> #0000000000000000
! dece406 apply   #0000000000000000       -> 0E-398
! dece407 apply   0E-2                    -> #2230000000000000
! dece408 apply   #2230000000000000       -> 0.00
! dece409 apply   0                       -> #2238000000000000
! dece410 apply   #2238000000000000       -> 0
! dece411 apply   0E+3                    -> #2244000000000000
! dece412 apply   #2244000000000000       -> 0E+3
! dece413 apply   0E+369                  -> #43fc000000000000
! dece414 apply   #43fc000000000000       -> 0E+369
! -- clamped zeros...
! dece415 apply   0E+370                  -> #43fc000000000000  Clamped
! dece416 apply   #43fc000000000000       -> 0E+369
! dece417 apply   0E+384                  -> #43fc000000000000  Clamped
! dece418 apply   #43fc000000000000       -> 0E+369
! dece419 apply   0E+400                  -> #43fc000000000000  Clamped
! dece420 apply   #43fc000000000000       -> 0E+369
! dece421 apply   0E+500                  -> #43fc000000000000  Clamped
! dece422 apply   #43fc000000000000       -> 0E+369
! 
! -- negative zeros
! dece431 apply   -0E-400                 -> #8000000000000000  Clamped
! dece432 apply   -0E-400                 -> #8000000000000000  Clamped
! dece433 apply   -0E-398                 -> #8000000000000000
! dece434 apply   #8000000000000000       -> -0E-398
! dece435 apply   -0.000000000000000E-383 -> #8000000000000000
! dece436 apply   #8000000000000000       -> -0E-398
! dece437 apply   -0E-2                   -> #a230000000000000
! dece438 apply   #a230000000000000       -> -0.00
! dece439 apply   -0                      -> #a238000000000000
! dece440 apply   #a238000000000000       -> -0
! dece441 apply   -0E+3                   -> #a244000000000000
! dece442 apply   #a244000000000000       -> -0E+3
! dece443 apply   -0E+369                 -> #c3fc000000000000
! dece444 apply   #c3fc000000000000       -> -0E+369
! -- clamped zeros...
! dece445 apply   -0E+370                 -> #c3fc000000000000  Clamped
! dece446 apply   #c3fc000000000000       -> -0E+369
! dece447 apply   -0E+384                 -> #c3fc000000000000  Clamped
! dece448 apply   #c3fc000000000000       -> -0E+369
! dece449 apply   -0E+400                 -> #c3fc000000000000  Clamped
! dece450 apply   #c3fc000000000000       -> -0E+369
! dece451 apply   -0E+500                 -> #c3fc000000000000  Clamped
! dece452 apply   #c3fc000000000000       -> -0E+369
! 
! -- Specials
! dece500 apply   Infinity          -> #7800000000000000
! dece501 apply   #7878787878787878 -> #7800000000000000
! dece502 apply   #7800000000000000 -> Infinity
! dece503 apply   #7979797979797979 -> #7800000000000000
! dece504 apply   #7900000000000000 -> Infinity
! dece505 apply   #7a7a7a7a7a7a7a7a -> #7800000000000000
! dece506 apply   #7a00000000000000 -> Infinity
! dece507 apply   #7b7b7b7b7b7b7b7b -> #7800000000000000
! dece508 apply   #7b00000000000000 -> Infinity
! 
! dece509 apply   NaN               -> #7c00000000000000
! dece510 apply   #7c7c7c7c7c7c7c7c -> #7c007c7c7c7c7c7c
! dece511 apply   #7c00000000000000 -> NaN
! dece512 apply   #7d7d7d7d7d7d7d7d -> #7c017d7d7d7d7d7d
! dece513 apply   #7d00000000000000 -> NaN
! dece514 apply   #7e7e7e7e7e7e7e7e -> #7e007e7e7e7e7c7e
! dece515 apply   #7e00000000000000 -> sNaN
! dece516 apply   #7f7f7f7f7f7f7f7f -> #7e007f7f7f7f7c7f
! dece517 apply   #7f00000000000000 -> sNaN
! dece518 apply   #7fffffffffffffff -> sNaN999999999999999
! dece519 apply   #7fffffffffffffff -> #7e00ff3fcff3fcff
! 
! dece520 apply   -Infinity         -> #f800000000000000
! dece521 apply   #f878787878787878 -> #f800000000000000
! dece522 apply   #f800000000000000 -> -Infinity
! dece523 apply   #f979797979797979 -> #f800000000000000
! dece524 apply   #f900000000000000 -> -Infinity
! dece525 apply   #fa7a7a7a7a7a7a7a -> #f800000000000000
! dece526 apply   #fa00000000000000 -> -Infinity
! dece527 apply   #fb7b7b7b7b7b7b7b -> #f800000000000000
! dece528 apply   #fb00000000000000 -> -Infinity
! 
! dece529 apply   -NaN              -> #fc00000000000000
! dece530 apply   #fc7c7c7c7c7c7c7c -> #fc007c7c7c7c7c7c
! dece531 apply   #fc00000000000000 -> -NaN
! dece532 apply   #fd7d7d7d7d7d7d7d -> #fc017d7d7d7d7d7d
! dece533 apply   #fd00000000000000 -> -NaN
! dece534 apply   #fe7e7e7e7e7e7e7e -> #fe007e7e7e7e7c7e
! dece535 apply   #fe00000000000000 -> -sNaN
! dece536 apply   #ff7f7f7f7f7f7f7f -> #fe007f7f7f7f7c7f
! dece537 apply   #ff00000000000000 -> -sNaN
! dece538 apply   #ffffffffffffffff -> -sNaN999999999999999
! dece539 apply   #ffffffffffffffff -> #fe00ff3fcff3fcff
! 
! -- diagnostic NaNs
! dece540 apply   NaN                 -> #7c00000000000000
! dece541 apply   NaN0                -> #7c00000000000000
! dece542 apply   NaN1                -> #7c00000000000001
! dece543 apply   NaN12               -> #7c00000000000012
! dece544 apply   NaN79               -> #7c00000000000079
! dece545 apply   NaN12345            -> #7c000000000049c5
! dece546 apply   NaN123456           -> #7c00000000028e56
! dece547 apply   NaN799799           -> #7c000000000f7fdf
! dece548 apply   NaN799799799799799  -> #7c03dff7fdff7fdf
! dece549 apply   NaN999999999999999  -> #7c00ff3fcff3fcff
! dece550 apply   NaN1234567890123456 -> #7c00000000000000  -- too many digits
! 
! -- fold-down full sequence
! dece601 apply   1E+384                  -> #47fc000000000000 Clamped
! dece602 apply   #47fc000000000000       -> 1.000000000000000E+384
! dece603 apply   1E+383                  -> #43fc800000000000 Clamped
! dece604 apply   #43fc800000000000       -> 1.00000000000000E+383
! dece605 apply   1E+382                  -> #43fc100000000000 Clamped
! dece606 apply   #43fc100000000000       -> 1.0000000000000E+382
! dece607 apply   1E+381                  -> #43fc010000000000 Clamped
! dece608 apply   #43fc010000000000       -> 1.000000000000E+381
! dece609 apply   1E+380                  -> #43fc002000000000 Clamped
! dece610 apply   #43fc002000000000       -> 1.00000000000E+380
! dece611 apply   1E+379                  -> #43fc000400000000 Clamped
! dece612 apply   #43fc000400000000       -> 1.0000000000E+379
! dece613 apply   1E+378                  -> #43fc000040000000 Clamped
! dece614 apply   #43fc000040000000       -> 1.000000000E+378
! dece615 apply   1E+377                  -> #43fc000008000000 Clamped
! dece616 apply   #43fc000008000000       -> 1.00000000E+377
! dece617 apply   1E+376                  -> #43fc000001000000 Clamped
! dece618 apply   #43fc000001000000       -> 1.0000000E+376
! dece619 apply   1E+375                  -> #43fc000000100000 Clamped
! dece620 apply   #43fc000000100000       -> 1.000000E+375
! dece621 apply   1E+374                  -> #43fc000000020000 Clamped
! dece622 apply   #43fc000000020000       -> 1.00000E+374
! dece623 apply   1E+373                  -> #43fc000000004000 Clamped
! dece624 apply   #43fc000000004000       -> 1.0000E+373
! dece625 apply   1E+372                  -> #43fc000000000400 Clamped
! dece626 apply   #43fc000000000400       -> 1.000E+372
! dece627 apply   1E+371                  -> #43fc000000000080 Clamped
! dece628 apply   #43fc000000000080       -> 1.00E+371
! dece629 apply   1E+370                  -> #43fc000000000010 Clamped
! dece630 apply   #43fc000000000010       -> 1.0E+370
! dece631 apply   1E+369                  -> #43fc000000000001
! dece632 apply   #43fc000000000001       -> 1E+369
! dece633 apply   1E+368                  -> #43f8000000000001
! dece634 apply   #43f8000000000001       -> 1E+368
! -- same with 9s
! dece641 apply   9E+384                  -> #77fc000000000000 Clamped
! dece642 apply   #77fc000000000000       -> 9.000000000000000E+384
! dece643 apply   9E+383                  -> #43fc8c0000000000 Clamped
! dece644 apply   #43fc8c0000000000       -> 9.00000000000000E+383
! dece645 apply   9E+382                  -> #43fc1a0000000000 Clamped
! dece646 apply   #43fc1a0000000000       -> 9.0000000000000E+382
! dece647 apply   9E+381                  -> #43fc090000000000 Clamped
! dece648 apply   #43fc090000000000       -> 9.000000000000E+381
! dece649 apply   9E+380                  -> #43fc002300000000 Clamped
! dece650 apply   #43fc002300000000       -> 9.00000000000E+380
! dece651 apply   9E+379                  -> #43fc000680000000 Clamped
! dece652 apply   #43fc000680000000       -> 9.0000000000E+379
! dece653 apply   9E+378                  -> #43fc000240000000 Clamped
! dece654 apply   #43fc000240000000       -> 9.000000000E+378
! dece655 apply   9E+377                  -> #43fc000008c00000 Clamped
! dece656 apply   #43fc000008c00000       -> 9.00000000E+377
! dece657 apply   9E+376                  -> #43fc000001a00000 Clamped
! dece658 apply   #43fc000001a00000       -> 9.0000000E+376
! dece659 apply   9E+375                  -> #43fc000000900000 Clamped
! dece660 apply   #43fc000000900000       -> 9.000000E+375
! dece661 apply   9E+374                  -> #43fc000000023000 Clamped
! dece662 apply   #43fc000000023000       -> 9.00000E+374
! dece663 apply   9E+373                  -> #43fc000000006800 Clamped
! dece664 apply   #43fc000000006800       -> 9.0000E+373
! dece665 apply   9E+372                  -> #43fc000000002400 Clamped
! dece666 apply   #43fc000000002400       -> 9.000E+372
! dece667 apply   9E+371                  -> #43fc00000000008c Clamped
! dece668 apply   #43fc00000000008c       -> 9.00E+371
! dece669 apply   9E+370                  -> #43fc00000000001a Clamped
! dece670 apply   #43fc00000000001a       -> 9.0E+370
! dece671 apply   9E+369                  -> #43fc000000000009
! dece672 apply   #43fc000000000009       -> 9E+369
! dece673 apply   9E+368                  -> #43f8000000000009
! dece674 apply   #43f8000000000009       -> 9E+368
! 
! 
! -- Selected DPD codes
! dece700 apply   #2238000000000000       -> 0
! dece701 apply   #2238000000000009       -> 9
! dece702 apply   #2238000000000010       -> 10
! dece703 apply   #2238000000000019       -> 19
! dece704 apply   #2238000000000020       -> 20
! dece705 apply   #2238000000000029       -> 29
! dece706 apply   #2238000000000030       -> 30
! dece707 apply   #2238000000000039       -> 39
! dece708 apply   #2238000000000040       -> 40
! dece709 apply   #2238000000000049       -> 49
! dece710 apply   #2238000000000050       -> 50
! dece711 apply   #2238000000000059       -> 59
! dece712 apply   #2238000000000060       -> 60
! dece713 apply   #2238000000000069       -> 69
! dece714 apply   #2238000000000070       -> 70
! dece715 apply   #2238000000000071       -> 71
! dece716 apply   #2238000000000072       -> 72
! dece717 apply   #2238000000000073       -> 73
! dece718 apply   #2238000000000074       -> 74
! dece719 apply   #2238000000000075       -> 75
! dece720 apply   #2238000000000076       -> 76
! dece721 apply   #2238000000000077       -> 77
! dece722 apply   #2238000000000078       -> 78
! dece723 apply   #2238000000000079       -> 79
! 
! dece730 apply   #223800000000029e       -> 994
! dece731 apply   #223800000000029f       -> 995
! dece732 apply   #22380000000002a0       -> 520
! dece733 apply   #22380000000002a1       -> 521
! 
! -- DPD: one of each of the huffman groups
! dece740 apply   #22380000000003f7       -> 777
! dece741 apply   #22380000000003f8       -> 778
! dece742 apply   #22380000000003eb       -> 787
! dece743 apply   #223800000000037d       -> 877
! dece744 apply   #223800000000039f       -> 997
! dece745 apply   #22380000000003bf       -> 979
! dece746 apply   #22380000000003df       -> 799
! dece747 apply   #223800000000006e       -> 888
! 
! 
! -- DPD all-highs cases (includes the 24 redundant codes)
! dece750 apply   #223800000000006e       -> 888
! dece751 apply   #223800000000016e       -> 888
! dece752 apply   #223800000000026e       -> 888
! dece753 apply   #223800000000036e       -> 888
! dece754 apply   #223800000000006f       -> 889
! dece755 apply   #223800000000016f       -> 889
! dece756 apply   #223800000000026f       -> 889
! dece757 apply   #223800000000036f       -> 889
! 
! dece760 apply   #223800000000007e       -> 898
! dece761 apply   #223800000000017e       -> 898
! dece762 apply   #223800000000027e       -> 898
! dece763 apply   #223800000000037e       -> 898
! dece764 apply   #223800000000007f       -> 899
! dece765 apply   #223800000000017f       -> 899
! dece766 apply   #223800000000027f       -> 899
! dece767 apply   #223800000000037f       -> 899
! 
! dece770 apply   #22380000000000ee       -> 988
! dece771 apply   #22380000000001ee       -> 988
! dece772 apply   #22380000000002ee       -> 988
! dece773 apply   #22380000000003ee       -> 988
! dece774 apply   #22380000000000ef       -> 989
! dece775 apply   #22380000000001ef       -> 989
! dece776 apply   #22380000000002ef       -> 989
! dece777 apply   #22380000000003ef       -> 989
! 
! dece780 apply   #22380000000000fe       -> 998
! dece781 apply   #22380000000001fe       -> 998
! dece782 apply   #22380000000002fe       -> 998
! dece783 apply   #22380000000003fe       -> 998
! dece784 apply   #22380000000000ff       -> 999
! dece785 apply   #22380000000001ff       -> 999
! dece786 apply   #22380000000002ff       -> 999
! dece787 apply   #22380000000003ff       -> 999
! 

Index: divide.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/divide.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** divide.decTest	1 Jul 2004 11:01:32 -0000	1.1
--- divide.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: divideint.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/divideint.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** divideint.decTest	1 Jul 2004 11:01:32 -0000	1.1
--- divideint.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: inexact.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/inexact.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** inexact.decTest	1 Jul 2004 11:01:32 -0000	1.1
--- inexact.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: max.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/max.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** max.decTest	1 Jul 2004 11:01:33 -0000	1.1
--- max.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- we assume that base comparison is tested in compare.decTest, so
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- we assume that base comparison is tested in compare.decTest, so
***************
*** 61,82 ****
  maxx032 max   0    -0.0 ->  0
  maxx033 max   0     0.0 ->  0
! maxx034 max  -0     0   -> -0    -- note: -0 = 0
  maxx035 max  -0    -0   -> -0
! maxx036 max  -0    -0.0 -> -0
! maxx037 max  -0     0.0 -> -0
! maxx038 max   0.0   0   ->  0.0
  maxx039 max   0.0  -0   ->  0.0
  maxx040 max   0.0  -0.0 ->  0.0
  maxx041 max   0.0   0.0 ->  0.0
! maxx042 max  -0.0   0   -> -0.0
  maxx043 max  -0.0  -0   -> -0.0
  maxx044 max  -0.0  -0.0 -> -0.0
! maxx045 max  -0.0   0.0 -> -0.0
  
! maxx046 max  -0E1   0E2 -> -0E+1
! maxx047 max   0E2   0E1 ->  0E+2
! maxx048 max   0E1   0E2 ->  0E+1
! maxx049 max  -0E3  -0E2 -> -0E+3
  
  
  -- Specials
--- 61,94 ----
  maxx032 max   0    -0.0 ->  0
  maxx033 max   0     0.0 ->  0
! maxx034 max  -0     0   ->  0    -- note: -0 = 0, but 0 chosen
  maxx035 max  -0    -0   -> -0
! maxx036 max  -0    -0.0 -> -0.0
! maxx037 max  -0     0.0 ->  0.0
! maxx038 max   0.0   0   ->  0
  maxx039 max   0.0  -0   ->  0.0
  maxx040 max   0.0  -0.0 ->  0.0
  maxx041 max   0.0   0.0 ->  0.0
! maxx042 max  -0.0   0   ->  0
  maxx043 max  -0.0  -0   -> -0.0
  maxx044 max  -0.0  -0.0 -> -0.0
! maxx045 max  -0.0   0.0 ->  0.0
  
! maxx050 max  -0E1   0E1 ->  0E+1
! maxx051 max  -0E2   0E2 ->  0E+2
! maxx052 max  -0E2   0E1 ->  0E+1
! maxx053 max  -0E1   0E2 ->  0E+2
! maxx054 max   0E1  -0E1 ->  0E+1
! maxx055 max   0E2  -0E2 ->  0E+2
! maxx056 max   0E2  -0E1 ->  0E+2
! maxx057 max   0E1  -0E2 ->  0E+1
  
+ maxx058 max   0E1   0E1 ->  0E+1
+ maxx059 max   0E2   0E2 ->  0E+2
+ maxx060 max   0E2   0E1 ->  0E+2
+ maxx061 max   0E1   0E2 ->  0E+2
+ maxx062 max  -0E1  -0E1 -> -0E+1
+ maxx063 max  -0E2  -0E2 -> -0E+2
+ maxx064 max  -0E2  -0E1 -> -0E+1
+ maxx065 max  -0E1  -0E2 -> -0E+1
  
  -- Specials
***************
*** 116,136 ****
  maxx135 max  Inf  -Inf   ->  Infinity
  
! maxx141 max  NaN -Inf    ->  NaN
! maxx142 max  NaN -1000   ->  NaN
! maxx143 max  NaN -1      ->  NaN
! maxx144 max  NaN -0      ->  NaN
! maxx145 max  NaN  0      ->  NaN
! maxx146 max  NaN  1      ->  NaN
! maxx147 max  NaN  1000   ->  NaN
! maxx148 max  NaN  Inf    ->  NaN
  maxx149 max  NaN  NaN    ->  NaN
! maxx150 max -Inf  NaN    ->  NaN
! maxx151 max -1000 NaN    ->  NaN
! maxx152 max -1    NaN    ->  NaN
! maxx153 max -0    NaN    ->  NaN
! maxx154 max  0    NaN    ->  NaN
! maxx155 max  1    NaN    ->  NaN
! maxx156 max  1000 NaN    ->  NaN
! maxx157 max  Inf  NaN    ->  NaN
  
  maxx161 max  sNaN -Inf   ->  NaN  Invalid_operation
--- 128,149 ----
  maxx135 max  Inf  -Inf   ->  Infinity
  
! -- 2004.08.02 754r chooses number over NaN in mixed cases
! maxx141 max  NaN -Inf    -> -Infinity
! maxx142 max  NaN -1000   -> -1000
! maxx143 max  NaN -1      -> -1
! maxx144 max  NaN -0      -> -0
! maxx145 max  NaN  0      ->  0
! maxx146 max  NaN  1      ->  1
! maxx147 max  NaN  1000   ->  1000
! maxx148 max  NaN  Inf    ->  Infinity
  maxx149 max  NaN  NaN    ->  NaN
! maxx150 max -Inf  NaN    -> -Infinity
! maxx151 max -1000 NaN    -> -1000
! maxx152 max -1    NaN    -> -1
! maxx153 max -0    NaN    -> -0
! maxx154 max  0    NaN    ->  0
! maxx155 max  1    NaN    ->  1
! maxx156 max  1000 NaN    ->  1000
! maxx157 max  Inf  NaN    ->  Infinity
  
  maxx161 max  sNaN -Inf   ->  NaN  Invalid_operation
***************
*** 155,165 ****
  
  -- propagating NaNs
! maxx181 max  NaN9 -Inf   ->  NaN9
! maxx182 max  NaN8    9   ->  NaN8
! maxx183 max -NaN7  Inf   -> -NaN7
! maxx184 max  NaN6  NaN5  ->  NaN6
! maxx185 max -Inf   NaN4  ->  NaN4
! maxx186 max -9    -NaN3  -> -NaN3
! maxx187 max  Inf   NaN2  ->  NaN2
  
  maxx191 max  sNaN99 -Inf    ->  NaN99 Invalid_operation
--- 168,183 ----
  
  -- propagating NaNs
! maxx181 max  NaN9  -Inf   -> -Infinity
! maxx182 max  NaN8     9   ->  9
! maxx183 max -NaN7   Inf   ->  Infinity
! 
! maxx184 max -NaN1   NaN11 -> -NaN1
! maxx185 max  NaN2   NaN12 ->  NaN2
! maxx186 max -NaN13 -NaN7  -> -NaN13
! maxx187 max  NaN14 -NaN5  ->  NaN14
! 
! maxx188 max -Inf    NaN4  -> -Infinity
! maxx189 max -9     -NaN3  -> -9
! maxx190 max  Inf    NaN2  ->  Infinity
  
  maxx191 max  sNaN99 -Inf    ->  NaN99 Invalid_operation
***************
*** 219,224 ****
  maxx280 max '3'   '2'  ->  '3'
  maxx281 max '-10' '3'  ->  '3'
! maxx282 max '1.0' '1'  ->  '1.0'
  maxx283 max '1' '1.0'  ->  '1'
  
  -- overflow and underflow tests ...
--- 237,243 ----
  maxx280 max '3'   '2'  ->  '3'
  maxx281 max '-10' '3'  ->  '3'
! maxx282 max '1.0' '1'  ->  '1'
  maxx283 max '1' '1.0'  ->  '1'
+ maxx284 max '7' 'NaN'  ->  '7'
  
  -- overflow and underflow tests ...
***************
*** 256,259 ****
--- 275,335 ----
  maxx358 max -1e-777777777 -1e-411111111 -> -1E-777777777
  
+ -- expanded list from min/max 754r purple prose
+ -- [explicit tests for exponent ordering]
+ maxx401 max  Inf    1.1     ->  Infinity
+ maxx402 max  1.1    1       ->  1.1
+ maxx403 max  1      1.0     ->  1
+ maxx404 max  1.0    0.1     ->  1.0
+ maxx405 max  0.1    0.10    ->  0.1
+ maxx406 max  0.10   0.100   ->  0.10
+ maxx407 max  0.10   0       ->  0.10
+ maxx408 max  0      0.0     ->  0
+ maxx409 max  0.0   -0       ->  0.0
+ maxx410 max  0.0   -0.0     ->  0.0
+ maxx411 max  0.00  -0.0     ->  0.00
+ maxx412 max  0.0   -0.00    ->  0.0
+ maxx413 max  0     -0.0     ->  0
+ maxx414 max  0     -0       ->  0
+ maxx415 max -0.0   -0       -> -0.0
+ maxx416 max -0     -0.100   -> -0
+ maxx417 max -0.100 -0.10    -> -0.100
+ maxx418 max -0.10  -0.1     -> -0.10
+ maxx419 max -0.1   -1.0     -> -0.1
+ maxx420 max -1.0   -1       -> -1.0
+ maxx421 max -1     -1.1     -> -1
+ maxx423 max -1.1   -Inf     -> -1.1
+ -- same with operands reversed
+ maxx431 max  1.1    Inf     ->  Infinity
+ maxx432 max  1      1.1     ->  1.1
+ maxx433 max  1.0    1       ->  1
+ maxx434 max  0.1    1.0     ->  1.0
+ maxx435 max  0.10   0.1     ->  0.1
+ maxx436 max  0.100  0.10    ->  0.10
+ maxx437 max  0      0.10    ->  0.10
+ maxx438 max  0.0    0       ->  0
+ maxx439 max -0      0.0     ->  0.0
+ maxx440 max -0.0    0.0     ->  0.0
+ maxx441 max -0.0    0.00    ->  0.00
+ maxx442 max -0.00   0.0     ->  0.0
+ maxx443 max -0.0    0       ->  0
+ maxx444 max -0      0       ->  0
+ maxx445 max -0     -0.0     -> -0.0
+ maxx446 max -0.100 -0       -> -0
+ maxx447 max -0.10  -0.100   -> -0.100
+ maxx448 max -0.1   -0.10    -> -0.10
+ maxx449 max -1.0   -0.1     -> -0.1
+ maxx450 max -1     -1.0     -> -1.0
+ maxx451 max -1.1   -1       -> -1
+ maxx453 max -Inf   -1.1     -> -1.1
+ -- largies
+ maxx460 max  1000   1E+3    ->  1E+3
+ maxx461 max  1E+3   1000    ->  1E+3
+ maxx462 max  1000  -1E+3    ->  1000
+ maxx463 max  1E+3  -1000    ->  1E+3
+ maxx464 max -1000   1E+3    ->  1E+3
+ maxx465 max -1E+3   1000    ->  1000
+ maxx466 max -1000  -1E+3    -> -1000
+ maxx467 max -1E+3  -1000    -> -1000
+ 
  
  -- overflow tests
***************
*** 261,266 ****
  minexponent: -999999999
  precision: 3
! maxx400 max 9.999E+999999999  0 ->  Infinity Inexact Overflow Rounded
! maxx401 max -9.999E+999999999 0 ->  0
  
  -- subnormals and underflow
--- 337,342 ----
  minexponent: -999999999
  precision: 3
! maxx500 max 9.999E+999999999  0 ->  Infinity Inexact Overflow Rounded
! maxx501 max -9.999E+999999999 0 ->  0
  
  -- subnormals and underflow
***************
*** 268,295 ****
  maxexponent: 999
  minexponent: -999
! maxx410 max  1.00E-999       0  ->   1.00E-999
! maxx411 max  0.1E-999        0  ->   1E-1000   Subnormal
! maxx412 max  0.10E-999       0  ->   1.0E-1000 Subnormal
! maxx413 max  0.100E-999      0  ->   1.0E-1000 Subnormal Rounded
! maxx414 max  0.01E-999       0  ->   1E-1001   Subnormal
  -- next is rounded to Emin
! maxx415 max  0.999E-999      0  ->   1.00E-999 Inexact Rounded Subnormal Underflow
! maxx416 max  0.099E-999      0  ->   1.0E-1000 Inexact Rounded Subnormal Underflow
! maxx417 max  0.009E-999      0  ->   1E-1001   Inexact Rounded Subnormal Underflow
! maxx418 max  0.001E-999      0  ->   0E-1001   Inexact Rounded Subnormal Underflow
! maxx419 max  0.0009E-999     0  ->   0E-1001   Inexact Rounded Subnormal Underflow
! maxx420 max  0.0001E-999     0  ->   0E-1001   Inexact Rounded Subnormal Underflow
  
! maxx430 max -1.00E-999       0  ->   0
! maxx431 max -0.1E-999        0  ->   0
! maxx432 max -0.10E-999       0  ->   0
! maxx433 max -0.100E-999      0  ->   0
! maxx434 max -0.01E-999       0  ->   0
! maxx435 max -0.999E-999      0  ->   0
! maxx436 max -0.099E-999      0  ->   0
! maxx437 max -0.009E-999      0  ->   0
! maxx438 max -0.001E-999      0  ->   0
! maxx439 max -0.0009E-999     0  ->   0
! maxx440 max -0.0001E-999     0  ->   0
  
  -- Null tests
--- 344,371 ----
  maxexponent: 999
  minexponent: -999
! maxx510 max  1.00E-999       0  ->   1.00E-999
! maxx511 max  0.1E-999        0  ->   1E-1000   Subnormal
! maxx512 max  0.10E-999       0  ->   1.0E-1000 Subnormal
! maxx513 max  0.100E-999      0  ->   1.0E-1000 Subnormal Rounded
! maxx514 max  0.01E-999       0  ->   1E-1001   Subnormal
  -- next is rounded to Emin
! maxx515 max  0.999E-999      0  ->   1.00E-999 Inexact Rounded Subnormal Underflow
! maxx516 max  0.099E-999      0  ->   1.0E-1000 Inexact Rounded Subnormal Underflow
! maxx517 max  0.009E-999      0  ->   1E-1001   Inexact Rounded Subnormal Underflow
! maxx518 max  0.001E-999      0  ->   0E-1001   Inexact Rounded Subnormal Underflow
! maxx519 max  0.0009E-999     0  ->   0E-1001   Inexact Rounded Subnormal Underflow
! maxx520 max  0.0001E-999     0  ->   0E-1001   Inexact Rounded Subnormal Underflow
  
! maxx530 max -1.00E-999       0  ->   0
! maxx531 max -0.1E-999        0  ->   0
! maxx532 max -0.10E-999       0  ->   0
! maxx533 max -0.100E-999      0  ->   0
! maxx534 max -0.01E-999       0  ->   0
! maxx535 max -0.999E-999      0  ->   0
! maxx536 max -0.099E-999      0  ->   0
! maxx537 max -0.009E-999      0  ->   0
! maxx538 max -0.001E-999      0  ->   0
! maxx539 max -0.0009E-999     0  ->   0
! maxx540 max -0.0001E-999     0  ->   0
  
  -- Null tests

Index: min.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/min.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** min.decTest	1 Jul 2004 11:01:33 -0000	1.1
--- min.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- we assume that base comparison is tested in compare.decTest, so
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- we assume that base comparison is tested in compare.decTest, so
***************
*** 58,64 ****
  -- extended zeros
  mnmx030 min   0     0   ->  0
! mnmx031 min   0    -0   ->  0
! mnmx032 min   0    -0.0 ->  0
! mnmx033 min   0     0.0 ->  0
  mnmx034 min  -0     0   -> -0
  mnmx035 min  -0    -0   -> -0
--- 58,64 ----
  -- extended zeros
  mnmx030 min   0     0   ->  0
! mnmx031 min   0    -0   -> -0
! mnmx032 min   0    -0.0 -> -0.0
! mnmx033 min   0     0.0 ->  0.0
  mnmx034 min  -0     0   -> -0
  mnmx035 min  -0    -0   -> -0
***************
*** 66,81 ****
  mnmx037 min  -0     0.0 -> -0
  mnmx038 min   0.0   0   ->  0.0
! mnmx039 min   0.0  -0   ->  0.0
! mnmx040 min   0.0  -0.0 ->  0.0
  mnmx041 min   0.0   0.0 ->  0.0
  mnmx042 min  -0.0   0   -> -0.0
! mnmx043 min  -0.0  -0   -> -0.0
  mnmx044 min  -0.0  -0.0 -> -0.0
  mnmx045 min  -0.0   0.0 -> -0.0
  
! mnmx046 min  -0E1   0E2 -> -0E+1
! mnmx047 min   0E2   0E1 ->  0E+2
! mnmx048 min   0E1   0E2 ->  0E+1
! mnmx049 min  -0E3  -0E2 -> -0E+3
  
  -- Specials
--- 66,83 ----
  mnmx037 min  -0     0.0 -> -0
  mnmx038 min   0.0   0   ->  0.0
! mnmx039 min   0.0  -0   -> -0
! mnmx040 min   0.0  -0.0 -> -0.0
  mnmx041 min   0.0   0.0 ->  0.0
  mnmx042 min  -0.0   0   -> -0.0
! mnmx043 min  -0.0  -0   -> -0
  mnmx044 min  -0.0  -0.0 -> -0.0
  mnmx045 min  -0.0   0.0 -> -0.0
  
! mnmx046 min   0E1  -0E1 -> -0E+1
! mnmx047 min  -0E1   0E2 -> -0E+1
! mnmx048 min   0E2   0E1 ->  0E+1
! mnmx049 min   0E1   0E2 ->  0E+1
! mnmx050 min  -0E3  -0E2 -> -0E+3
! mnmx051 min  -0E2  -0E3 -> -0E+3
  
  -- Specials
***************
*** 115,135 ****
  mnmx135 min  Inf  -Inf   -> -Infinity
  
! mnmx141 min  NaN -Inf    ->  NaN
! mnmx142 min  NaN -1000   ->  NaN
! mnmx143 min  NaN -1      ->  NaN
! mnmx144 min  NaN -0      ->  NaN
! mnmx145 min  NaN  0      ->  NaN
! mnmx146 min  NaN  1      ->  NaN
! mnmx147 min  NaN  1000   ->  NaN
! mnmx148 min  NaN  Inf    ->  NaN
  mnmx149 min  NaN  NaN    ->  NaN
! mnmx150 min -Inf  NaN    ->  NaN
! mnmx151 min -1000 NaN    ->  NaN
! mnmx152 min -1   -NaN    -> -NaN
! mnmx153 min -0    NaN    ->  NaN
! mnmx154 min  0   -NaN    -> -NaN
! mnmx155 min  1    NaN    ->  NaN
! mnmx156 min  1000 NaN    ->  NaN
! mnmx157 min  Inf  NaN    ->  NaN
  
  mnmx161 min  sNaN -Inf   ->  NaN  Invalid_operation
--- 117,138 ----
  mnmx135 min  Inf  -Inf   -> -Infinity
  
! -- 2004.08.02 754r chooses number over NaN in mixed cases
! mnmx141 min  NaN -Inf    ->  -Infinity
! mnmx142 min  NaN -1000   ->  -1000
! mnmx143 min  NaN -1      ->  -1
! mnmx144 min  NaN -0      ->  -0
! mnmx145 min  NaN  0      ->  0
! mnmx146 min  NaN  1      ->  1
! mnmx147 min  NaN  1000   ->  1000
! mnmx148 min  NaN  Inf    ->  Infinity
  mnmx149 min  NaN  NaN    ->  NaN
! mnmx150 min -Inf  NaN    -> -Infinity
! mnmx151 min -1000 NaN    -> -1000
! mnmx152 min -1   -NaN    -> -1
! mnmx153 min -0    NaN    -> -0
! mnmx154 min  0   -NaN    ->  0
! mnmx155 min  1    NaN    ->  1
! mnmx156 min  1000 NaN    ->  1000
! mnmx157 min  Inf  NaN    ->  Infinity
  
  mnmx161 min  sNaN -Inf   ->  NaN  Invalid_operation
***************
*** 154,168 ****
  
  -- propagating NaNs
! mnmx181 min  NaN9 -Inf   ->  NaN9
! mnmx182 min -NaN8  9990  -> -NaN8
! mnmx183 min  NaN71 Inf   ->  NaN71
! mnmx184 min  NaN6  NaN51 ->  NaN6
! mnmx185 min -Inf   NaN41 ->  NaN41
! mnmx186 min -9999 -NaN33 -> -NaN33
! mnmx187 min  Inf   NaN2  ->  NaN2
  
  mnmx191 min  sNaN99 -Inf    ->  NaN99 Invalid_operation
  mnmx192 min  sNaN98 -11     ->  NaN98 Invalid_operation
! mnmx193 min -sNaN97  NaN    -> -NaN97 Invalid_operation
  mnmx194 min  sNaN69 sNaN94  ->  NaN69 Invalid_operation
  mnmx195 min  NaN95  sNaN93  ->  NaN93 Invalid_operation
--- 157,176 ----
  
  -- propagating NaNs
! mnmx181 min  NaN9   -Inf   -> -Infinity
! mnmx182 min -NaN8    9990  ->  9990
! mnmx183 min  NaN71   Inf   ->  Infinity
! 
! mnmx184 min  NaN1    NaN54 ->  NaN1
! mnmx185 min  NaN22  -NaN53 ->  NaN22
! mnmx186 min -NaN3    NaN6  -> -NaN3
! mnmx187 min -NaN44   NaN7  -> -NaN44
! 
! mnmx188 min -Inf     NaN41 -> -Infinity
! mnmx189 min -9999   -NaN33 -> -9999
! mnmx190 min  Inf     NaN2  ->  Infinity
  
  mnmx191 min  sNaN99 -Inf    ->  NaN99 Invalid_operation
  mnmx192 min  sNaN98 -11     ->  NaN98 Invalid_operation
! mnmx193 min -sNaN97  NaN8   -> -NaN97 Invalid_operation
  mnmx194 min  sNaN69 sNaN94  ->  NaN69 Invalid_operation
  mnmx195 min  NaN95  sNaN93  ->  NaN93 Invalid_operation
***************
*** 219,223 ****
  mnmx281 min '-10' '3'  ->  '-10'
  mnmx282 min '1.0' '1'  ->  '1.0'
! mnmx283 min '1' '1.0'  ->  '1'
  
  -- overflow and underflow tests .. subnormal results [inputs] now allowed
--- 227,232 ----
  mnmx281 min '-10' '3'  ->  '-10'
  mnmx282 min '1.0' '1'  ->  '1.0'
! mnmx283 min '1' '1.0'  ->  '1.0'
! mnmx284 min '7' 'NaN'  ->  '7'
  
  -- overflow and underflow tests .. subnormal results [inputs] now allowed
***************
*** 255,258 ****
--- 264,324 ----
  mnmx358 min +1e-777777777 +1e-411111111 ->  1E-777777777
  
+ -- expanded list from min/max 754r purple prose
+ -- [explicit tests for exponent ordering]
+ mnmx401 min  Inf    1.1     ->  1.1
+ mnmx402 min  1.1    1       ->  1
+ mnmx403 min  1      1.0     ->  1.0
+ mnmx404 min  1.0    0.1     ->  0.1
+ mnmx405 min  0.1    0.10    ->  0.10
+ mnmx406 min  0.10   0.100   ->  0.100
+ mnmx407 min  0.10   0       ->  0
+ mnmx408 min  0      0.0     ->  0.0
+ mnmx409 min  0.0   -0       -> -0
+ mnmx410 min  0.0   -0.0     -> -0.0
+ mnmx411 min  0.00  -0.0     -> -0.0
+ mnmx412 min  0.0   -0.00    -> -0.00
+ mnmx413 min  0     -0.0     -> -0.0
+ mnmx414 min  0     -0       -> -0
+ mnmx415 min -0.0   -0       -> -0
+ mnmx416 min -0     -0.100   -> -0.100
+ mnmx417 min -0.100 -0.10    -> -0.10
+ mnmx418 min -0.10  -0.1     -> -0.1
+ mnmx419 min -0.1   -1.0     -> -1.0
+ mnmx420 min -1.0   -1       -> -1
+ mnmx421 min -1     -1.1     -> -1.1
+ mnmx423 min -1.1   -Inf     -> -Infinity
+ -- same with operands reversed
+ mnmx431 min  1.1    Inf     ->  1.1
+ mnmx432 min  1      1.1     ->  1
+ mnmx433 min  1.0    1       ->  1.0
+ mnmx434 min  0.1    1.0     ->  0.1
+ mnmx435 min  0.10   0.1     ->  0.10
+ mnmx436 min  0.100  0.10    ->  0.100
+ mnmx437 min  0      0.10    ->  0
+ mnmx438 min  0.0    0       ->  0.0
+ mnmx439 min -0      0.0     -> -0
+ mnmx440 min -0.0    0.0     -> -0.0
+ mnmx441 min -0.0    0.00    -> -0.0
+ mnmx442 min -0.00   0.0     -> -0.00
+ mnmx443 min -0.0    0       -> -0.0
+ mnmx444 min -0      0       -> -0
+ mnmx445 min -0     -0.0     -> -0
+ mnmx446 min -0.100 -0       -> -0.100
+ mnmx447 min -0.10  -0.100   -> -0.10
+ mnmx448 min -0.1   -0.10    -> -0.1
+ mnmx449 min -1.0   -0.1     -> -1.0
+ mnmx450 min -1     -1.0     -> -1
+ mnmx451 min -1.1   -1       -> -1.1
+ mnmx453 min -Inf   -1.1     -> -Infinity
+ -- largies
+ mnmx460 min  1000   1E+3    ->  1000
+ mnmx461 min  1E+3   1000    ->  1000
+ mnmx462 min  1000  -1E+3    -> -1E+3
+ mnmx463 min  1E+3  -1000    -> -1000
+ mnmx464 min -1000   1E+3    -> -1000
+ mnmx465 min -1E+3   1000    -> -1E+3
+ mnmx466 min -1000  -1E+3    -> -1E+3
+ mnmx467 min -1E+3  -1000    -> -1E+3
+ 
  
  -- overflow tests
***************
*** 260,265 ****
  minexponent: -999999999
  precision: 3
! mnmx400 min 9.999E+999999999  0 ->  0
! mnmx401 min -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded
  
  -- subnormals and underflow
--- 326,331 ----
  minexponent: -999999999
  precision: 3
! mnmx500 min 9.999E+999999999  0 ->  0
! mnmx501 min -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded
  
  -- subnormals and underflow
***************
*** 267,294 ****
  maxexponent: 999
  minexponent: -999
! mnmx410 min  1.00E-999       0  ->   0
! mnmx411 min  0.1E-999        0  ->   0
! mnmx412 min  0.10E-999       0  ->   0
! mnmx413 min  0.100E-999      0  ->   0
! mnmx414 min  0.01E-999       0  ->   0
! mnmx415 min  0.999E-999      0  ->   0
! mnmx416 min  0.099E-999      0  ->   0
! mnmx417 min  0.009E-999      0  ->   0
! mnmx418 min  0.001E-999      0  ->   0
! mnmx419 min  0.0009E-999     0  ->   0
! mnmx420 min  0.0001E-999     0  ->   0
  
! mnmx430 min -1.00E-999       0  ->  -1.00E-999
! mnmx431 min -0.1E-999        0  ->  -1E-1000   Subnormal
! mnmx432 min -0.10E-999       0  ->  -1.0E-1000 Subnormal
! mnmx433 min -0.100E-999      0  ->  -1.0E-1000 Subnormal Rounded
! mnmx434 min -0.01E-999       0  ->  -1E-1001   Subnormal
  -- next is rounded to Emin
! mnmx435 min -0.999E-999      0  ->  -1.00E-999 Inexact Rounded Subnormal Underflow
! mnmx436 min -0.099E-999      0  ->  -1.0E-1000 Inexact Rounded Subnormal Underflow
! mnmx437 min -0.009E-999      0  ->  -1E-1001   Inexact Rounded Subnormal Underflow
! mnmx438 min -0.001E-999      0  ->  -0E-1001   Inexact Rounded Subnormal Underflow
! mnmx439 min -0.0009E-999     0  ->  -0E-1001   Inexact Rounded Subnormal Underflow
! mnmx440 min -0.0001E-999     0  ->  -0E-1001   Inexact Rounded Subnormal Underflow
  
  
--- 333,360 ----
  maxexponent: 999
  minexponent: -999
! mnmx510 min  1.00E-999       0  ->   0
! mnmx511 min  0.1E-999        0  ->   0
! mnmx512 min  0.10E-999       0  ->   0
! mnmx513 min  0.100E-999      0  ->   0
! mnmx514 min  0.01E-999       0  ->   0
! mnmx515 min  0.999E-999      0  ->   0
! mnmx516 min  0.099E-999      0  ->   0
! mnmx517 min  0.009E-999      0  ->   0
! mnmx518 min  0.001E-999      0  ->   0
! mnmx519 min  0.0009E-999     0  ->   0
! mnmx520 min  0.0001E-999     0  ->   0
  
! mnmx530 min -1.00E-999       0  ->  -1.00E-999
! mnmx531 min -0.1E-999        0  ->  -1E-1000   Subnormal
! mnmx532 min -0.10E-999       0  ->  -1.0E-1000 Subnormal
! mnmx533 min -0.100E-999      0  ->  -1.0E-1000 Subnormal Rounded
! mnmx534 min -0.01E-999       0  ->  -1E-1001   Subnormal
  -- next is rounded to Emin
! mnmx535 min -0.999E-999      0  ->  -1.00E-999 Inexact Rounded Subnormal Underflow
! mnmx536 min -0.099E-999      0  ->  -1.0E-1000 Inexact Rounded Subnormal Underflow
! mnmx537 min -0.009E-999      0  ->  -1E-1001   Inexact Rounded Subnormal Underflow
! mnmx538 min -0.001E-999      0  ->  -0E-1001   Inexact Rounded Subnormal Underflow
! mnmx539 min -0.0009E-999     0  ->  -0E-1001   Inexact Rounded Subnormal Underflow
! mnmx540 min -0.0001E-999     0  ->  -0E-1001   Inexact Rounded Subnormal Underflow
  
  

Index: minus.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/minus.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** minus.decTest	1 Jul 2004 11:01:33 -0000	1.1
--- minus.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- This set of tests primarily tests the existence of the operator.
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- This set of tests primarily tests the existence of the operator.

Index: multiply.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/multiply.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** multiply.decTest	1 Jul 2004 11:01:33 -0000	1.1
--- multiply.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: normalize.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/normalize.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** normalize.decTest	1 Jul 2004 11:01:33 -0000	1.1
--- normalize.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: plus.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/plus.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** plus.decTest	1 Jul 2004 11:01:33 -0000	1.1
--- plus.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- This set of tests primarily tests the existence of the operator.
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- This set of tests primarily tests the existence of the operator.

Index: power.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/power.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** power.decTest	1 Jul 2004 11:01:33 -0000	1.1
--- power.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- This set of testcases tests raising numbers to an integer power only.
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- This set of testcases tests raising numbers to an integer power only.

Index: quantize.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/quantize.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** quantize.decTest	1 Jul 2004 11:01:33 -0000	1.1
--- quantize.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- Most of the tests here assume a "regular pattern", where the
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- Most of the tests here assume a "regular pattern", where the

Index: randomBound32.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/randomBound32.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** randomBound32.decTest	1 Jul 2004 11:01:33 -0000	1.1
--- randomBound32.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- These testcases test calculations at precisions 31, 32, and 33, to
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- These testcases test calculations at precisions 31, 32, and 33, to

Index: randoms.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/randoms.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** randoms.decTest	1 Jul 2004 11:01:34 -0000	1.1
--- randoms.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: remainder.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/remainder.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** remainder.decTest	1 Jul 2004 11:01:34 -0000	1.1
--- remainder.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: remainderNear.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/remainderNear.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** remainderNear.decTest	1 Jul 2004 11:01:34 -0000	1.1
--- remainderNear.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: rescale.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/rescale.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** rescale.decTest	1 Jul 2004 11:01:34 -0000	1.1
--- rescale.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 1,756 ****
! ------------------------------------------------------------------------
! -- rescale.decTest -- decimal rescale operation                       --
! -- Copyright (c) IBM Corporation, 1981, 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       --
[...1485 lines suppressed...]
! resx846 rescale   0  -1000000000 -> 0E-1000000000
! resx847 rescale   0  -1000000001 -> 0E-1000000001
! resx848 rescale   0  -1000000002 -> 0E-1000000002
! resx849 rescale   0  -1000000003 -> 0E-1000000003
! resx850 rescale   0  -1000000004 -> 0E-1000000004
! resx851 rescale   0  -1000000005 -> 0E-1000000005
! resx852 rescale   0  -1000000006 -> 0E-1000000006
! resx853 rescale   0  -1000000007 -> 0E-1000000007
! resx854 rescale   0  -1000000008 -> NaN Invalid_operation
! 
! resx861 rescale   1  +2147483649 -> NaN Invalid_operation
! resx862 rescale   1  +2147483648 -> NaN Invalid_operation
! resx863 rescale   1  +2147483647 -> NaN Invalid_operation
! resx864 rescale   1  -2147483647 -> NaN Invalid_operation
! resx865 rescale   1  -2147483648 -> NaN Invalid_operation
! resx866 rescale   1  -2147483649 -> NaN Invalid_operation
! 
! -- Null tests
! res900 rescale 10  # -> NaN Invalid_operation
! res901 rescale  # 10 -> NaN Invalid_operation

Index: rounding.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/rounding.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** rounding.decTest	1 Jul 2004 11:01:34 -0000	1.1
--- rounding.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- These tests require that implementations take account of residues in
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- These tests require that implementations take account of residues in

Index: samequantum.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/samequantum.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** samequantum.decTest	1 Jul 2004 11:01:34 -0000	1.1
--- samequantum.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: squareroot.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/squareroot.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** squareroot.decTest	1 Jul 2004 11:01:34 -0000	1.1
--- squareroot.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: subtract.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/subtract.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** subtract.decTest	1 Jul 2004 11:01:34 -0000	1.1
--- subtract.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  extended:    1
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  extended:    1

Index: testall.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/testall.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** testall.decTest	1 Jul 2004 11:01:34 -0000	1.1
--- testall.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 1,58 ****
! ------------------------------------------------------------------------
! -- testall.decTest -- run all general decimal arithmetic testcases    --
! -- Copyright (c) IBM Corporation, 1981, 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 at uk.ibm.com                                                   --
! ------------------------------------------------------------------------
! version: 2.35
! 
! -- core tests (using Extended: 1) --------------------------------------
! dectest: base
! dectest: abs
! dectest: add
! dectest: clamp
! dectest: compare
! dectest: divide
! dectest: divideint
! dectest: inexact
! dectest: max
! dectest: min
! dectest: minus
! dectest: multiply
! dectest: normalize
! dectest: plus
! dectest: power
! dectest: quantize
! dectest: randoms
! dectest: remainder
! dectest: remaindernear
! dectest: rescale              -- [obsolete]
! dectest: rounding
! dectest: samequantum
! dectest: squareroot
! dectest: subtract
! dectest: tointegral
! dectest: trim
! 
! -- The next are for the Strawman 4d concrete representations
! dectest: decimal32
! dectest: decimal64
! dectest: decimal128
! 
! 
! -- General 31->33-digit boundary tests
! dectest: randomBound32
! 
--- 1,58 ----
! ------------------------------------------------------------------------
! -- testall.decTest -- run all general decimal arithmetic testcases    --
! -- Copyright (c) IBM Corporation, 1981, 2004.  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 at uk.ibm.com                                                   --
! ------------------------------------------------------------------------
! version: 2.39
! 
! -- core tests (using Extended: 1) --------------------------------------
! dectest: base
! dectest: abs
! dectest: add
! dectest: clamp
! dectest: compare
! dectest: divide
! dectest: divideint
! dectest: inexact
! dectest: max
! dectest: min
! dectest: minus
! dectest: multiply
! dectest: normalize
! dectest: plus
! dectest: power
! dectest: quantize
! dectest: randoms
! dectest: remainder
! dectest: remaindernear
! dectest: rescale              -- [obsolete]
! dectest: rounding
! dectest: samequantum
! dectest: squareroot
! dectest: subtract
! dectest: tointegral
! dectest: trim
! 
! -- The next are for the Strawman 4d concrete representations
! dectest: decimal32
! dectest: decimal64
! dectest: decimal128
! 
! 
! -- General 31->33-digit boundary tests
! dectest: randombound32
! 

Index: tointegral.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/tointegral.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** tointegral.decTest	1 Jul 2004 11:01:34 -0000	1.1
--- tointegral.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 18,22 ****
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.38
  
  -- This set of tests tests the extended specification 'round-to-integral
--- 18,22 ----
  --   mfc at uk.ibm.com                                                   --
  ------------------------------------------------------------------------
! version: 2.39
  
  -- This set of tests tests the extended specification 'round-to-integral

Index: trim.decTest
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/decimaltestdata/trim.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** trim.decTest	1 Jul 2004 11:01:35 -0000	1.1
--- trim.decTest	17 Aug 2004 06:42:13 -0000	1.2
***************
*** 1,152 ****
! ------------------------------------------------------------------------
! -- trim.decTest -- remove insignificant trailing zeros                --
! -- Copyright (c) IBM Corporation, 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 at uk.ibm.com                                                   --
! ------------------------------------------------------------------------
! version: 2.35
! 
! extended:    1
! precision:   9
! rounding:    half_up
! maxExponent: 999
! minexponent: -999
! 
! trmx001 trim '1'      -> '1'
! trmx002 trim '-1'     -> '-1'
! trmx003 trim '1.00'   -> '1'
! trmx004 trim '-1.00'  -> '-1'
! trmx005 trim '0'      -> '0'
! trmx006 trim '0.00'   -> '0'
! trmx007 trim '00.0'   -> '0'
! trmx008 trim '00.00'  -> '0'
! trmx009 trim '00'     -> '0'
! 
! trmx010 trim '-2'     -> '-2'
! trmx011 trim '2'      -> '2'
! trmx012 trim '-2.00'  -> '-2'
! trmx013 trim '2.00'   -> '2'
! trmx014 trim '-0'     -> '-0'
! trmx015 trim '-0.00'  -> '-0'
! trmx016 trim '-00.0'  -> '-0'
! trmx017 trim '-00.00' -> '-0'
! trmx018 trim '-00'    -> '-0'
! trmx019 trim '0E+5'   -> '0'
! trmx020 trim '-0E+1'  -> '-0'
! 
! trmx030 trim '+0.1'            -> '0.1'
! trmx031 trim '-0.1'            -> '-0.1'
! trmx032 trim '+0.01'           -> '0.01'
! trmx033 trim '-0.01'           -> '-0.01'
! trmx034 trim '+0.001'          -> '0.001'
! trmx035 trim '-0.001'          -> '-0.001'
! trmx036 trim '+0.000001'       -> '0.000001'
! trmx037 trim '-0.000001'       -> '-0.000001'
! trmx038 trim '+0.000000000001' -> '1E-12'
! trmx039 trim '-0.000000000001' -> '-1E-12'
! 
! trmx041 trim 1.1        -> 1.1
! trmx042 trim 1.10       -> 1.1
! trmx043 trim 1.100      -> 1.1
! trmx044 trim 1.110      -> 1.11
! trmx045 trim -1.1       -> -1.1
! trmx046 trim -1.10      -> -1.1
! trmx047 trim -1.100     -> -1.1
! trmx048 trim -1.110     -> -1.11
! trmx049 trim 9.9        -> 9.9
! trmx050 trim 9.90       -> 9.9
! trmx051 trim 9.900      -> 9.9
! trmx052 trim 9.990      -> 9.99
! trmx053 trim -9.9       -> -9.9
! trmx054 trim -9.90      -> -9.9
! trmx055 trim -9.900     -> -9.9
! trmx056 trim -9.990     -> -9.99
! 
! -- some insignificant trailing fractional zeros
! trmx060 trim  10.0        -> 10
! trmx061 trim  10.00       -> 10
! trmx062 trim  100.0       -> 100
! trmx063 trim  100.00      -> 100
! trmx064 trim  1.1000E+3   -> 1100
! trmx065 trim  1.10000E+3  -> 1100
! trmx066 trim -10.0        -> -10
! trmx067 trim -10.00       -> -10
! trmx068 trim -100.0       -> -100
! trmx069 trim -100.00      -> -100
! trmx070 trim -1.1000E+3   -> -1100
! trmx071 trim -1.10000E+3  -> -1100
! 
! -- some insignificant trailing zeros with positive exponent
! trmx080 trim  10E+1       -> 1E+2
! trmx081 trim  100E+1      -> 1E+3
! trmx082 trim  1.0E+2      -> 1E+2
! trmx083 trim  1.0E+3      -> 1E+3
! trmx084 trim  1.1E+3      -> 1.1E+3
! trmx085 trim  1.00E+3     -> 1E+3
! trmx086 trim  1.10E+3     -> 1.1E+3
! trmx087 trim -10E+1       -> -1E+2
! trmx088 trim -100E+1      -> -1E+3
! trmx089 trim -1.0E+2      -> -1E+2
! trmx090 trim -1.0E+3      -> -1E+3
! trmx091 trim -1.1E+3      -> -1.1E+3
! trmx092 trim -1.00E+3     -> -1E+3
! trmx093 trim -1.10E+3     -> -1.1E+3
! 
! -- some significant trailing zeros
! trmx100 trim  11          -> 11
! trmx101 trim  10          -> 10
! trmx102 trim  10.         -> 10
! trmx103 trim  1.1E+1      -> 11
! trmx104 trim  1.0E+1      -> 10
! trmx105 trim  1.10E+2     -> 110
! trmx106 trim  1.00E+2     -> 100
! trmx107 trim  1.100E+3    -> 1100
! trmx108 trim  1.000E+3    -> 1000
! trmx109 trim  1.000000E+6 -> 1000000
! trmx110 trim -11          -> -11
! trmx111 trim -10          -> -10
! trmx112 trim -10.         -> -10
! trmx113 trim -1.1E+1      -> -11
! trmx114 trim -1.0E+1      -> -10
! trmx115 trim -1.10E+2     -> -110
! trmx116 trim -1.00E+2     -> -100
! trmx117 trim -1.100E+3    -> -1100
! trmx118 trim -1.000E+3    -> -1000
! trmx119 trim -1.00000E+5  -> -100000
! trmx120 trim -1.000000E+6 -> -1000000
! 
! -- examples from decArith
! trmx140 trim '2.1'     ->  '2.1'
! trmx141 trim '-2.0'    ->  '-2'
! trmx142 trim '1.200'   ->  '1.2'
! trmx143 trim '-120'    ->  '-120'
! trmx144 trim '120.00'  ->  '120'
! trmx145 trim '0.00'    ->  '0'
! 
! -- utilities pass through specials without raising exceptions
! trmx320 trim 'Inf'    -> 'Infinity'
! trmx321 trim '-Inf'   -> '-Infinity'
! trmx322 trim   NaN    ->  NaN
! trmx323 trim  sNaN    ->  sNaN
! trmx324 trim   NaN999 ->  NaN999
! trmx325 trim  sNaN777 ->  sNaN777
! trmx326 trim  -NaN    -> -NaN
! trmx327 trim -sNaN    -> -sNaN
! trmx328 trim  -NaN999 -> -NaN999
! trmx329 trim -sNaN777 -> -sNaN777
! 
! -- Null test
! trmx900 trim  # -> NaN Invalid_operation
--- 1,152 ----
! ------------------------------------------------------------------------
! -- trim.decTest -- remove insignificant trailing zeros                --
! -- Copyright (c) IBM Corporation, 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 at uk.ibm.com                                                   --
! ------------------------------------------------------------------------
! version: 2.39
! 
! extended:    1
! precision:   9
! rounding:    half_up
! maxExponent: 999
! minexponent: -999
! 
! trmx001 trim '1'      -> '1'
! trmx002 trim '-1'     -> '-1'
! trmx003 trim '1.00'   -> '1'
! trmx004 trim '-1.00'  -> '-1'
! trmx005 trim '0'      -> '0'
! trmx006 trim '0.00'   -> '0'
! trmx007 trim '00.0'   -> '0'
! trmx008 trim '00.00'  -> '0'
! trmx009 trim '00'     -> '0'
! 
! trmx010 trim '-2'     -> '-2'
! trmx011 trim '2'      -> '2'
! trmx012 trim '-2.00'  -> '-2'
! trmx013 trim '2.00'   -> '2'
! trmx014 trim '-0'     -> '-0'
! trmx015 trim '-0.00'  -> '-0'
! trmx016 trim '-00.0'  -> '-0'
! trmx017 trim '-00.00' -> '-0'
! trmx018 trim '-00'    -> '-0'
! trmx019 trim '0E+5'   -> '0'
! trmx020 trim '-0E+1'  -> '-0'
! 
! trmx030 trim '+0.1'            -> '0.1'
! trmx031 trim '-0.1'            -> '-0.1'
! trmx032 trim '+0.01'           -> '0.01'
! trmx033 trim '-0.01'           -> '-0.01'
! trmx034 trim '+0.001'          -> '0.001'
! trmx035 trim '-0.001'          -> '-0.001'
! trmx036 trim '+0.000001'       -> '0.000001'
! trmx037 trim '-0.000001'       -> '-0.000001'
! trmx038 trim '+0.000000000001' -> '1E-12'
! trmx039 trim '-0.000000000001' -> '-1E-12'
! 
! trmx041 trim 1.1        -> 1.1
! trmx042 trim 1.10       -> 1.1
! trmx043 trim 1.100      -> 1.1
! trmx044 trim 1.110      -> 1.11
! trmx045 trim -1.1       -> -1.1
! trmx046 trim -1.10      -> -1.1
! trmx047 trim -1.100     -> -1.1
! trmx048 trim -1.110     -> -1.11
! trmx049 trim 9.9        -> 9.9
! trmx050 trim 9.90       -> 9.9
! trmx051 trim 9.900      -> 9.9
! trmx052 trim 9.990      -> 9.99
! trmx053 trim -9.9       -> -9.9
! trmx054 trim -9.90      -> -9.9
! trmx055 trim -9.900     -> -9.9
! trmx056 trim -9.990     -> -9.99
! 
! -- some insignificant trailing fractional zeros
! trmx060 trim  10.0        -> 10
! trmx061 trim  10.00       -> 10
! trmx062 trim  100.0       -> 100
! trmx063 trim  100.00      -> 100
! trmx064 trim  1.1000E+3   -> 1100
! trmx065 trim  1.10000E+3  -> 1100
! trmx066 trim -10.0        -> -10
! trmx067 trim -10.00       -> -10
! trmx068 trim -100.0       -> -100
! trmx069 trim -100.00      -> -100
! trmx070 trim -1.1000E+3   -> -1100
! trmx071 trim -1.10000E+3  -> -1100
! 
! -- some insignificant trailing zeros with positive exponent
! trmx080 trim  10E+1       -> 1E+2
! trmx081 trim  100E+1      -> 1E+3
! trmx082 trim  1.0E+2      -> 1E+2
! trmx083 trim  1.0E+3      -> 1E+3
! trmx084 trim  1.1E+3      -> 1.1E+3
! trmx085 trim  1.00E+3     -> 1E+3
! trmx086 trim  1.10E+3     -> 1.1E+3
! trmx087 trim -10E+1       -> -1E+2
! trmx088 trim -100E+1      -> -1E+3
! trmx089 trim -1.0E+2      -> -1E+2
! trmx090 trim -1.0E+3      -> -1E+3
! trmx091 trim -1.1E+3      -> -1.1E+3
! trmx092 trim -1.00E+3     -> -1E+3
! trmx093 trim -1.10E+3     -> -1.1E+3
! 
! -- some significant trailing zeros
! trmx100 trim  11          -> 11
! trmx101 trim  10          -> 10
! trmx102 trim  10.         -> 10
! trmx103 trim  1.1E+1      -> 11
! trmx104 trim  1.0E+1      -> 10
! trmx105 trim  1.10E+2     -> 110
! trmx106 trim  1.00E+2     -> 100
! trmx107 trim  1.100E+3    -> 1100
! trmx108 trim  1.000E+3    -> 1000
! trmx109 trim  1.000000E+6 -> 1000000
! trmx110 trim -11          -> -11
! trmx111 trim -10          -> -10
! trmx112 trim -10.         -> -10
! trmx113 trim -1.1E+1      -> -11
! trmx114 trim -1.0E+1      -> -10
! trmx115 trim -1.10E+2     -> -110
! trmx116 trim -1.00E+2     -> -100
! trmx117 trim -1.100E+3    -> -1100
! trmx118 trim -1.000E+3    -> -1000
! trmx119 trim -1.00000E+5  -> -100000
! trmx120 trim -1.000000E+6 -> -1000000
! 
! -- examples from decArith
! trmx140 trim '2.1'     ->  '2.1'
! trmx141 trim '-2.0'    ->  '-2'
! trmx142 trim '1.200'   ->  '1.2'
! trmx143 trim '-120'    ->  '-120'
! trmx144 trim '120.00'  ->  '120'
! trmx145 trim '0.00'    ->  '0'
! 
! -- utilities pass through specials without raising exceptions
! trmx320 trim 'Inf'    -> 'Infinity'
! trmx321 trim '-Inf'   -> '-Infinity'
! trmx322 trim   NaN    ->  NaN
! trmx323 trim  sNaN    ->  sNaN
! trmx324 trim   NaN999 ->  NaN999
! trmx325 trim  sNaN777 ->  sNaN777
! trmx326 trim  -NaN    -> -NaN
! trmx327 trim -sNaN    -> -sNaN
! trmx328 trim  -NaN999 -> -NaN999
! trmx329 trim -sNaN777 -> -sNaN777
! 
! -- Null test
! trmx900 trim  # -> NaN Invalid_operation



More information about the Python-checkins mailing list