[Python-checkins] python/nondist/sandbox/decimal/tests
samequantum.decTest, NONE, 1.1 abs.decTest, 1.4,
1.5 add.decTest, 1.4, 1.5 base.decTest, 1.4, 1.5 clamp.decTest,
1.4, 1.5 compare.decTest, 1.4, 1.5 divide.decTest, 1.4,
1.5 divideint.decTest, 1.4, 1.5 inexact.decTest, 1.4,
1.5 max.decTest, 1.4, 1.5 min.decTest, 1.4, 1.5 minus.decTest,
1.4, 1.5 multiply.decTest, 1.4, 1.5 normalize.decTest, 1.4,
1.5 plus.decTest, 1.4, 1.5 power.decTest, 1.4,
1.5 quantize.decTest, 1.2, 1.3 randomBound32.decTest, 1.4,
1.5 randoms.decTest, 1.4, 1.5 remainder.decTest, 1.4,
1.5 remainderNear.decTest, 1.4, 1.5 rescale.decTest, 1.4,
1.5 rounding.decTest, 1.4, 1.5 squareroot.decTest, 1.4,
1.5 subtract.decTest, 1.4, 1.5 testall.decTest, 1.4,
1.5 tointegral.decTest, 1.1, 1.2 trim.decTest, 1.4, 1.5
eprice at users.sourceforge.net
eprice at users.sourceforge.net
Fri Feb 6 11:56:07 EST 2004
Update of /cvsroot/python/python/nondist/sandbox/decimal/tests
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18673/tests
Modified Files:
abs.decTest add.decTest base.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 randomBound32.decTest randoms.decTest
remainder.decTest remainderNear.decTest rescale.decTest
rounding.decTest squareroot.decTest subtract.decTest
testall.decTest tointegral.decTest trim.decTest
Added Files:
samequantum.decTest
Log Message:
Added new tests, fix Decimal/test_Decimal to have samequantum.
--- NEW FILE: samequantum.decTest ---
------------------------------------------------------------------------
-- samequantum.decTest -- check quantums match --
-- Copyright (c) IBM Corporation, 2001, 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
samq001 samequantum 0 0 -> 1
samq002 samequantum 0 1 -> 1
samq003 samequantum 1 0 -> 1
samq004 samequantum 1 1 -> 1
samq011 samequantum 10 1E+1 -> 0
samq012 samequantum 10E+1 10E+1 -> 1
samq013 samequantum 100 10E+1 -> 0
samq014 samequantum 100 1E+2 -> 0
samq015 samequantum 0.1 1E-2 -> 0
samq016 samequantum 0.1 1E-1 -> 1
samq017 samequantum 0.1 1E-0 -> 0
samq018 samequantum 999 999 -> 1
samq019 samequantum 999E-1 99.9 -> 1
samq020 samequantum 111E-1 22.2 -> 1
samq021 samequantum 111E-1 1234.2 -> 1
-- zeros
samq030 samequantum 0.0 1.1 -> 1
samq031 samequantum 0.0 1.11 -> 0
samq032 samequantum 0.0 0 -> 0
samq033 samequantum 0.0 0.0 -> 1
samq034 samequantum 0.0 0.00 -> 0
samq035 samequantum 0E+1 0E+0 -> 0
samq036 samequantum 0E+1 0E+1 -> 1
samq037 samequantum 0E+1 0E+2 -> 0
samq038 samequantum 0E-17 0E-16 -> 0
samq039 samequantum 0E-17 0E-17 -> 1
samq040 samequantum 0E-17 0E-18 -> 0
samq041 samequantum 0E-17 0.0E-15 -> 0
samq042 samequantum 0E-17 0.0E-16 -> 1
samq043 samequantum 0E-17 0.0E-17 -> 0
samq044 samequantum -0E-17 0.0E-16 -> 1
samq045 samequantum 0E-17 -0.0E-17 -> 0
samq046 samequantum 0E-17 -0.0E-16 -> 1
samq047 samequantum -0E-17 0.0E-17 -> 0
samq048 samequantum -0E-17 -0.0E-16 -> 1
samq049 samequantum -0E-17 -0.0E-17 -> 0
-- specials & combinations
samq0110 samequantum -Inf -Inf -> 1
samq0111 samequantum -Inf Inf -> 1
samq0112 samequantum -Inf NaN -> 0
samq0113 samequantum -Inf -7E+3 -> 0
samq0114 samequantum -Inf -7 -> 0
samq0115 samequantum -Inf -7E-3 -> 0
samq0116 samequantum -Inf -0E-3 -> 0
samq0117 samequantum -Inf -0 -> 0
samq0118 samequantum -Inf -0E+3 -> 0
samq0119 samequantum -Inf 0E-3 -> 0
samq0120 samequantum -Inf 0 -> 0
samq0121 samequantum -Inf 0E+3 -> 0
samq0122 samequantum -Inf 7E-3 -> 0
samq0123 samequantum -Inf 7 -> 0
samq0124 samequantum -Inf 7E+3 -> 0
samq0125 samequantum -Inf sNaN -> 0
samq0210 samequantum Inf -Inf -> 1
samq0211 samequantum Inf Inf -> 1
samq0212 samequantum Inf NaN -> 0
samq0213 samequantum Inf -7E+3 -> 0
samq0214 samequantum Inf -7 -> 0
samq0215 samequantum Inf -7E-3 -> 0
samq0216 samequantum Inf -0E-3 -> 0
samq0217 samequantum Inf -0 -> 0
samq0218 samequantum Inf -0E+3 -> 0
samq0219 samequantum Inf 0E-3 -> 0
samq0220 samequantum Inf 0 -> 0
samq0221 samequantum Inf 0E+3 -> 0
samq0222 samequantum Inf 7E-3 -> 0
samq0223 samequantum Inf 7 -> 0
samq0224 samequantum Inf 7E+3 -> 0
samq0225 samequantum Inf sNaN -> 0
samq0310 samequantum NaN -Inf -> 0
samq0311 samequantum NaN Inf -> 0
samq0312 samequantum NaN NaN -> 1
samq0313 samequantum NaN -7E+3 -> 0
samq0314 samequantum NaN -7 -> 0
samq0315 samequantum NaN -7E-3 -> 0
samq0316 samequantum NaN -0E-3 -> 0
samq0317 samequantum NaN -0 -> 0
samq0318 samequantum NaN -0E+3 -> 0
samq0319 samequantum NaN 0E-3 -> 0
samq0320 samequantum NaN 0 -> 0
samq0321 samequantum NaN 0E+3 -> 0
samq0322 samequantum NaN 7E-3 -> 0
samq0323 samequantum NaN 7 -> 0
samq0324 samequantum NaN 7E+3 -> 0
samq0325 samequantum NaN sNaN -> 1
samq0410 samequantum -7E+3 -Inf -> 0
samq0411 samequantum -7E+3 Inf -> 0
samq0412 samequantum -7E+3 NaN -> 0
samq0413 samequantum -7E+3 -7E+3 -> 1
samq0414 samequantum -7E+3 -7 -> 0
samq0415 samequantum -7E+3 -7E-3 -> 0
samq0416 samequantum -7E+3 -0E-3 -> 0
samq0417 samequantum -7E+3 -0 -> 0
samq0418 samequantum -7E+3 -0E+3 -> 1
samq0419 samequantum -7E+3 0E-3 -> 0
samq0420 samequantum -7E+3 0 -> 0
samq0421 samequantum -7E+3 0E+3 -> 1
samq0422 samequantum -7E+3 7E-3 -> 0
samq0423 samequantum -7E+3 7 -> 0
samq0424 samequantum -7E+3 7E+3 -> 1
samq0425 samequantum -7E+3 sNaN -> 0
samq0510 samequantum -7 -Inf -> 0
samq0511 samequantum -7 Inf -> 0
samq0512 samequantum -7 NaN -> 0
samq0513 samequantum -7 -7E+3 -> 0
samq0514 samequantum -7 -7 -> 1
samq0515 samequantum -7 -7E-3 -> 0
samq0516 samequantum -7 -0E-3 -> 0
samq0517 samequantum -7 -0 -> 1
samq0518 samequantum -7 -0E+3 -> 0
samq0519 samequantum -7 0E-3 -> 0
samq0520 samequantum -7 0 -> 1
samq0521 samequantum -7 0E+3 -> 0
samq0522 samequantum -7 7E-3 -> 0
samq0523 samequantum -7 7 -> 1
samq0524 samequantum -7 7E+3 -> 0
samq0525 samequantum -7 sNaN -> 0
samq0610 samequantum -7E-3 -Inf -> 0
samq0611 samequantum -7E-3 Inf -> 0
samq0612 samequantum -7E-3 NaN -> 0
samq0613 samequantum -7E-3 -7E+3 -> 0
samq0614 samequantum -7E-3 -7 -> 0
samq0615 samequantum -7E-3 -7E-3 -> 1
samq0616 samequantum -7E-3 -0E-3 -> 1
samq0617 samequantum -7E-3 -0 -> 0
samq0618 samequantum -7E-3 -0E+3 -> 0
samq0619 samequantum -7E-3 0E-3 -> 1
samq0620 samequantum -7E-3 0 -> 0
samq0621 samequantum -7E-3 0E+3 -> 0
samq0622 samequantum -7E-3 7E-3 -> 1
samq0623 samequantum -7E-3 7 -> 0
samq0624 samequantum -7E-3 7E+3 -> 0
samq0625 samequantum -7E-3 sNaN -> 0
samq0710 samequantum -0E-3 -Inf -> 0
samq0711 samequantum -0E-3 Inf -> 0
samq0712 samequantum -0E-3 NaN -> 0
samq0713 samequantum -0E-3 -7E+3 -> 0
samq0714 samequantum -0E-3 -7 -> 0
samq0715 samequantum -0E-3 -7E-3 -> 1
samq0716 samequantum -0E-3 -0E-3 -> 1
samq0717 samequantum -0E-3 -0 -> 0
samq0718 samequantum -0E-3 -0E+3 -> 0
samq0719 samequantum -0E-3 0E-3 -> 1
samq0720 samequantum -0E-3 0 -> 0
samq0721 samequantum -0E-3 0E+3 -> 0
samq0722 samequantum -0E-3 7E-3 -> 1
samq0723 samequantum -0E-3 7 -> 0
samq0724 samequantum -0E-3 7E+3 -> 0
samq0725 samequantum -0E-3 sNaN -> 0
samq0810 samequantum -0 -Inf -> 0
samq0811 samequantum -0 Inf -> 0
samq0812 samequantum -0 NaN -> 0
samq0813 samequantum -0 -7E+3 -> 0
samq0814 samequantum -0 -7 -> 1
samq0815 samequantum -0 -7E-3 -> 0
samq0816 samequantum -0 -0E-3 -> 0
samq0817 samequantum -0 -0 -> 1
samq0818 samequantum -0 -0E+3 -> 0
samq0819 samequantum -0 0E-3 -> 0
samq0820 samequantum -0 0 -> 1
samq0821 samequantum -0 0E+3 -> 0
samq0822 samequantum -0 7E-3 -> 0
samq0823 samequantum -0 7 -> 1
samq0824 samequantum -0 7E+3 -> 0
samq0825 samequantum -0 sNaN -> 0
samq0910 samequantum -0E+3 -Inf -> 0
samq0911 samequantum -0E+3 Inf -> 0
samq0912 samequantum -0E+3 NaN -> 0
samq0913 samequantum -0E+3 -7E+3 -> 1
samq0914 samequantum -0E+3 -7 -> 0
samq0915 samequantum -0E+3 -7E-3 -> 0
samq0916 samequantum -0E+3 -0E-3 -> 0
samq0917 samequantum -0E+3 -0 -> 0
samq0918 samequantum -0E+3 -0E+3 -> 1
samq0919 samequantum -0E+3 0E-3 -> 0
samq0920 samequantum -0E+3 0 -> 0
samq0921 samequantum -0E+3 0E+3 -> 1
samq0922 samequantum -0E+3 7E-3 -> 0
samq0923 samequantum -0E+3 7 -> 0
samq0924 samequantum -0E+3 7E+3 -> 1
samq0925 samequantum -0E+3 sNaN -> 0
samq1110 samequantum 0E-3 -Inf -> 0
samq1111 samequantum 0E-3 Inf -> 0
samq1112 samequantum 0E-3 NaN -> 0
samq1113 samequantum 0E-3 -7E+3 -> 0
samq1114 samequantum 0E-3 -7 -> 0
samq1115 samequantum 0E-3 -7E-3 -> 1
samq1116 samequantum 0E-3 -0E-3 -> 1
samq1117 samequantum 0E-3 -0 -> 0
samq1118 samequantum 0E-3 -0E+3 -> 0
samq1119 samequantum 0E-3 0E-3 -> 1
samq1120 samequantum 0E-3 0 -> 0
samq1121 samequantum 0E-3 0E+3 -> 0
samq1122 samequantum 0E-3 7E-3 -> 1
samq1123 samequantum 0E-3 7 -> 0
samq1124 samequantum 0E-3 7E+3 -> 0
samq1125 samequantum 0E-3 sNaN -> 0
samq1210 samequantum 0 -Inf -> 0
samq1211 samequantum 0 Inf -> 0
samq1212 samequantum 0 NaN -> 0
samq1213 samequantum 0 -7E+3 -> 0
samq1214 samequantum 0 -7 -> 1
samq1215 samequantum 0 -7E-3 -> 0
samq1216 samequantum 0 -0E-3 -> 0
samq1217 samequantum 0 -0 -> 1
samq1218 samequantum 0 -0E+3 -> 0
samq1219 samequantum 0 0E-3 -> 0
samq1220 samequantum 0 0 -> 1
samq1221 samequantum 0 0E+3 -> 0
samq1222 samequantum 0 7E-3 -> 0
samq1223 samequantum 0 7 -> 1
samq1224 samequantum 0 7E+3 -> 0
samq1225 samequantum 0 sNaN -> 0
samq1310 samequantum 0E+3 -Inf -> 0
samq1311 samequantum 0E+3 Inf -> 0
samq1312 samequantum 0E+3 NaN -> 0
samq1313 samequantum 0E+3 -7E+3 -> 1
samq1314 samequantum 0E+3 -7 -> 0
samq1315 samequantum 0E+3 -7E-3 -> 0
samq1316 samequantum 0E+3 -0E-3 -> 0
samq1317 samequantum 0E+3 -0 -> 0
samq1318 samequantum 0E+3 -0E+3 -> 1
samq1319 samequantum 0E+3 0E-3 -> 0
samq1320 samequantum 0E+3 0 -> 0
samq1321 samequantum 0E+3 0E+3 -> 1
samq1322 samequantum 0E+3 7E-3 -> 0
samq1323 samequantum 0E+3 7 -> 0
samq1324 samequantum 0E+3 7E+3 -> 1
samq1325 samequantum 0E+3 sNaN -> 0
samq1410 samequantum 7E-3 -Inf -> 0
samq1411 samequantum 7E-3 Inf -> 0
samq1412 samequantum 7E-3 NaN -> 0
samq1413 samequantum 7E-3 -7E+3 -> 0
samq1414 samequantum 7E-3 -7 -> 0
samq1415 samequantum 7E-3 -7E-3 -> 1
samq1416 samequantum 7E-3 -0E-3 -> 1
samq1417 samequantum 7E-3 -0 -> 0
samq1418 samequantum 7E-3 -0E+3 -> 0
samq1419 samequantum 7E-3 0E-3 -> 1
samq1420 samequantum 7E-3 0 -> 0
samq1421 samequantum 7E-3 0E+3 -> 0
samq1422 samequantum 7E-3 7E-3 -> 1
samq1423 samequantum 7E-3 7 -> 0
samq1424 samequantum 7E-3 7E+3 -> 0
samq1425 samequantum 7E-3 sNaN -> 0
samq1510 samequantum 7 -Inf -> 0
samq1511 samequantum 7 Inf -> 0
samq1512 samequantum 7 NaN -> 0
samq1513 samequantum 7 -7E+3 -> 0
samq1514 samequantum 7 -7 -> 1
samq1515 samequantum 7 -7E-3 -> 0
samq1516 samequantum 7 -0E-3 -> 0
samq1517 samequantum 7 -0 -> 1
samq1518 samequantum 7 -0E+3 -> 0
samq1519 samequantum 7 0E-3 -> 0
samq1520 samequantum 7 0 -> 1
samq1521 samequantum 7 0E+3 -> 0
samq1522 samequantum 7 7E-3 -> 0
samq1523 samequantum 7 7 -> 1
samq1524 samequantum 7 7E+3 -> 0
samq1525 samequantum 7 sNaN -> 0
samq1610 samequantum 7E+3 -Inf -> 0
samq1611 samequantum 7E+3 Inf -> 0
samq1612 samequantum 7E+3 NaN -> 0
samq1613 samequantum 7E+3 -7E+3 -> 1
samq1614 samequantum 7E+3 -7 -> 0
samq1615 samequantum 7E+3 -7E-3 -> 0
samq1616 samequantum 7E+3 -0E-3 -> 0
samq1617 samequantum 7E+3 -0 -> 0
samq1618 samequantum 7E+3 -0E+3 -> 1
samq1619 samequantum 7E+3 0E-3 -> 0
samq1620 samequantum 7E+3 0 -> 0
samq1621 samequantum 7E+3 0E+3 -> 1
samq1622 samequantum 7E+3 7E-3 -> 0
samq1623 samequantum 7E+3 7 -> 0
samq1624 samequantum 7E+3 7E+3 -> 1
samq1625 samequantum 7E+3 sNaN -> 0
samq1710 samequantum sNaN -Inf -> 0
samq1711 samequantum sNaN Inf -> 0
samq1712 samequantum sNaN NaN -> 1
samq1713 samequantum sNaN -7E+3 -> 0
samq1714 samequantum sNaN -7 -> 0
samq1715 samequantum sNaN -7E-3 -> 0
samq1716 samequantum sNaN -0E-3 -> 0
samq1717 samequantum sNaN -0 -> 0
samq1718 samequantum sNaN -0E+3 -> 0
samq1719 samequantum sNaN 0E-3 -> 0
samq1720 samequantum sNaN 0 -> 0
samq1721 samequantum sNaN 0E+3 -> 0
samq1722 samequantum sNaN 7E-3 -> 0
samq1723 samequantum sNaN 7 -> 0
samq1724 samequantum sNaN 7E+3 -> 0
samq1725 samequantum sNaN sNaN -> 1
-- noisy NaNs
samq1730 samequantum sNaN3 sNaN3 -> 1
samq1731 samequantum sNaN3 sNaN4 -> 1
samq1732 samequantum NaN3 NaN3 -> 1
samq1733 samequantum NaN3 NaN4 -> 1
samq1734 samequantum sNaN3 3 -> 0
samq1735 samequantum NaN3 3 -> 0
samq1736 samequantum 4 sNaN4 -> 0
samq1737 samequantum 3 NaN3 -> 0
samq1738 samequantum Inf sNaN4 -> 0
samq1739 samequantum -Inf NaN3 -> 0
Index: abs.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/abs.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** abs.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- abs.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- This set of tests primarily tests the existence of the operator.
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- This set of tests primarily tests the existence of the operator.
***************
*** 151,155 ****
absx521 abs '-Inf' -> 'Infinity'
absx522 abs NaN -> NaN
! absx523 abs sNaN -> NaN Invalid_operation
-- Null tests
--- 151,159 ----
absx521 abs '-Inf' -> 'Infinity'
absx522 abs NaN -> NaN
! absx523 abs sNaN -> NaN Invalid_operation
! absx524 abs NaN22 -> NaN22
! absx525 abs sNaN33 -> NaN33 Invalid_operation
! absx526 abs -NaN22 -> -NaN22
! absx527 abs -sNaN33 -> -NaN33 Invalid_operation
-- Null tests
Index: add.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/add.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** add.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- add.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
precision: 9
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
precision: 9
***************
*** 833,836 ****
--- 833,837 ----
addx792 add 1 -Inf -> -Infinity
addx793 add 1000 -Inf -> -Infinity
+ addx794 add Inf -Inf -> NaN Invalid_operation
addx800 add Inf -Inf -> NaN Invalid_operation
***************
*** 889,916 ****
addx859 add NaN sNaN -> NaN Invalid_operation
-- overflow, underflow and subnormal tests
maxexponent: 999999999
minexponent: -999999999
precision: 9
! addx860 add 1E+999999999 9E+999999999 -> Infinity Overflow Inexact Rounded
! addx861 add 9E+999999999 1E+999999999 -> Infinity Overflow Inexact Rounded
! addx862 add -1.1E-999999999 1E-999999999 -> -1E-1000000000 Subnormal
! addx863 add 1E-999999999 -1.1e-999999999 -> -1E-1000000000 Subnormal
! addx864 add -1.0001E-999999999 1E-999999999 -> -1E-1000000003 Subnormal
! addx865 add 1E-999999999 -1.0001e-999999999 -> -1E-1000000003 Subnormal
! addx866 add -1E+999999999 -9E+999999999 -> -Infinity Overflow Inexact Rounded
! addx867 add -9E+999999999 -1E+999999999 -> -Infinity Overflow Inexact Rounded
! addx868 add +1.1E-999999999 -1E-999999999 -> 1E-1000000000 Subnormal
! addx869 add -1E-999999999 +1.1e-999999999 -> 1E-1000000000 Subnormal
! addx870 add +1.0001E-999999999 -1E-999999999 -> 1E-1000000003 Subnormal
! addx871 add -1E-999999999 +1.0001e-999999999 -> 1E-1000000003 Subnormal
! addx872 add -1E+999999999 +9E+999999999 -> 8E+999999999
! addx873 add -9E+999999999 +1E+999999999 -> -8E+999999999
precision: 3
! addx880 add 0 -9.999E+999999999 -> -Infinity Inexact Overflow Rounded
! addx881 add -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded
! addx882 add 0 9.999E+999999999 -> Infinity Inexact Overflow Rounded
! addx883 add 9.999E+999999999 0 -> Infinity Inexact Overflow Rounded
precision: 3
--- 890,943 ----
addx859 add NaN sNaN -> NaN Invalid_operation
+ -- propagating NaNs
+ addx861 add NaN1 -Inf -> NaN1
+ addx862 add +NaN2 -1000 -> NaN2
+ addx863 add NaN3 1000 -> NaN3
+ addx864 add NaN4 Inf -> NaN4
+ addx865 add NaN5 +NaN6 -> NaN5
+ addx866 add -Inf NaN7 -> NaN7
+ addx867 add -1000 NaN8 -> NaN8
+ addx868 add 1000 NaN9 -> NaN9
+ addx869 add Inf +NaN10 -> NaN10
+ addx871 add sNaN11 -Inf -> NaN11 Invalid_operation
+ addx872 add sNaN12 -1000 -> NaN12 Invalid_operation
+ addx873 add sNaN13 1000 -> NaN13 Invalid_operation
+ addx874 add sNaN14 NaN17 -> NaN14 Invalid_operation
+ addx875 add sNaN15 sNaN18 -> NaN15 Invalid_operation
+ addx876 add NaN16 sNaN19 -> NaN19 Invalid_operation
+ addx877 add -Inf +sNaN20 -> NaN20 Invalid_operation
+ addx878 add -1000 sNaN21 -> NaN21 Invalid_operation
+ addx879 add 1000 sNaN22 -> NaN22 Invalid_operation
+ addx880 add Inf sNaN23 -> NaN23 Invalid_operation
+ addx881 add +NaN25 +sNaN24 -> NaN24 Invalid_operation
+ addx882 add -NaN26 NaN28 -> -NaN26
+ addx883 add -sNaN27 sNaN29 -> -NaN27 Invalid_operation
+ addx884 add 1000 -NaN30 -> -NaN30
+ addx885 add 1000 -sNaN31 -> -NaN31 Invalid_operation
+
-- overflow, underflow and subnormal tests
maxexponent: 999999999
minexponent: -999999999
precision: 9
! addx890 add 1E+999999999 9E+999999999 -> Infinity Overflow Inexact Rounded
! addx891 add 9E+999999999 1E+999999999 -> Infinity Overflow Inexact Rounded
! addx892 add -1.1E-999999999 1E-999999999 -> -1E-1000000000 Subnormal
! addx893 add 1E-999999999 -1.1e-999999999 -> -1E-1000000000 Subnormal
! addx894 add -1.0001E-999999999 1E-999999999 -> -1E-1000000003 Subnormal
! addx895 add 1E-999999999 -1.0001e-999999999 -> -1E-1000000003 Subnormal
! addx896 add -1E+999999999 -9E+999999999 -> -Infinity Overflow Inexact Rounded
! addx897 add -9E+999999999 -1E+999999999 -> -Infinity Overflow Inexact Rounded
! addx898 add +1.1E-999999999 -1E-999999999 -> 1E-1000000000 Subnormal
! addx899 add -1E-999999999 +1.1e-999999999 -> 1E-1000000000 Subnormal
! addx900 add +1.0001E-999999999 -1E-999999999 -> 1E-1000000003 Subnormal
! addx901 add -1E-999999999 +1.0001e-999999999 -> 1E-1000000003 Subnormal
! addx902 add -1E+999999999 +9E+999999999 -> 8E+999999999
! addx903 add -9E+999999999 +1E+999999999 -> -8E+999999999
precision: 3
! addx904 add 0 -9.999E+999999999 -> -Infinity Inexact Overflow Rounded
! addx905 add -9.999E+999999999 0 -> -Infinity Inexact Overflow Rounded
! addx906 add 0 9.999E+999999999 -> Infinity Inexact Overflow Rounded
! addx907 add 9.999E+999999999 0 -> Infinity Inexact Overflow Rounded
precision: 3
***************
*** 968,971 ****
--- 995,1031 ----
addx971 add 0.0001E-999 -0.1E-999 -> -1.0E-1000 Inexact Rounded Subnormal Underflow
+ -- check overflow edge case
+ precision: 7
+ rounding: half_up
+ maxExponent: 96
+ minExponent: -95
+ addx972 apply 9.999999E+96 -> 9.999999E+96
+ addx973 add 9.999999E+96 1 -> 9.999999E+96 Inexact Rounded
+ addx974 add 9999999E+90 1 -> 9.999999E+96 Inexact Rounded
+ addx975 add 9999999E+90 1E+90 -> Infinity Overflow Inexact Rounded
+ addx976 add 9999999E+90 9E+89 -> Infinity Overflow Inexact Rounded
+ addx977 add 9999999E+90 8E+89 -> Infinity Overflow Inexact Rounded
+ addx978 add 9999999E+90 7E+89 -> Infinity Overflow Inexact Rounded
+ addx979 add 9999999E+90 6E+89 -> Infinity Overflow Inexact Rounded
+ addx980 add 9999999E+90 5E+89 -> Infinity Overflow Inexact Rounded
+ addx981 add 9999999E+90 4E+89 -> 9.999999E+96 Inexact Rounded
+ addx982 add 9999999E+90 3E+89 -> 9.999999E+96 Inexact Rounded
+ addx983 add 9999999E+90 2E+89 -> 9.999999E+96 Inexact Rounded
+ addx984 add 9999999E+90 1E+89 -> 9.999999E+96 Inexact Rounded
+
+ addx985 apply -9.999999E+96 -> -9.999999E+96
+ addx986 add -9.999999E+96 -1 -> -9.999999E+96 Inexact Rounded
+ addx987 add -9999999E+90 -1 -> -9.999999E+96 Inexact Rounded
+ addx988 add -9999999E+90 -1E+90 -> -Infinity Overflow Inexact Rounded
+ addx989 add -9999999E+90 -9E+89 -> -Infinity Overflow Inexact Rounded
+ addx990 add -9999999E+90 -8E+89 -> -Infinity Overflow Inexact Rounded
+ addx991 add -9999999E+90 -7E+89 -> -Infinity Overflow Inexact Rounded
+ addx992 add -9999999E+90 -6E+89 -> -Infinity Overflow Inexact Rounded
+ addx993 add -9999999E+90 -5E+89 -> -Infinity Overflow Inexact Rounded
+ addx994 add -9999999E+90 -4E+89 -> -9.999999E+96 Inexact Rounded
+ addx995 add -9999999E+90 -3E+89 -> -9.999999E+96 Inexact Rounded
+ addx996 add -9999999E+90 -2E+89 -> -9.999999E+96 Inexact Rounded
+ addx997 add -9999999E+90 -1E+89 -> -9.999999E+96 Inexact Rounded
+
-- check for double-rounded subnormals
precision: 5
Index: base.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/base.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** base.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- base.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- This file tests base conversions from string to a decimal number
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- This file tests base conversions from string to a decimal number
***************
*** 353,356 ****
--- 353,357 ----
basx411 toSci 7E-13 -> 7E-13
basx412 toEng 7E-13 -> 700E-15
+
-- Exacts remain exact up to precision ..
precision: 9
***************
*** 566,597 ****
basx567 toSci "Infinit" -> NaN Conversion_syntax
basx568 toSci "-Infinit" -> NaN Conversion_syntax
! basx569 toSci "-sNa" -> NaN Conversion_syntax
-- subnormals and overflows
! basx570 toSci '99e999999999' -> Infinity Overflow Inexact Rounded
! basx571 toSci '999e999999999' -> Infinity Overflow Inexact Rounded
! basx572 toSci '0.9e-999999999' -> 9E-1000000000 Subnormal
! basx573 toSci '0.09e-999999999' -> 9E-1000000001 Subnormal
! basx574 toSci '0.1e1000000000' -> 1E+999999999
! basx575 toSci '10e-1000000000' -> 1.0E-999999999
! basx576 toSci '0.9e9999999999' -> Infinity Overflow Inexact Rounded
! basx577 toSci '99e-9999999999' -> 0E-1000000007 Underflow Subnormal Inexact Rounded
! basx578 toSci '111e9999999999' -> Infinity Overflow Inexact Rounded
! basx579 toSci '1111e-9999999999' -> 0E-1000000007 Underflow Subnormal Inexact Rounded
! basx580 toSci '1111e-99999999999' -> 0E-1000000007 Underflow Subnormal Inexact Rounded
! basx581 toSci '7e1000000000' -> Infinity Overflow Inexact Rounded
-- negatives the same
! basx582 toSci '-99e999999999' -> -Infinity Overflow Inexact Rounded
! basx583 toSci '-999e999999999' -> -Infinity Overflow Inexact Rounded
! basx584 toSci '-0.9e-999999999' -> -9E-1000000000 Subnormal
! basx585 toSci '-0.09e-999999999' -> -9E-1000000001 Subnormal
! basx586 toSci '-0.1e1000000000' -> -1E+999999999
! basx587 toSci '-10e-1000000000' -> -1.0E-999999999
! basx588 toSci '-0.9e9999999999' -> -Infinity Overflow Inexact Rounded
! basx589 toSci '-99e-9999999999' -> -0E-1000000007 Underflow Subnormal Inexact Rounded
! basx590 toSci '-111e9999999999' -> -Infinity Overflow Inexact Rounded
! basx591 toSci '-1111e-9999999999' -> -0E-1000000007 Underflow Subnormal Inexact Rounded
! basx592 toSci '-1111e-99999999999' -> -0E-1000000007 Underflow Subnormal Inexact Rounded
! basx593 toSci '-7e1000000000' -> -Infinity Overflow Inexact Rounded
-- Zeros
--- 567,604 ----
basx567 toSci "Infinit" -> NaN Conversion_syntax
basx568 toSci "-Infinit" -> NaN Conversion_syntax
! basx569 toSci "0Inf" -> NaN Conversion_syntax
! basx570 toSci "9Inf" -> NaN Conversion_syntax
! basx571 toSci "-0Inf" -> NaN Conversion_syntax
! basx572 toSci "-9Inf" -> NaN Conversion_syntax
! basx573 toSci "-sNa" -> NaN Conversion_syntax
! basx574 toSci "xNaN" -> NaN Conversion_syntax
! basx575 toSci "0sNaN" -> NaN Conversion_syntax
-- subnormals and overflows
! basx576 toSci '99e999999999' -> Infinity Overflow Inexact Rounded
! basx577 toSci '999e999999999' -> Infinity Overflow Inexact Rounded
! basx578 toSci '0.9e-999999999' -> 9E-1000000000 Subnormal
! basx579 toSci '0.09e-999999999' -> 9E-1000000001 Subnormal
! basx580 toSci '0.1e1000000000' -> 1E+999999999
! basx581 toSci '10e-1000000000' -> 1.0E-999999999
! basx582 toSci '0.9e9999999999' -> Infinity Overflow Inexact Rounded
! basx583 toSci '99e-9999999999' -> 0E-1000000007 Underflow Subnormal Inexact Rounded
! basx584 toSci '111e9999999999' -> Infinity Overflow Inexact Rounded
! basx585 toSci '1111e-9999999999' -> 0E-1000000007 Underflow Subnormal Inexact Rounded
! basx586 toSci '1111e-99999999999' -> 0E-1000000007 Underflow Subnormal Inexact Rounded
! basx587 toSci '7e1000000000' -> Infinity Overflow Inexact Rounded
-- negatives the same
! basx588 toSci '-99e999999999' -> -Infinity Overflow Inexact Rounded
! basx589 toSci '-999e999999999' -> -Infinity Overflow Inexact Rounded
! basx590 toSci '-0.9e-999999999' -> -9E-1000000000 Subnormal
! basx591 toSci '-0.09e-999999999' -> -9E-1000000001 Subnormal
! basx592 toSci '-0.1e1000000000' -> -1E+999999999
! basx593 toSci '-10e-1000000000' -> -1.0E-999999999
! basx594 toSci '-0.9e9999999999' -> -Infinity Overflow Inexact Rounded
! basx595 toSci '-99e-9999999999' -> -0E-1000000007 Underflow Subnormal Inexact Rounded
! basx596 toSci '-111e9999999999' -> -Infinity Overflow Inexact Rounded
! basx597 toSci '-1111e-9999999999' -> -0E-1000000007 Underflow Subnormal Inexact Rounded
! basx598 toSci '-1111e-99999999999' -> -0E-1000000007 Underflow Subnormal Inexact Rounded
! basx599 toSci '-7e1000000000' -> -Infinity Overflow Inexact Rounded
-- Zeros
***************
*** 675,716 ****
-- Specials
basx700 toSci "NaN" -> NaN
basx701 toSci "nan" -> NaN
basx702 toSci "nAn" -> NaN
basx703 toSci "NAN" -> NaN
! basx704 toSci "+NaN" -> NaN Conversion_syntax
! basx705 toSci "+nan" -> NaN Conversion_syntax
! basx706 toSci "+nAn" -> NaN Conversion_syntax
! basx707 toSci "+NAN" -> NaN Conversion_syntax
! basx708 toSci "-NaN" -> NaN Conversion_syntax
! basx709 toSci "-nan" -> NaN Conversion_syntax
! basx710 toSci "-nAn" -> NaN Conversion_syntax
! basx711 toSci "-NAN" -> NaN Conversion_syntax
! basx720 toSci "sNaN" -> sNaN
! basx721 toSci "snan" -> sNaN
! basx722 toSci "SnAn" -> sNaN
! basx723 toSci "SNAN" -> sNaN
! basx724 toSci "+sNaN" -> NaN Conversion_syntax
! basx725 toSci "+snan" -> NaN Conversion_syntax
! basx726 toSci "+SnAn" -> NaN Conversion_syntax
! basx727 toSci "+SNAN" -> NaN Conversion_syntax
! basx728 toSci "-sNaN" -> NaN Conversion_syntax
! basx729 toSci "-snan" -> NaN Conversion_syntax
! basx730 toSci "-SnAn" -> NaN Conversion_syntax
! basx731 toSci "-SNAN" -> NaN Conversion_syntax
! basx740 toSci "Inf" -> Infinity
! basx741 toSci "inf" -> Infinity
! basx742 toSci "iNf" -> Infinity
! basx743 toSci "INF" -> Infinity
! basx744 toSci "+Inf" -> Infinity
! basx745 toSci "+inf" -> Infinity
! basx746 toSci "+iNf" -> Infinity
! basx747 toSci "+INF" -> Infinity
! basx748 toSci "-Inf" -> -Infinity
! basx749 toSci "-inf" -> -Infinity
! basx750 toSci "-iNf" -> -Infinity
! basx751 toSci "-INF" -> -Infinity
basx760 toSci "Infinity" -> Infinity
--- 682,748 ----
-- Specials
+ precision: 4
basx700 toSci "NaN" -> NaN
basx701 toSci "nan" -> NaN
basx702 toSci "nAn" -> NaN
basx703 toSci "NAN" -> NaN
! basx704 toSci "+NaN" -> NaN
! basx705 toSci "+nan" -> NaN
! basx706 toSci "+nAn" -> NaN
! basx707 toSci "+NAN" -> NaN
! basx708 toSci "-NaN" -> -NaN
! basx709 toSci "-nan" -> -NaN
! basx710 toSci "-nAn" -> -NaN
! basx711 toSci "-NAN" -> -NaN
! basx712 toSci 'NaN0' -> NaN
! basx713 toSci 'NaN1' -> NaN1
! basx714 toSci 'NaN12' -> NaN12
! basx715 toSci 'NaN123' -> NaN123
! basx716 toSci 'NaN1234' -> NaN1234
! basx717 toSci 'NaN01' -> NaN1
! basx718 toSci 'NaN012' -> NaN12
! basx719 toSci 'NaN0123' -> NaN123
! basx720 toSci 'NaN01234' -> NaN1234
! basx721 toSci 'NaN001' -> NaN1
! basx722 toSci 'NaN0012' -> NaN12
! basx723 toSci 'NaN00123' -> NaN123
! basx724 toSci 'NaN001234' -> NaN1234
! basx725 toSci 'NaN12345' -> NaN Conversion_syntax
! basx726 toSci 'NaN123e+1' -> NaN Conversion_syntax
! basx727 toSci 'NaN12.45' -> NaN Conversion_syntax
! basx728 toSci 'NaN-12' -> NaN Conversion_syntax
! basx729 toSci 'NaN+12' -> NaN Conversion_syntax
! basx730 toSci "sNaN" -> sNaN
! basx731 toSci "snan" -> sNaN
! basx732 toSci "SnAn" -> sNaN
! basx733 toSci "SNAN" -> sNaN
! basx734 toSci "+sNaN" -> sNaN
! basx735 toSci "+snan" -> sNaN
! basx736 toSci "+SnAn" -> sNaN
! basx737 toSci "+SNAN" -> sNaN
! basx738 toSci "-sNaN" -> -sNaN
! basx739 toSci "-snan" -> -sNaN
! basx740 toSci "-SnAn" -> -sNaN
! basx741 toSci "-SNAN" -> -sNaN
! basx742 toSci 'sNaN0000' -> sNaN
! basx743 toSci 'sNaN7' -> sNaN7
! basx744 toSci 'sNaN007234' -> sNaN7234
! basx745 toSci 'sNaN72345' -> NaN Conversion_syntax
! basx746 toSci 'sNaN72.45' -> NaN Conversion_syntax
! basx747 toSci 'sNaN-72' -> NaN Conversion_syntax
! basx748 toSci "Inf" -> Infinity
! basx749 toSci "inf" -> Infinity
! basx750 toSci "iNf" -> Infinity
! basx751 toSci "INF" -> Infinity
! basx752 toSci "+Inf" -> Infinity
! basx753 toSci "+inf" -> Infinity
! basx754 toSci "+iNf" -> Infinity
! basx755 toSci "+INF" -> Infinity
! basx756 toSci "-Inf" -> -Infinity
! basx757 toSci "-inf" -> -Infinity
! basx758 toSci "-iNf" -> -Infinity
! basx759 toSci "-INF" -> -Infinity
basx760 toSci "Infinity" -> Infinity
***************
*** 730,738 ****
basx772 toEng "NaN" -> NaN
basx773 toEng "-Infinity" -> -Infinity
! basx774 toEng "-sNaN" -> NaN Conversion_syntax
! basx775 toEng "-NaN" -> NaN Conversion_syntax
basx776 toEng "+Infinity" -> Infinity
! basx778 toEng "+sNaN" -> NaN Conversion_syntax
! basx779 toEng "+NaN" -> NaN Conversion_syntax
basx780 toEng "INFINITY" -> Infinity
basx781 toEng "SNAN" -> sNaN
--- 762,770 ----
basx772 toEng "NaN" -> NaN
basx773 toEng "-Infinity" -> -Infinity
! basx774 toEng "-sNaN" -> -sNaN
! basx775 toEng "-NaN" -> -NaN
basx776 toEng "+Infinity" -> Infinity
! basx778 toEng "+sNaN" -> sNaN
! basx779 toEng "+NaN" -> NaN
basx780 toEng "INFINITY" -> Infinity
basx781 toEng "SNAN" -> sNaN
***************
*** 750,756 ****
basx793 toEng "sNaN" -> sNaN
basx801 toEng 0.000000000 -> 0E-9
! basx802 toEng 0.00000000 -> 0E-9
! basx803 toEng 0.0000000 -> 0E-9
basx804 toEng 0.000000 -> 0.000000
basx805 toEng 0.00000 -> 0.00000
--- 782,791 ----
basx793 toEng "sNaN" -> sNaN
+ -- Zero toEng, etc.
+ basx800 toEng 0e+1 -> "0.00E+3" -- doc example
+
basx801 toEng 0.000000000 -> 0E-9
! basx802 toEng 0.00000000 -> 0.00E-6
! basx803 toEng 0.0000000 -> 0.0E-6
basx804 toEng 0.000000 -> 0.000000
basx805 toEng 0.00000 -> 0.00000
***************
*** 769,774 ****
basx818 toEng -0.00000 -> -0.00000
basx819 toEng -0.000000 -> -0.000000
! basx820 toEng -0.0000000 -> -0E-9
! basx821 toEng -0.00000000 -> -0E-9
basx822 toEng -0.000000000 -> -0E-9
--- 804,809 ----
basx818 toEng -0.00000 -> -0.00000
basx819 toEng -0.000000 -> -0.000000
! basx820 toEng -0.0000000 -> -0.0E-6
! basx821 toEng -0.00000000 -> -0.00E-6
basx822 toEng -0.000000000 -> -0E-9
***************
*** 776,807 ****
basx831 toEng 0.00E+1 -> 0.0
basx832 toEng 0.00E+2 -> 0
! basx833 toEng 0.00E+3 -> 0
! basx834 toEng 0.00E+4 -> 0
basx835 toEng 0.00E+5 -> 0E+3
! basx836 toEng 0.00E+6 -> 0E+3
! basx837 toEng 0.00E+7 -> 0E+3
basx838 toEng 0.00E+8 -> 0E+6
! basx839 toEng 0.00E+9 -> 0E+6
basx840 toEng 0.0E+0 -> 0.0
basx841 toEng 0.0E+1 -> 0
! basx842 toEng 0.0E+2 -> 0
! basx843 toEng 0.0E+3 -> 0
basx844 toEng 0.0E+4 -> 0E+3
! basx845 toEng 0.0E+5 -> 0E+3
! basx846 toEng 0.0E+6 -> 0E+3
basx847 toEng 0.0E+7 -> 0E+6
! basx848 toEng 0.0E+8 -> 0E+6
! basx849 toEng 0.0E+9 -> 0E+6
basx850 toEng 0E+0 -> 0
! basx851 toEng 0E+1 -> 0
! basx852 toEng 0E+2 -> 0
basx853 toEng 0E+3 -> 0E+3
! basx854 toEng 0E+4 -> 0E+3
! basx855 toEng 0E+5 -> 0E+3
basx856 toEng 0E+6 -> 0E+6
! basx857 toEng 0E+7 -> 0E+6
! basx858 toEng 0E+8 -> 0E+6
basx859 toEng 0E+9 -> 0E+9
--- 811,842 ----
basx831 toEng 0.00E+1 -> 0.0
basx832 toEng 0.00E+2 -> 0
! basx833 toEng 0.00E+3 -> 0.00E+3
! basx834 toEng 0.00E+4 -> 0.0E+3
basx835 toEng 0.00E+5 -> 0E+3
! basx836 toEng 0.00E+6 -> 0.00E+6
! basx837 toEng 0.00E+7 -> 0.0E+6
basx838 toEng 0.00E+8 -> 0E+6
! basx839 toEng 0.00E+9 -> 0.00E+9
basx840 toEng 0.0E+0 -> 0.0
basx841 toEng 0.0E+1 -> 0
! basx842 toEng 0.0E+2 -> 0.00E+3
! basx843 toEng 0.0E+3 -> 0.0E+3
basx844 toEng 0.0E+4 -> 0E+3
! basx845 toEng 0.0E+5 -> 0.00E+6
! basx846 toEng 0.0E+6 -> 0.0E+6
basx847 toEng 0.0E+7 -> 0E+6
! basx848 toEng 0.0E+8 -> 0.00E+9
! basx849 toEng 0.0E+9 -> 0.0E+9
basx850 toEng 0E+0 -> 0
! basx851 toEng 0E+1 -> 0.00E+3
! basx852 toEng 0E+2 -> 0.0E+3
basx853 toEng 0E+3 -> 0E+3
! basx854 toEng 0E+4 -> 0.00E+6
! basx855 toEng 0E+5 -> 0.0E+6
basx856 toEng 0E+6 -> 0E+6
! basx857 toEng 0E+7 -> 0.00E+9
! basx858 toEng 0E+8 -> 0.0E+9
basx859 toEng 0E+9 -> 0E+9
***************
*** 812,819 ****
basx864 toEng 0.0E-4 -> 0.00000
basx865 toEng 0.0E-5 -> 0.000000
! basx866 toEng 0.0E-6 -> 0E-9
! basx867 toEng 0.0E-7 -> 0E-9
basx868 toEng 0.0E-8 -> 0E-9
! basx869 toEng 0.0E-9 -> 0E-12
basx870 toEng 0.00E-0 -> 0.00
--- 847,854 ----
basx864 toEng 0.0E-4 -> 0.00000
basx865 toEng 0.0E-5 -> 0.000000
! basx866 toEng 0.0E-6 -> 0.0E-6
! basx867 toEng 0.0E-7 -> 0.00E-6
basx868 toEng 0.0E-8 -> 0E-9
! basx869 toEng 0.0E-9 -> 0.0E-9
basx870 toEng 0.00E-0 -> 0.00
***************
*** 822,830 ****
basx873 toEng 0.00E-3 -> 0.00000
basx874 toEng 0.00E-4 -> 0.000000
! basx875 toEng 0.00E-5 -> 0E-9
! basx876 toEng 0.00E-6 -> 0E-9
basx877 toEng 0.00E-7 -> 0E-9
! basx878 toEng 0.00E-8 -> 0E-12
! basx879 toEng 0.00E-9 -> 0E-12
-- Giga exponent initial tests
--- 857,865 ----
basx873 toEng 0.00E-3 -> 0.00000
basx874 toEng 0.00E-4 -> 0.000000
! basx875 toEng 0.00E-5 -> 0.0E-6
! basx876 toEng 0.00E-6 -> 0.00E-6
basx877 toEng 0.00E-7 -> 0E-9
! basx878 toEng 0.00E-8 -> 0.0E-9
! basx879 toEng 0.00E-9 -> 0.00E-9
-- Giga exponent initial tests
Index: clamp.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/clamp.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** clamp.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- clamp.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- This set of tests uses the same limits as the 8-byte concrete
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- This set of tests uses the same limits as the 8-byte concrete
Index: compare.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/compare.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** compare.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- compare.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- Note that we cannot assume add/subtract tests cover paths adequately,
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- Note that we cannot assume add/subtract tests cover paths adequately,
***************
*** 632,635 ****
--- 632,638 ----
comx836 compare 1000 NaN -> NaN
comx837 compare Inf NaN -> NaN
+ comx838 compare -NaN -NaN -> -NaN
+ comx839 compare +NaN -NaN -> NaN
+ comx840 compare -NaN +NaN -> -NaN
comx841 compare sNaN -Inf -> NaN Invalid_operation
***************
*** 653,691 ****
comx859 compare NaN sNaN -> NaN Invalid_operation
-- overflow and underflow tests .. subnormal results now allowed
maxExponent: 999999999
minexponent: -999999999
! comx860 compare +1.23456789012345E-0 9E+999999999 -> -1
! comx861 compare 9E+999999999 +1.23456789012345E-0 -> 1
! comx862 compare +0.100 9E-999999999 -> 1
! comx863 compare 9E-999999999 +0.100 -> -1
! comx865 compare -1.23456789012345E-0 9E+999999999 -> -1
! comx866 compare 9E+999999999 -1.23456789012345E-0 -> 1
! comx867 compare -0.100 9E-999999999 -> -1
! comx868 compare 9E-999999999 -0.100 -> 1
! comx869 compare 1e-599999999 1e-400000001 -> -1
! comx870 compare 1e-599999999 1e-400000000 -> -1
! comx871 compare 1e-600000000 1e-400000000 -> -1
! comx872 compare 9e-999999998 0.01 -> -1
! comx873 compare 9e-999999998 0.1 -> -1
! comx874 compare 0.01 9e-999999998 -> 1
! comx875 compare 1e599999999 1e400000001 -> 1
! comx876 compare 1e599999999 1e400000000 -> 1
! comx877 compare 1e600000000 1e400000000 -> 1
! comx878 compare 9e999999998 100 -> 1
! comx879 compare 9e999999998 10 -> 1
! comx880 compare 100 9e999999998 -> -1
-- signs
! comx881 compare 1e+777777777 1e+411111111 -> 1
! comx882 compare 1e+777777777 -1e+411111111 -> 1
! comx883 compare -1e+777777777 1e+411111111 -> -1
! comx884 compare -1e+777777777 -1e+411111111 -> -1
! comx885 compare 1e-777777777 1e-411111111 -> -1
! comx886 compare 1e-777777777 -1e-411111111 -> 1
! comx887 compare -1e-777777777 1e-411111111 -> -1
! comx888 compare -1e-777777777 -1e-411111111 -> 1
-- Null tests
! comx900 compare 10 # -> NaN Invalid_operation
! comx901 compare # 10 -> NaN Invalid_operation
--- 656,717 ----
comx859 compare NaN sNaN -> NaN Invalid_operation
+ -- propagating NaNs
+ comx860 compare NaN9 -Inf -> NaN9
+ comx861 compare NaN8 999 -> NaN8
+ comx862 compare NaN77 Inf -> NaN77
+ comx863 compare -NaN67 NaN5 -> -NaN67
+ comx864 compare -Inf -NaN4 -> -NaN4
+ comx865 compare -999 -NaN33 -> -NaN33
+ comx866 compare Inf NaN2 -> NaN2
+ comx867 compare -NaN41 -NaN42 -> -NaN41
+ comx868 compare +NaN41 -NaN42 -> NaN41
+ comx869 compare -NaN41 +NaN42 -> -NaN41
+ comx870 compare +NaN41 +NaN42 -> NaN41
+
+ comx871 compare -sNaN99 -Inf -> -NaN99 Invalid_operation
+ comx872 compare sNaN98 -11 -> NaN98 Invalid_operation
+ comx873 compare sNaN97 NaN -> NaN97 Invalid_operation
+ comx874 compare sNaN16 sNaN94 -> NaN16 Invalid_operation
+ comx875 compare NaN85 sNaN83 -> NaN83 Invalid_operation
+ comx876 compare -Inf sNaN92 -> NaN92 Invalid_operation
+ comx877 compare 088 sNaN81 -> NaN81 Invalid_operation
+ comx878 compare Inf sNaN90 -> NaN90 Invalid_operation
+ comx879 compare NaN -sNaN89 -> -NaN89 Invalid_operation
+
-- overflow and underflow tests .. subnormal results now allowed
maxExponent: 999999999
minexponent: -999999999
! comx880 compare +1.23456789012345E-0 9E+999999999 -> -1
! comx881 compare 9E+999999999 +1.23456789012345E-0 -> 1
! comx882 compare +0.100 9E-999999999 -> 1
! comx883 compare 9E-999999999 +0.100 -> -1
! comx885 compare -1.23456789012345E-0 9E+999999999 -> -1
! comx886 compare 9E+999999999 -1.23456789012345E-0 -> 1
! comx887 compare -0.100 9E-999999999 -> -1
! comx888 compare 9E-999999999 -0.100 -> 1
! comx889 compare 1e-599999999 1e-400000001 -> -1
! comx890 compare 1e-599999999 1e-400000000 -> -1
! comx891 compare 1e-600000000 1e-400000000 -> -1
! comx892 compare 9e-999999998 0.01 -> -1
! comx893 compare 9e-999999998 0.1 -> -1
! comx894 compare 0.01 9e-999999998 -> 1
! comx895 compare 1e599999999 1e400000001 -> 1
! comx896 compare 1e599999999 1e400000000 -> 1
! comx897 compare 1e600000000 1e400000000 -> 1
! comx898 compare 9e999999998 100 -> 1
! comx899 compare 9e999999998 10 -> 1
! comx900 compare 100 9e999999998 -> -1
-- signs
! comx901 compare 1e+777777777 1e+411111111 -> 1
! comx902 compare 1e+777777777 -1e+411111111 -> 1
! comx903 compare -1e+777777777 1e+411111111 -> -1
! comx904 compare -1e+777777777 -1e+411111111 -> -1
! comx905 compare 1e-777777777 1e-411111111 -> -1
! comx906 compare 1e-777777777 -1e-411111111 -> 1
! comx907 compare -1e-777777777 1e-411111111 -> -1
! comx908 compare -1e-777777777 -1e-411111111 -> 1
-- Null tests
! comx990 compare 10 # -> NaN Invalid_operation
! comx991 compare # 10 -> NaN Invalid_operation
Index: divide.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/divide.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** divide.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- divide.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
***************
*** 134,137 ****
--- 134,140 ----
divx119 divide 10 1 -> 10
+ divx120 divide 3E+1 0.001 -> 3E+4
+ divx121 divide 2.200 2 -> 1.100
+
divx130 divide 12345 4.999 -> 2469.49390 Inexact Rounded
divx131 divide 12345 4.99 -> 2473.94790 Inexact Rounded
***************
*** 304,307 ****
--- 307,318 ----
divx452 divide 1 1234567896 -> 8.10000003434400E-10 Inexact Rounded
+ -- high-lows
+ divx453 divide 1e+1 1 -> 1E+1
+ divx454 divide 1e+1 1.0 -> 1E+1
+ divx455 divide 1e+1 1.00 -> 1E+1
+ divx456 divide 1e+2 2 -> 5E+1
+ divx457 divide 1e+2 2.0 -> 5E+1
+ divx458 divide 1e+2 2.00 -> 5E+1
+
-- some from IEEE discussions
divx460 divide 3e0 2e0 -> 1.5
***************
*** 528,532 ****
-- more zeros, etc.
! precision: 9
divx731 divide 5.00 1E-3 -> 5.00E+3
divx732 divide 00.00 0.000 -> NaN Division_undefined
--- 539,547 ----
-- more zeros, etc.
! precision: 16
! rounding: half_up
! maxExponent: 384
! minExponent: -383
!
divx731 divide 5.00 1E-3 -> 5.00E+3
divx732 divide 00.00 0.000 -> NaN Division_undefined
***************
*** 576,591 ****
divx781 divide Inf -1000 -> -Infinity
divx782 divide Inf -1 -> -Infinity
! divx783 divide Inf -0 -> -Infinity Division_by_zero
! divx784 divide Inf 0 -> Infinity Division_by_zero
divx785 divide Inf 1 -> Infinity
divx786 divide Inf 1000 -> Infinity
divx787 divide Inf Inf -> NaN Invalid_operation
! divx788 divide -1000 Inf -> -0E-1007 Clamped
divx789 divide -Inf Inf -> NaN Invalid_operation
! divx790 divide -1 Inf -> -0E-1007 Clamped
! divx791 divide -0 Inf -> -0E-1007 Clamped
! divx792 divide 0 Inf -> 0E-1007 Clamped
! divx793 divide 1 Inf -> 0E-1007 Clamped
! divx794 divide 1000 Inf -> 0E-1007 Clamped
divx795 divide Inf Inf -> NaN Invalid_operation
--- 591,606 ----
divx781 divide Inf -1000 -> -Infinity
divx782 divide Inf -1 -> -Infinity
! divx783 divide Inf -0 -> -Infinity
! divx784 divide Inf 0 -> Infinity
divx785 divide Inf 1 -> Infinity
divx786 divide Inf 1000 -> Infinity
divx787 divide Inf Inf -> NaN Invalid_operation
! divx788 divide -1000 Inf -> -0E-398 Clamped
divx789 divide -Inf Inf -> NaN Invalid_operation
! divx790 divide -1 Inf -> -0E-398 Clamped
! divx791 divide -0 Inf -> -0E-398 Clamped
! divx792 divide 0 Inf -> 0E-398 Clamped
! divx793 divide 1 Inf -> 0E-398 Clamped
! divx794 divide 1000 Inf -> 0E-398 Clamped
divx795 divide Inf Inf -> NaN Invalid_operation
***************
*** 593,608 ****
divx801 divide -Inf -1000 -> Infinity
divx802 divide -Inf -1 -> Infinity
! divx803 divide -Inf -0 -> Infinity Division_by_zero
! divx804 divide -Inf 0 -> -Infinity Division_by_zero
divx805 divide -Inf 1 -> -Infinity
divx806 divide -Inf 1000 -> -Infinity
divx807 divide -Inf Inf -> NaN Invalid_operation
! divx808 divide -1000 Inf -> -0E-1007 Clamped
divx809 divide -Inf -Inf -> NaN Invalid_operation
! divx810 divide -1 -Inf -> 0E-1007 Clamped
! divx811 divide -0 -Inf -> 0E-1007 Clamped
! divx812 divide 0 -Inf -> -0E-1007 Clamped
! divx813 divide 1 -Inf -> -0E-1007 Clamped
! divx814 divide 1000 -Inf -> -0E-1007 Clamped
divx815 divide Inf -Inf -> NaN Invalid_operation
--- 608,623 ----
divx801 divide -Inf -1000 -> Infinity
divx802 divide -Inf -1 -> Infinity
! divx803 divide -Inf -0 -> Infinity
! divx804 divide -Inf 0 -> -Infinity
divx805 divide -Inf 1 -> -Infinity
divx806 divide -Inf 1000 -> -Infinity
divx807 divide -Inf Inf -> NaN Invalid_operation
! divx808 divide -1000 Inf -> -0E-398 Clamped
divx809 divide -Inf -Inf -> NaN Invalid_operation
! divx810 divide -1 -Inf -> 0E-398 Clamped
! divx811 divide -0 -Inf -> 0E-398 Clamped
! divx812 divide 0 -Inf -> -0E-398 Clamped
! divx813 divide 1 -Inf -> -0E-398 Clamped
! divx814 divide 1000 -Inf -> -0E-398 Clamped
divx815 divide Inf -Inf -> NaN Invalid_operation
***************
*** 645,648 ****
--- 660,700 ----
divx859 divide NaN sNaN -> NaN Invalid_operation
+ -- propagating NaNs
+ divx861 divide NaN9 -Inf -> NaN9
+ divx862 divide NaN8 1000 -> NaN8
+ divx863 divide NaN7 Inf -> NaN7
+ divx864 divide NaN6 NaN5 -> NaN6
+ divx865 divide -Inf NaN4 -> NaN4
+ divx866 divide -1000 NaN3 -> NaN3
+ divx867 divide Inf NaN2 -> NaN2
+
+ divx871 divide sNaN99 -Inf -> NaN99 Invalid_operation
+ divx872 divide sNaN98 -1 -> NaN98 Invalid_operation
+ divx873 divide sNaN97 NaN -> NaN97 Invalid_operation
+ divx874 divide sNaN96 sNaN94 -> NaN96 Invalid_operation
+ divx875 divide NaN95 sNaN93 -> NaN93 Invalid_operation
+ divx876 divide -Inf sNaN92 -> NaN92 Invalid_operation
+ divx877 divide 0 sNaN91 -> NaN91 Invalid_operation
+ divx878 divide Inf sNaN90 -> NaN90 Invalid_operation
+ divx879 divide NaN sNaN89 -> NaN89 Invalid_operation
+
+ divx881 divide -NaN9 -Inf -> -NaN9
+ divx882 divide -NaN8 1000 -> -NaN8
+ divx883 divide -NaN7 Inf -> -NaN7
+ divx884 divide -NaN6 -NaN5 -> -NaN6
+ divx885 divide -Inf -NaN4 -> -NaN4
+ divx886 divide -1000 -NaN3 -> -NaN3
+ divx887 divide Inf -NaN2 -> -NaN2
+
+ divx891 divide -sNaN99 -Inf -> -NaN99 Invalid_operation
+ divx892 divide -sNaN98 -1 -> -NaN98 Invalid_operation
+ divx893 divide -sNaN97 NaN -> -NaN97 Invalid_operation
+ divx894 divide -sNaN96 -sNaN94 -> -NaN96 Invalid_operation
+ divx895 divide -NaN95 -sNaN93 -> -NaN93 Invalid_operation
+ divx896 divide -Inf -sNaN92 -> -NaN92 Invalid_operation
+ divx897 divide 0 -sNaN91 -> -NaN91 Invalid_operation
+ divx898 divide Inf -sNaN90 -> -NaN90 Invalid_operation
+ divx899 divide -NaN -sNaN89 -> -NaN89 Invalid_operation
+
maxexponent: 999999999
minexponent: -999999999
***************
*** 689,692 ****
--- 741,745 ----
-- overflow and underflow tests
+ precision: 9
maxexponent: 999999999
minexponent: -999999999
***************
*** 751,754 ****
--- 804,816 ----
divx1003 divide 1.52446E-80 1 -> 1.524E-80 Inexact Rounded Subnormal Underflow
+ -- a rounding problem in one implementation
+ precision: 34
+ rounding: half_up
+ maxExponent: 6144
+ minExponent: -6143
+ -- Unbounded answer to 40 digits:
+ -- 1.465811965811965811965811965811965811966E+7000
+ divx1010 divide 343E6000 234E-1000 -> Infinity Overflow Inexact Rounded
+
-- Null tests
divx9998 divide 10 # -> NaN Invalid_operation
Index: divideint.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/divideint.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** divideint.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- divideint.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
***************
*** 337,342 ****
dvix581 divideint Inf -1000 -> -Infinity
dvix582 divideint Inf -1 -> -Infinity
! dvix583 divideint Inf -0 -> -Infinity Division_by_zero
! dvix584 divideint Inf 0 -> Infinity Division_by_zero
dvix585 divideint Inf 1 -> Infinity
dvix586 divideint Inf 1000 -> Infinity
--- 337,342 ----
dvix581 divideint Inf -1000 -> -Infinity
dvix582 divideint Inf -1 -> -Infinity
! dvix583 divideint Inf -0 -> -Infinity
! dvix584 divideint Inf 0 -> Infinity
dvix585 divideint Inf 1 -> Infinity
dvix586 divideint Inf 1000 -> Infinity
***************
*** 354,359 ****
dvix601 divideint -Inf -1000 -> Infinity
dvix602 divideint -Inf -1 -> Infinity
! dvix603 divideint -Inf -0 -> Infinity Division_by_zero
! dvix604 divideint -Inf 0 -> -Infinity Division_by_zero
dvix605 divideint -Inf 1 -> -Infinity
dvix606 divideint -Inf 1000 -> -Infinity
--- 354,359 ----
dvix601 divideint -Inf -1000 -> Infinity
dvix602 divideint -Inf -1 -> Infinity
! dvix603 divideint -Inf -0 -> Infinity
! dvix604 divideint -Inf 0 -> -Infinity
dvix605 divideint -Inf 1 -> -Infinity
dvix606 divideint -Inf 1000 -> -Infinity
***************
*** 406,447 ****
dvix659 divideint NaN sNaN -> NaN Invalid_operation
-- some long operand cases again
precision: 8
! dvix660 divideint 100000001 1 -> NaN Division_impossible
! dvix661 divideint 100000000.4 1 -> NaN Division_impossible
! dvix662 divideint 100000000.5 1 -> NaN Division_impossible
! dvix663 divideint 100000000.9 1 -> NaN Division_impossible
! dvix664 divideint 100000000.999 1 -> NaN Division_impossible
precision: 6
! dvix690 divideint 100000000 1 -> NaN Division_impossible
! dvix691 divideint 10000000 1 -> NaN Division_impossible
! dvix692 divideint 1000000 1 -> NaN Division_impossible
! dvix693 divideint 100000 1 -> 100000
! dvix694 divideint 10000 1 -> 10000
! dvix695 divideint 1000 1 -> 1000
! dvix696 divideint 100 1 -> 100
! dvix697 divideint 10 1 -> 10
! dvix698 divideint 1 1 -> 1
precision: 9
maxexponent: 999999999
minexponent: -999999999
! dvix672 divideint 1 0.99e999999999 -> 0
! dvix673 divideint 1 0.999999999e999999999 -> 0
! dvix674 divideint 9e999999999 1 -> NaN Division_impossible
! dvix675 divideint 9.9e999999999 1 -> NaN Division_impossible
! dvix676 divideint 9.99e999999999 1 -> NaN Division_impossible
! dvix677 divideint 9.99999999e999999999 1 -> NaN Division_impossible
! dvix680 divideint 0.1 9e-999999999 -> NaN Division_impossible
! dvix681 divideint 0.1 99e-999999999 -> NaN Division_impossible
! dvix682 divideint 0.1 999e-999999999 -> NaN Division_impossible
! dvix683 divideint 0.1 9e-999999998 -> NaN Division_impossible
! dvix684 divideint 0.1 99e-999999998 -> NaN Division_impossible
! dvix685 divideint 0.1 999e-999999998 -> NaN Division_impossible
! dvix686 divideint 0.1 999e-999999997 -> NaN Division_impossible
! dvix687 divideint 0.1 9999e-999999997 -> NaN Division_impossible
! dvix688 divideint 0.1 99999e-999999997 -> NaN Division_impossible
--- 406,467 ----
dvix659 divideint NaN sNaN -> NaN Invalid_operation
+ -- propagating NaNs
+ dvix661 divideint NaN9 -Inf -> NaN9
+ dvix662 divideint NaN8 1000 -> NaN8
+ dvix663 divideint NaN7 Inf -> NaN7
+ dvix664 divideint -NaN6 NaN5 -> -NaN6
+ dvix665 divideint -Inf NaN4 -> NaN4
+ dvix666 divideint -1000 NaN3 -> NaN3
+ dvix667 divideint Inf -NaN2 -> -NaN2
+
+ dvix671 divideint -sNaN99 -Inf -> -NaN99 Invalid_operation
+ dvix672 divideint sNaN98 -1 -> NaN98 Invalid_operation
+ dvix673 divideint sNaN97 NaN -> NaN97 Invalid_operation
+ dvix674 divideint sNaN96 sNaN94 -> NaN96 Invalid_operation
+ dvix675 divideint NaN95 sNaN93 -> NaN93 Invalid_operation
+ dvix676 divideint -Inf sNaN92 -> NaN92 Invalid_operation
+ dvix677 divideint 0 sNaN91 -> NaN91 Invalid_operation
+ dvix678 divideint Inf -sNaN90 -> -NaN90 Invalid_operation
+ dvix679 divideint NaN sNaN89 -> NaN89 Invalid_operation
+
-- some long operand cases again
precision: 8
! dvix710 divideint 100000001 1 -> NaN Division_impossible
! dvix711 divideint 100000000.4 1 -> NaN Division_impossible
! dvix712 divideint 100000000.5 1 -> NaN Division_impossible
! dvix713 divideint 100000000.9 1 -> NaN Division_impossible
! dvix714 divideint 100000000.999 1 -> NaN Division_impossible
precision: 6
! dvix720 divideint 100000000 1 -> NaN Division_impossible
! dvix721 divideint 10000000 1 -> NaN Division_impossible
! dvix722 divideint 1000000 1 -> NaN Division_impossible
! dvix723 divideint 100000 1 -> 100000
! dvix724 divideint 10000 1 -> 10000
! dvix725 divideint 1000 1 -> 1000
! dvix726 divideint 100 1 -> 100
! dvix727 divideint 10 1 -> 10
! dvix728 divideint 1 1 -> 1
! dvix729 divideint 1 10 -> 0
precision: 9
maxexponent: 999999999
minexponent: -999999999
! dvix732 divideint 1 0.99e999999999 -> 0
! dvix733 divideint 1 0.999999999e999999999 -> 0
! dvix734 divideint 9e999999999 1 -> NaN Division_impossible
! dvix735 divideint 9.9e999999999 1 -> NaN Division_impossible
! dvix736 divideint 9.99e999999999 1 -> NaN Division_impossible
! dvix737 divideint 9.99999999e999999999 1 -> NaN Division_impossible
! dvix740 divideint 0.1 9e-999999999 -> NaN Division_impossible
! dvix741 divideint 0.1 99e-999999999 -> NaN Division_impossible
! dvix742 divideint 0.1 999e-999999999 -> NaN Division_impossible
! dvix743 divideint 0.1 9e-999999998 -> NaN Division_impossible
! dvix744 divideint 0.1 99e-999999998 -> NaN Division_impossible
! dvix745 divideint 0.1 999e-999999998 -> NaN Division_impossible
! dvix746 divideint 0.1 999e-999999997 -> NaN Division_impossible
! dvix747 divideint 0.1 9999e-999999997 -> NaN Division_impossible
! dvix748 divideint 0.1 99999e-999999997 -> NaN Division_impossible
Index: inexact.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/inexact.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** inexact.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- inexact.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
Index: max.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/max.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** max.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- max.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- we assume that base comparison is tested in compare.decTest, so
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- we assume that base comparison is tested in compare.decTest, so
***************
*** 154,162 ****
maxx179 max NaN sNaN -> NaN Invalid_operation
! -- from examples
! maxx180 max '3' '2' -> '3'
! maxx181 max '-10' '3' -> '3'
! maxx182 max '1.0' '1' -> '1.0'
! maxx183 max '1' '1.0' -> '1'
-- rounding checks
--- 154,175 ----
maxx179 max NaN sNaN -> NaN Invalid_operation
! -- 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
! maxx192 max sNaN98 -1 -> NaN98 Invalid_operation
! maxx193 max -sNaN97 NaN -> -NaN97 Invalid_operation
! maxx194 max sNaN96 sNaN94 -> NaN96 Invalid_operation
! maxx195 max NaN95 sNaN93 -> NaN93 Invalid_operation
! maxx196 max -Inf sNaN92 -> NaN92 Invalid_operation
! maxx197 max 0 sNaN91 -> NaN91 Invalid_operation
! maxx198 max Inf -sNaN90 -> -NaN90 Invalid_operation
! maxx199 max NaN sNaN89 -> NaN89 Invalid_operation
-- rounding checks
***************
*** 203,206 ****
--- 216,225 ----
maxx238 max 1 -1234567896 -> 1
+ -- from examples
+ 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 ...
maxExponent: 999999999
Index: min.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/min.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** min.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- min.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- we assume that base comparison is tested in compare.decTest, so
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- we assume that base comparison is tested in compare.decTest, so
***************
*** 126,132 ****
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
--- 126,132 ----
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
***************
*** 137,142 ****
mnmx163 min sNaN -1 -> NaN Invalid_operation
mnmx164 min sNaN -0 -> NaN Invalid_operation
! mnmx165 min sNaN 0 -> NaN Invalid_operation
! mnmx166 min sNaN 1 -> NaN Invalid_operation
mnmx167 min sNaN 1000 -> NaN Invalid_operation
mnmx168 min sNaN NaN -> NaN Invalid_operation
--- 137,142 ----
mnmx163 min sNaN -1 -> NaN Invalid_operation
mnmx164 min sNaN -0 -> NaN Invalid_operation
! mnmx165 min -sNaN 0 -> -NaN Invalid_operation
! mnmx166 min -sNaN 1 -> -NaN Invalid_operation
mnmx167 min sNaN 1000 -> NaN Invalid_operation
mnmx168 min sNaN NaN -> NaN Invalid_operation
***************
*** 153,162 ****
mnmx179 min NaN sNaN -> NaN Invalid_operation
! -- from examples
! mnmx180 min '3' '2' -> '2'
! mnmx181 min '-10' '3' -> '-10'
! mnmx182 min '1.0' '1' -> '1.0'
! mnmx183 min '1' '1.0' -> '1'
-- rounding checks -- chosen is rounded, or not
--- 153,174 ----
mnmx179 min NaN sNaN -> NaN Invalid_operation
! -- 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
+ mnmx196 min -Inf sNaN92 -> NaN92 Invalid_operation
+ mnmx197 min 088 sNaN91 -> NaN91 Invalid_operation
+ mnmx198 min Inf -sNaN90 -> -NaN90 Invalid_operation
+ mnmx199 min NaN sNaN86 -> NaN86 Invalid_operation
-- rounding checks -- chosen is rounded, or not
***************
*** 203,206 ****
--- 215,224 ----
mnmx238 min 1 1234567896 -> 1
+ -- from examples
+ mnmx280 min '3' '2' -> '2'
+ 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
maxExponent: 999999999
Index: minus.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/minus.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** minus.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- minus.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- This set of tests primarily tests the existence of the operator.
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- This set of tests primarily tests the existence of the operator.
***************
*** 170,174 ****
minx421 minus '-Inf' -> 'Infinity'
minx422 minus NaN -> NaN
! minx423 minus sNaN -> NaN Invalid_operation
-- Null tests
--- 170,180 ----
minx421 minus '-Inf' -> 'Infinity'
minx422 minus NaN -> NaN
! minx423 minus sNaN -> NaN Invalid_operation
! minx424 minus NaN255 -> NaN255
! minx425 minus sNaN256 -> NaN256 Invalid_operation
! minx426 minus -NaN -> -NaN
! minx427 minus -sNaN -> -NaN Invalid_operation
! minx428 minus -NaN255 -> -NaN255
! minx429 minus -sNaN256 -> -NaN256 Invalid_operation
-- Null tests
Index: multiply.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/multiply.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** multiply.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- multiply.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
***************
*** 403,406 ****
--- 403,461 ----
mulx659 multiply NaN sNaN -> NaN Invalid_operation
+ -- propagating NaNs
+ mulx661 multiply NaN9 -Inf -> NaN9
+ mulx662 multiply NaN8 999 -> NaN8
+ mulx663 multiply NaN71 Inf -> NaN71
+ mulx664 multiply NaN6 NaN5 -> NaN6
+ mulx665 multiply -Inf NaN4 -> NaN4
+ mulx666 multiply -999 NaN33 -> NaN33
+ mulx667 multiply Inf NaN2 -> NaN2
+
+ mulx671 multiply sNaN99 -Inf -> NaN99 Invalid_operation
+ mulx672 multiply sNaN98 -11 -> NaN98 Invalid_operation
+ mulx673 multiply sNaN97 NaN -> NaN97 Invalid_operation
+ mulx674 multiply sNaN16 sNaN94 -> NaN16 Invalid_operation
+ mulx675 multiply NaN95 sNaN93 -> NaN93 Invalid_operation
+ mulx676 multiply -Inf sNaN92 -> NaN92 Invalid_operation
+ mulx677 multiply 088 sNaN91 -> NaN91 Invalid_operation
+ mulx678 multiply Inf sNaN90 -> NaN90 Invalid_operation
+ mulx679 multiply NaN sNaN89 -> NaN89 Invalid_operation
+
+ mulx681 multiply -NaN9 -Inf -> -NaN9
+ mulx682 multiply -NaN8 999 -> -NaN8
+ mulx683 multiply -NaN71 Inf -> -NaN71
+ mulx684 multiply -NaN6 -NaN5 -> -NaN6
+ mulx685 multiply -Inf -NaN4 -> -NaN4
+ mulx686 multiply -999 -NaN33 -> -NaN33
+ mulx687 multiply Inf -NaN2 -> -NaN2
+
+ mulx691 multiply -sNaN99 -Inf -> -NaN99 Invalid_operation
+ mulx692 multiply -sNaN98 -11 -> -NaN98 Invalid_operation
+ mulx693 multiply -sNaN97 NaN -> -NaN97 Invalid_operation
+ mulx694 multiply -sNaN16 -sNaN94 -> -NaN16 Invalid_operation
+ mulx695 multiply -NaN95 -sNaN93 -> -NaN93 Invalid_operation
+ mulx696 multiply -Inf -sNaN92 -> -NaN92 Invalid_operation
+ mulx697 multiply 088 -sNaN91 -> -NaN91 Invalid_operation
+ mulx698 multiply Inf -sNaN90 -> -NaN90 Invalid_operation
+ mulx699 multiply -NaN -sNaN89 -> -NaN89 Invalid_operation
+
+ mulx701 multiply -NaN -Inf -> -NaN
+ mulx702 multiply -NaN 999 -> -NaN
+ mulx703 multiply -NaN Inf -> -NaN
+ mulx704 multiply -NaN -NaN -> -NaN
+ mulx705 multiply -Inf -NaN0 -> -NaN
+ mulx706 multiply -999 -NaN -> -NaN
+ mulx707 multiply Inf -NaN -> -NaN
+
+ mulx711 multiply -sNaN -Inf -> -NaN Invalid_operation
+ mulx712 multiply -sNaN -11 -> -NaN Invalid_operation
+ mulx713 multiply -sNaN00 NaN -> -NaN Invalid_operation
+ mulx714 multiply -sNaN -sNaN -> -NaN Invalid_operation
+ mulx715 multiply -NaN -sNaN -> -NaN Invalid_operation
+ mulx716 multiply -Inf -sNaN -> -NaN Invalid_operation
+ mulx717 multiply 088 -sNaN -> -NaN Invalid_operation
+ mulx718 multiply Inf -sNaN -> -NaN Invalid_operation
+ mulx719 multiply -NaN -sNaN -> -NaN Invalid_operation
+
-- overflow and underflow tests .. note subnormal results
maxexponent: 999999999
Index: normalize.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/normalize.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** normalize.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- normalize.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
***************
*** 214,218 ****
nrmx821 normalize '-Inf' -> '-Infinity'
nrmx822 normalize NaN -> NaN
! nrmx823 normalize sNaN -> NaN Invalid_operation
-- Null test
--- 214,224 ----
nrmx821 normalize '-Inf' -> '-Infinity'
nrmx822 normalize NaN -> NaN
! nrmx823 normalize sNaN -> NaN Invalid_operation
! nrmx824 normalize NaN101 -> NaN101
! nrmx825 normalize sNaN010 -> NaN10 Invalid_operation
! nrmx827 normalize -NaN -> -NaN
! nrmx828 normalize -sNaN -> -NaN Invalid_operation
! nrmx829 normalize -NaN101 -> -NaN101
! nrmx830 normalize -sNaN010 -> -NaN10 Invalid_operation
-- Null test
Index: plus.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/plus.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** plus.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- plus.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- This set of tests primarily tests the existence of the operator.
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- This set of tests primarily tests the existence of the operator.
***************
*** 111,115 ****
plux151 plus '-Inf' -> '-Infinity'
plux152 plus NaN -> NaN
! plux153 plus sNaN -> NaN Invalid_operation
-- overflow tests
--- 111,121 ----
plux151 plus '-Inf' -> '-Infinity'
plux152 plus NaN -> NaN
! plux153 plus sNaN -> NaN Invalid_operation
! plux154 plus NaN77 -> NaN77
! plux155 plus sNaN88 -> NaN88 Invalid_operation
! plux156 plus -NaN -> -NaN
! plux157 plus -sNaN -> -NaN Invalid_operation
! plux158 plus -NaN77 -> -NaN77
! plux159 plus -sNaN88 -> -NaN88 Invalid_operation
-- overflow tests
Index: power.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/power.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** power.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- power.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- This set of testcases tests raising numbers to an integer power only.
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- This set of testcases tests raising numbers to an integer power only.
***************
*** 574,589 ****
powx659 power NaN sNaN -> NaN Invalid_operation
-- Examples from extended specification
! powx660 power Inf -2 -> 0
! powx661 power Inf -1 -> 0
! powx662 power Inf 0 -> 1
! powx663 power Inf 1 -> Infinity
! powx664 power Inf 2 -> Infinity
! powx665 power -Inf -2 -> 0
! powx666 power -Inf -1 -> -0
! powx667 power -Inf 0 -> 1
! powx668 power -Inf 1 -> -Infinity
! powx669 power -Inf 2 -> Infinity
! powx670 power 0 0 -> NaN Invalid_operation
-- long operand and RHS range checks
--- 574,609 ----
powx659 power NaN sNaN -> NaN Invalid_operation
+ -- NaN propagation
+ powx660 power NaN3 sNaN7 -> NaN7 Invalid_operation
+ powx661 power sNaN8 NaN6 -> NaN8 Invalid_operation
+ powx662 power 1 sNaN7 -> NaN7 Invalid_operation
+ powx663 power sNaN8 1 -> NaN8 Invalid_operation
+ powx664 power Inf sNaN7 -> NaN7 Invalid_operation
+ powx665 power sNaN8 Inf -> NaN Invalid_operation
+ powx666 power Inf NaN9 -> NaN9
+ powx667 power NaN6 Inf -> NaN Invalid_operation
+ powx668 power 1 NaN5 -> NaN5
+ powx669 power NaN2 1 -> NaN2
+ powx670 power NaN2 Nan4 -> NaN2
+ powx671 power NaN Nan4 -> NaN
+ powx672 power NaN345 Nan -> NaN345
+ powx673 power Inf -sNaN7 -> -NaN7 Invalid_operation
+ powx674 power -sNaN8 Inf -> NaN Invalid_operation
+ powx675 power Inf -NaN9 -> -NaN9
+ powx676 power -NaN6 Inf -> NaN Invalid_operation
+ powx677 power -NaN2 -Nan4 -> -NaN2
+
-- Examples from extended specification
! powx690 power Inf -2 -> 0
! powx691 power Inf -1 -> 0
! powx692 power Inf 0 -> 1
! powx693 power Inf 1 -> Infinity
! powx694 power Inf 2 -> Infinity
! powx695 power -Inf -2 -> 0
! powx696 power -Inf -1 -> -0
! powx697 power -Inf 0 -> 1
! powx698 power -Inf 1 -> -Infinity
! powx699 power -Inf 2 -> Infinity
! powx700 power 0 0 -> NaN Invalid_operation
-- long operand and RHS range checks
Index: quantize.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/quantize.decTest,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** quantize.decTest 12 Aug 2003 23:05:30 -0000 1.2
--- quantize.decTest 6 Feb 2004 16:56:03 -0000 1.3
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- Most of the tests here assume a "regular pattern", where the
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- Most of the tests here assume a "regular pattern", where the
***************
*** 78,90 ****
quax063 quantize 2.17 1e+0 -> 2 Inexact Rounded
quax064 quantize 2.17 1e+1 -> 0E+1 Inexact Rounded
! quax065 quantize 2 Inf -> NaN Invalid_operation
! quax066 quantize -0.1 1 -> -0 Inexact Rounded
! quax067 quantize -0 1e+5 -> -0E+5
! quax068 quantize +35236450.6 1e-2 -> NaN Invalid_operation
! quax069 quantize -35236450.6 1e-2 -> NaN Invalid_operation
! quax070 quantize 217 1e-1 -> 217.0
! quax071 quantize 217 1e+0 -> 217
! quax072 quantize 217 1e+1 -> 2.2E+2 Inexact Rounded
! quax073 quantize 217 1e+2 -> 2E+2 Inexact Rounded
-- general tests ..
--- 78,91 ----
quax063 quantize 2.17 1e+0 -> 2 Inexact Rounded
quax064 quantize 2.17 1e+1 -> 0E+1 Inexact Rounded
! quax065 quantize -Inf Inf -> -Infinity
! quax066 quantize 2 Inf -> NaN Invalid_operation
! quax067 quantize -0.1 1 -> -0 Inexact Rounded
! quax068 quantize -0 1e+5 -> -0E+5
! quax069 quantize +35236450.6 1e-2 -> NaN Invalid_operation
! quax070 quantize -35236450.6 1e-2 -> NaN Invalid_operation
! quax071 quantize 217 1e-1 -> 217.0
! quax072 quantize 217 1e+0 -> 217
! quax073 quantize 217 1e+1 -> 2.2E+2 Inexact Rounded
! quax074 quantize 217 1e+2 -> 2E+2 Inexact Rounded
-- general tests ..
***************
*** 539,543 ****
-- Specials
! quax580 quantize Inf -Inf -> NaN Invalid_operation
quax581 quantize Inf 1e-1000 -> NaN Invalid_operation
quax582 quantize Inf 1e-1 -> NaN Invalid_operation
--- 540,544 ----
-- Specials
! quax580 quantize Inf -Inf -> Infinity
quax581 quantize Inf 1e-1000 -> NaN Invalid_operation
quax582 quantize Inf 1e-1 -> NaN Invalid_operation
***************
*** 545,560 ****
quax584 quantize Inf 1e1 -> NaN Invalid_operation
quax585 quantize Inf 1e1000 -> NaN Invalid_operation
! quax586 quantize Inf Inf -> NaN Invalid_operation
quax587 quantize -1000 Inf -> NaN Invalid_operation
! quax588 quantize -Inf Inf -> NaN Invalid_operation
quax589 quantize -1 Inf -> NaN Invalid_operation
quax590 quantize 0 Inf -> NaN Invalid_operation
quax591 quantize 1 Inf -> NaN Invalid_operation
quax592 quantize 1000 Inf -> NaN Invalid_operation
! quax593 quantize Inf Inf -> NaN Invalid_operation
quax594 quantize Inf 1e-0 -> NaN Invalid_operation
quax595 quantize -0 Inf -> NaN Invalid_operation
! quax600 quantize -Inf -Inf -> NaN Invalid_operation
quax601 quantize -Inf 1e-1000 -> NaN Invalid_operation
quax602 quantize -Inf 1e-1 -> NaN Invalid_operation
--- 546,561 ----
quax584 quantize Inf 1e1 -> NaN Invalid_operation
quax585 quantize Inf 1e1000 -> NaN Invalid_operation
! quax586 quantize Inf Inf -> Infinity
quax587 quantize -1000 Inf -> NaN Invalid_operation
! quax588 quantize -Inf Inf -> -Infinity
quax589 quantize -1 Inf -> NaN Invalid_operation
quax590 quantize 0 Inf -> NaN Invalid_operation
quax591 quantize 1 Inf -> NaN Invalid_operation
quax592 quantize 1000 Inf -> NaN Invalid_operation
! quax593 quantize Inf Inf -> Infinity
quax594 quantize Inf 1e-0 -> NaN Invalid_operation
quax595 quantize -0 Inf -> NaN Invalid_operation
! quax600 quantize -Inf -Inf -> -Infinity
quax601 quantize -Inf 1e-1000 -> NaN Invalid_operation
quax602 quantize -Inf 1e-1 -> NaN Invalid_operation
***************
*** 562,577 ****
quax604 quantize -Inf 1e1 -> NaN Invalid_operation
quax605 quantize -Inf 1e1000 -> NaN Invalid_operation
! quax606 quantize -Inf Inf -> NaN Invalid_operation
quax607 quantize -1000 Inf -> NaN Invalid_operation
! quax608 quantize -Inf -Inf -> NaN Invalid_operation
quax609 quantize -1 -Inf -> NaN Invalid_operation
quax610 quantize 0 -Inf -> NaN Invalid_operation
quax611 quantize 1 -Inf -> NaN Invalid_operation
quax612 quantize 1000 -Inf -> NaN Invalid_operation
! quax613 quantize Inf -Inf -> NaN Invalid_operation
quax614 quantize -Inf 1e-0 -> NaN Invalid_operation
quax615 quantize -0 -Inf -> NaN Invalid_operation
! quax621 quantize NaN -Inf -> NaN Invalid_operation
quax622 quantize NaN 1e-1000 -> NaN
quax623 quantize NaN 1e-1 -> NaN
--- 563,578 ----
quax604 quantize -Inf 1e1 -> NaN Invalid_operation
quax605 quantize -Inf 1e1000 -> NaN Invalid_operation
! quax606 quantize -Inf Inf -> -Infinity
quax607 quantize -1000 Inf -> NaN Invalid_operation
! quax608 quantize -Inf -Inf -> -Infinity
quax609 quantize -1 -Inf -> NaN Invalid_operation
quax610 quantize 0 -Inf -> NaN Invalid_operation
quax611 quantize 1 -Inf -> NaN Invalid_operation
quax612 quantize 1000 -Inf -> NaN Invalid_operation
! quax613 quantize Inf -Inf -> Infinity
quax614 quantize -Inf 1e-0 -> NaN Invalid_operation
quax615 quantize -0 -Inf -> NaN Invalid_operation
! quax621 quantize NaN -Inf -> NaN
quax622 quantize NaN 1e-1000 -> NaN
quax623 quantize NaN 1e-1 -> NaN
***************
*** 579,585 ****
quax625 quantize NaN 1e1 -> NaN
quax626 quantize NaN 1e1000 -> NaN
! quax627 quantize NaN Inf -> NaN Invalid_operation
quax628 quantize NaN NaN -> NaN
! quax629 quantize -Inf NaN -> NaN Invalid_operation
quax630 quantize -1000 NaN -> NaN
quax631 quantize -1 NaN -> NaN
--- 580,586 ----
quax625 quantize NaN 1e1 -> NaN
quax626 quantize NaN 1e1000 -> NaN
! quax627 quantize NaN Inf -> NaN
quax628 quantize NaN NaN -> NaN
! quax629 quantize -Inf NaN -> NaN
quax630 quantize -1000 NaN -> NaN
quax631 quantize -1 NaN -> NaN
***************
*** 587,591 ****
quax633 quantize 1 NaN -> NaN
quax634 quantize 1000 NaN -> NaN
! quax635 quantize Inf NaN -> NaN Invalid_operation
quax636 quantize NaN 1e-0 -> NaN
quax637 quantize -0 NaN -> NaN
--- 588,592 ----
quax633 quantize 1 NaN -> NaN
quax634 quantize 1000 NaN -> NaN
! quax635 quantize Inf NaN -> NaN
quax636 quantize NaN 1e-0 -> NaN
quax637 quantize -0 NaN -> NaN
***************
*** 611,614 ****
--- 612,652 ----
quax659 quantize -0 sNaN -> NaN Invalid_operation
+ -- propagating NaNs
+ quax661 quantize NaN9 -Inf -> NaN9
+ quax662 quantize NaN8 919 -> NaN8
+ quax663 quantize NaN71 Inf -> NaN71
+ quax664 quantize NaN6 NaN5 -> NaN6
+ quax665 quantize -Inf NaN4 -> NaN4
+ quax666 quantize -919 NaN31 -> NaN31
+ quax667 quantize Inf NaN2 -> NaN2
+
+ quax671 quantize sNaN99 -Inf -> NaN99 Invalid_operation
+ quax672 quantize sNaN98 -11 -> NaN98 Invalid_operation
+ quax673 quantize sNaN97 NaN -> NaN97 Invalid_operation
+ quax674 quantize sNaN16 sNaN94 -> NaN16 Invalid_operation
+ quax675 quantize NaN95 sNaN93 -> NaN93 Invalid_operation
+ quax676 quantize -Inf sNaN92 -> NaN92 Invalid_operation
+ quax677 quantize 088 sNaN91 -> NaN91 Invalid_operation
+ quax678 quantize Inf sNaN90 -> NaN90 Invalid_operation
+ quax679 quantize NaN sNaN88 -> NaN88 Invalid_operation
+
+ quax681 quantize -NaN9 -Inf -> -NaN9
+ quax682 quantize -NaN8 919 -> -NaN8
+ quax683 quantize -NaN71 Inf -> -NaN71
+ quax684 quantize -NaN6 -NaN5 -> -NaN6
+ quax685 quantize -Inf -NaN4 -> -NaN4
+ quax686 quantize -919 -NaN31 -> -NaN31
+ quax687 quantize Inf -NaN2 -> -NaN2
+
+ quax691 quantize -sNaN99 -Inf -> -NaN99 Invalid_operation
+ quax692 quantize -sNaN98 -11 -> -NaN98 Invalid_operation
+ quax693 quantize -sNaN97 NaN -> -NaN97 Invalid_operation
+ quax694 quantize -sNaN16 sNaN94 -> -NaN16 Invalid_operation
+ quax695 quantize -NaN95 -sNaN93 -> -NaN93 Invalid_operation
+ quax696 quantize -Inf -sNaN92 -> -NaN92 Invalid_operation
+ quax697 quantize 088 -sNaN91 -> -NaN91 Invalid_operation
+ quax698 quantize Inf -sNaN90 -> -NaN90 Invalid_operation
+ quax699 quantize NaN -sNaN88 -> -NaN88 Invalid_operation
+
-- subnormals and underflow
precision: 4
Index: randomBound32.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/randomBound32.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** randomBound32.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- randomBound32.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- These testcases test calculations at precisions 31, 32, and 33, to
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- These testcases test calculations at precisions 31, 32, and 33, to
Index: randoms.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/randoms.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** randoms.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- randoms.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
***************
*** 1298,1302 ****
xmul159 multiply -18861647. 99794586.7 -> -1.88229027E+15 Inexact Rounded
xpow159 power -18861647. 99794587 -> -4.28957460E+726063462 Inexact Rounded
! xrem159 remainder -18861647. 99794586.7 -> -18861647
xsub159 subtract -18861647. 99794586.7 -> -118656234 Inexact Rounded
xadd160 add 322192.407 461.67044 -> 322654.077 Inexact Rounded
--- 1298,1302 ----
xmul159 multiply -18861647. 99794586.7 -> -1.88229027E+15 Inexact Rounded
xpow159 power -18861647. 99794587 -> -4.28957460E+726063462 Inexact Rounded
! xrem159 remainder -18861647. 99794586.7 -> -18861647.0
xsub159 subtract -18861647. 99794586.7 -> -118656234 Inexact Rounded
xadd160 add 322192.407 461.67044 -> 322654.077 Inexact Rounded
***************
*** 2226,2230 ****
xmul275 multiply -1156008.8 -8870382.36 -> 1.02542401E+13 Inexact Rounded
xpow275 power -1156008.8 -8870382 -> 4.32494996E-53780782 Inexact Rounded
! xrem275 remainder -1156008.8 -8870382.36 -> -1156008.8
xsub275 subtract -1156008.8 -8870382.36 -> 7714373.56
xadd276 add 880097928. -52455011.1E+204538218 -> -5.24550111E+204538225 Inexact Rounded
--- 2226,2230 ----
xmul275 multiply -1156008.8 -8870382.36 -> 1.02542401E+13 Inexact Rounded
xpow275 power -1156008.8 -8870382 -> 4.32494996E-53780782 Inexact Rounded
! xrem275 remainder -1156008.8 -8870382.36 -> -1156008.80
xsub275 subtract -1156008.8 -8870382.36 -> 7714373.56
xadd276 add 880097928. -52455011.1E+204538218 -> -5.24550111E+204538225 Inexact Rounded
***************
*** 2890,2894 ****
xmul358 multiply -1546783 -51935370.4 -> 8.03327480E+13 Inexact Rounded
xpow358 power -1546783 -51935370 -> 3.36022461E-321450306 Inexact Rounded
! xrem358 remainder -1546783 -51935370.4 -> -1546783
xsub358 subtract -1546783 -51935370.4 -> 50388587.4
xadd359 add 61302486.8 205.490417 -> 61302692.3 Inexact Rounded
--- 2890,2894 ----
xmul358 multiply -1546783 -51935370.4 -> 8.03327480E+13 Inexact Rounded
xpow358 power -1546783 -51935370 -> 3.36022461E-321450306 Inexact Rounded
! xrem358 remainder -1546783 -51935370.4 -> -1546783.0
xsub358 subtract -1546783 -51935370.4 -> 50388587.4
xadd359 add 61302486.8 205.490417 -> 61302692.3 Inexact Rounded
Index: remainder.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/remainder.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** remainder.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- remainder.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
***************
*** 52,57 ****
remx022 remainder 5 2.0 -> 1.0
remx023 remainder 5 2.000 -> 1.000
! remx024 remainder 5 0.200 -> 0
! remx025 remainder 5 0.200 -> 0
remx030 remainder 1 2 -> 1
--- 52,57 ----
remx022 remainder 5 2.0 -> 1.0
remx023 remainder 5 2.000 -> 1.000
! remx024 remainder 5 0.200 -> 0.000
! remx025 remainder 5 0.200 -> 0.000
remx030 remainder 1 2 -> 1
***************
*** 157,165 ****
remx143 remainder 0.5 2 -> 0.5
remx144 remainder 0.5 2.1 -> 0.5
! remx145 remainder 0.5 2.01 -> 0.5
! remx146 remainder 0.5 2.001 -> 0.5
remx147 remainder 0.50 2 -> 0.50
remx148 remainder 0.50 2.01 -> 0.50
! remx149 remainder 0.50 2.001 -> 0.50
-- steadies
--- 157,165 ----
remx143 remainder 0.5 2 -> 0.5
remx144 remainder 0.5 2.1 -> 0.5
! remx145 remainder 0.5 2.01 -> 0.50
! remx146 remainder 0.5 2.001 -> 0.500
remx147 remainder 0.50 2 -> 0.50
remx148 remainder 0.50 2.01 -> 0.50
! remx149 remainder 0.50 2.001 -> 0.500
-- steadies
***************
*** 186,194 ****
-- some differences from remainderNear
! remx171 remainder 0.4 1.020 -> 0.4
! remx172 remainder 0.50 1.020 -> 0.50
! remx173 remainder 0.51 1.020 -> 0.51
! remx174 remainder 0.52 1.020 -> 0.52
! remx175 remainder 0.6 1.020 -> 0.6
--- 186,194 ----
-- some differences from remainderNear
! remx171 remainder 0.4 1.020 -> 0.400
! remx172 remainder 0.50 1.020 -> 0.500
! remx173 remainder 0.51 1.020 -> 0.510
! remx174 remainder 0.52 1.020 -> 0.520
! remx175 remainder 0.6 1.020 -> 0.600
***************
*** 209,217 ****
-- some differences from remainderNear
! remx231 remainder 0.4 1.020 -> 0.4
! remx232 remainder 0.50 1.020 -> 0.50
! remx233 remainder 0.51 1.020 -> 0.51
! remx234 remainder 0.52 1.020 -> 0.52
! remx235 remainder 0.6 1.020 -> 0.6
-- test some cases that are close to exponent overflow
--- 209,221 ----
-- some differences from remainderNear
! remx231 remainder -0.4 1.020 -> -0.400
! remx232 remainder -0.50 1.020 -> -0.500
! remx233 remainder -0.51 1.020 -> -0.510
! remx234 remainder -0.52 1.020 -> -0.520
! remx235 remainder -0.6 1.020 -> -0.600
!
! -- high Xs
! remx240 remainder 1E+2 1.00 -> 0.00
!
-- test some cases that are close to exponent overflow
***************
*** 256,260 ****
remx316 remainder 1033 50 -> 33
remx317 remainder 101.0 3 -> 2.0
! remx318 remainder 102.0 3 -> 0
remx319 remainder 103.0 3 -> 1.0
remx320 remainder 2.40 1 -> 0.40
--- 260,264 ----
remx316 remainder 1033 50 -> 33
remx317 remainder 101.0 3 -> 2.0
! remx318 remainder 102.0 3 -> 0.0
remx319 remainder 103.0 3 -> 1.0
remx320 remainder 2.40 1 -> 0.40
***************
*** 273,287 ****
remx333 remainder 0.5 2 -> 0.5
remx334 remainder 0.5 2.1 -> 0.5
! remx335 remainder 0.5 2.01 -> 0.5
! remx336 remainder 0.5 2.001 -> 0.5
remx337 remainder 0.50 2 -> 0.50
remx338 remainder 0.50 2.01 -> 0.50
! remx339 remainder 0.50 2.001 -> 0.50
! remx340 remainder 0.5 0.5000001 -> 0.5
! remx341 remainder 0.5 0.50000001 -> 0.5
! remx342 remainder 0.5 0.500000001 -> 0.5
! remx343 remainder 0.5 0.5000000001 -> 0.5
! remx344 remainder 0.5 0.50000000001 -> 0.5
remx345 remainder 0.5 0.4999999 -> 1E-7
remx346 remainder 0.5 0.49999999 -> 1E-8
--- 277,291 ----
remx333 remainder 0.5 2 -> 0.5
remx334 remainder 0.5 2.1 -> 0.5
! remx335 remainder 0.5 2.01 -> 0.50
! remx336 remainder 0.5 2.001 -> 0.500
remx337 remainder 0.50 2 -> 0.50
remx338 remainder 0.50 2.01 -> 0.50
! remx339 remainder 0.50 2.001 -> 0.500
! remx340 remainder 0.5 0.5000001 -> 0.5000000
! remx341 remainder 0.5 0.50000001 -> 0.50000000
! remx342 remainder 0.5 0.500000001 -> 0.500000000
! remx343 remainder 0.5 0.5000000001 -> 0.500000000 Rounded
! remx344 remainder 0.5 0.50000000001 -> 0.500000000 Rounded
remx345 remainder 0.5 0.4999999 -> 1E-7
remx346 remainder 0.5 0.49999999 -> 1E-8
***************
*** 303,307 ****
remx360 remainder 1.2 0.7345 -> 0.4655
remx361 remainder 0.8 12 -> 0.8
! remx362 remainder 0.8 0.2 -> 0
remx363 remainder 0.8 0.3 -> 0.2
remx364 remainder 0.800 12 -> 0.800
--- 307,311 ----
remx360 remainder 1.2 0.7345 -> 0.4655
remx361 remainder 0.8 12 -> 0.8
! remx362 remainder 0.8 0.2 -> 0.0
remx363 remainder 0.8 0.3 -> 0.2
remx364 remainder 0.800 12 -> 0.800
***************
*** 312,317 ****
remx371 remainder 2.400 2 -> 0.400
precision: 3
! -- long operand case
remx372 remainder 12345678900000 12e+12 -> 3.46E+11 Inexact Rounded
precision: 5
--- 316,322 ----
remx371 remainder 2.400 2 -> 0.400
precision: 3
! -- long operand, rounded, case
remx372 remainder 12345678900000 12e+12 -> 3.46E+11 Inexact Rounded
+ -- 12000000000000
precision: 5
***************
*** 387,401 ****
remx723 remainder NaN -1 -> NaN
remx724 remainder NaN -0 -> NaN
! remx725 remainder NaN 0 -> NaN
remx726 remainder NaN 1 -> NaN
remx727 remainder NaN 1000 -> NaN
remx728 remainder NaN Inf -> NaN
! remx729 remainder NaN NaN -> NaN
remx730 remainder -Inf NaN -> NaN
remx731 remainder -1000 NaN -> NaN
remx732 remainder -1 NaN -> NaN
! remx733 remainder -0 NaN -> NaN
remx734 remainder 0 NaN -> NaN
! remx735 remainder 1 NaN -> NaN
remx736 remainder 1000 NaN -> NaN
remx737 remainder Inf NaN -> NaN
--- 392,406 ----
remx723 remainder NaN -1 -> NaN
remx724 remainder NaN -0 -> NaN
! remx725 remainder -NaN 0 -> -NaN
remx726 remainder NaN 1 -> NaN
remx727 remainder NaN 1000 -> NaN
remx728 remainder NaN Inf -> NaN
! remx729 remainder NaN -NaN -> NaN
remx730 remainder -Inf NaN -> NaN
remx731 remainder -1000 NaN -> NaN
remx732 remainder -1 NaN -> NaN
! remx733 remainder -0 -NaN -> -NaN
remx734 remainder 0 NaN -> NaN
! remx735 remainder 1 -NaN -> -NaN
remx736 remainder 1000 NaN -> NaN
remx737 remainder Inf NaN -> NaN
***************
*** 403,407 ****
remx741 remainder sNaN -Inf -> NaN Invalid_operation
remx742 remainder sNaN -1000 -> NaN Invalid_operation
! remx743 remainder sNaN -1 -> NaN Invalid_operation
remx744 remainder sNaN -0 -> NaN Invalid_operation
remx745 remainder sNaN 0 -> NaN Invalid_operation
--- 408,412 ----
remx741 remainder sNaN -Inf -> NaN Invalid_operation
remx742 remainder sNaN -1000 -> NaN Invalid_operation
! remx743 remainder -sNaN -1 -> -NaN Invalid_operation
remx744 remainder sNaN -0 -> NaN Invalid_operation
remx745 remainder sNaN 0 -> NaN Invalid_operation
***************
*** 418,423 ****
remx757 remainder 1 sNaN -> NaN Invalid_operation
remx758 remainder 1000 sNaN -> NaN Invalid_operation
! remx759 remainder Inf sNaN -> NaN Invalid_operation
! remx760 remainder NaN sNaN -> NaN Invalid_operation
-- test some cases that are close to exponent overflow
--- 423,439 ----
remx757 remainder 1 sNaN -> NaN Invalid_operation
remx758 remainder 1000 sNaN -> NaN Invalid_operation
! remx759 remainder Inf -sNaN -> -NaN Invalid_operation
!
! -- propaging NaNs
! remx760 remainder NaN1 NaN7 -> NaN1
! remx761 remainder sNaN2 NaN8 -> NaN2 Invalid_operation
! remx762 remainder NaN3 sNaN9 -> NaN9 Invalid_operation
! remx763 remainder sNaN4 sNaN10 -> NaN4 Invalid_operation
! remx764 remainder 15 NaN11 -> NaN11
! remx765 remainder NaN6 NaN12 -> NaN6
! remx766 remainder Inf NaN13 -> NaN13
! remx767 remainder NaN14 -Inf -> NaN14
! remx768 remainder 0 NaN15 -> NaN15
! remx769 remainder NaN16 -0 -> NaN16
-- test some cases that are close to exponent overflow
Index: remainderNear.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/remainderNear.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** remainderNear.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- remainderNear.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
***************
*** 51,56 ****
rmnx022 remaindernear 5 2.0 -> 1.0
rmnx023 remaindernear 5 2.000 -> 1.000
! rmnx024 remaindernear 5 0.200 -> 0
! rmnx025 remaindernear 5 0.200 -> 0
rmnx030 remaindernear 1 2 -> 1
--- 51,56 ----
rmnx022 remaindernear 5 2.0 -> 1.0
rmnx023 remaindernear 5 2.000 -> 1.000
! rmnx024 remaindernear 5 0.200 -> 0.000
! rmnx025 remaindernear 5 0.200 -> 0.000
rmnx030 remaindernear 1 2 -> 1
***************
*** 158,171 ****
rmmx143 remaindernear 0.5 2 -> 0.5
rmmx144 remaindernear 0.5 2.1 -> 0.5
! rmmx145 remaindernear 0.5 2.01 -> 0.5
! rmmx146 remaindernear 0.5 2.001 -> 0.5
rmmx147 remaindernear 0.50 2 -> 0.50
rmmx148 remaindernear 0.50 2.01 -> 0.50
! rmmx149 remaindernear 0.50 2.001 -> 0.50
-- some differences from remainder
! rmnx150 remaindernear 0.4 1.020 -> 0.4
! rmnx151 remaindernear 0.50 1.020 -> 0.50
! rmnx152 remaindernear 0.51 1.020 -> 0.51
rmnx153 remaindernear 0.52 1.020 -> -0.500
rmnx154 remaindernear 0.6 1.020 -> -0.420
--- 158,171 ----
rmmx143 remaindernear 0.5 2 -> 0.5
rmmx144 remaindernear 0.5 2.1 -> 0.5
! rmmx145 remaindernear 0.5 2.01 -> 0.50
! rmmx146 remaindernear 0.5 2.001 -> 0.500
rmmx147 remaindernear 0.50 2 -> 0.50
rmmx148 remaindernear 0.50 2.01 -> 0.50
! rmmx149 remaindernear 0.50 2.001 -> 0.500
-- some differences from remainder
! rmnx150 remaindernear 0.4 1.020 -> 0.400
! rmnx151 remaindernear 0.50 1.020 -> 0.500
! rmnx152 remaindernear 0.51 1.020 -> 0.510
rmnx153 remaindernear 0.52 1.020 -> -0.500
rmnx154 remaindernear 0.6 1.020 -> -0.420
***************
*** 246,252 ****
-- some differences from remainder
! rmnx231 remaindernear 0.4 1.020 -> 0.4
! rmnx232 remaindernear 0.50 1.020 -> 0.50
! rmnx233 remaindernear 0.51 1.020 -> 0.51
rmnx234 remaindernear 0.52 1.020 -> -0.500
rmnx235 remaindernear 0.6 1.020 -> -0.420
--- 246,252 ----
-- some differences from remainder
! rmnx231 remaindernear 0.4 1.020 -> 0.400
! rmnx232 remaindernear 0.50 1.020 -> 0.500
! rmnx233 remaindernear 0.51 1.020 -> 0.510
rmnx234 remaindernear 0.52 1.020 -> -0.500
rmnx235 remaindernear 0.6 1.020 -> -0.420
***************
*** 293,297 ****
rmnx316 remaindernear 1033 50 -> -17
rmnx317 remaindernear 101.0 3 -> -1.0
! rmnx318 remaindernear 102.0 3 -> 0
rmnx319 remaindernear 103.0 3 -> 1.0
rmnx320 remaindernear 2.40 1 -> 0.40
--- 293,297 ----
rmnx316 remaindernear 1033 50 -> -17
rmnx317 remaindernear 101.0 3 -> -1.0
! rmnx318 remaindernear 102.0 3 -> 0.0
rmnx319 remaindernear 103.0 3 -> 1.0
rmnx320 remaindernear 2.40 1 -> 0.40
***************
*** 310,318 ****
rmnx333 remaindernear 0.5 2 -> 0.5
rmnx334 remaindernear 0.5 2.1 -> 0.5
! rmnx335 remaindernear 0.5 2.01 -> 0.5
! rmnx336 remaindernear 0.5 2.001 -> 0.5
rmnx337 remaindernear 0.50 2 -> 0.50
rmnx338 remaindernear 0.50 2.01 -> 0.50
! rmnx339 remaindernear 0.50 2.001 -> 0.50
rmnx340 remaindernear 0.5 0.5000001 -> -1E-7
--- 310,318 ----
rmnx333 remaindernear 0.5 2 -> 0.5
rmnx334 remaindernear 0.5 2.1 -> 0.5
! rmnx335 remaindernear 0.5 2.01 -> 0.50
! rmnx336 remaindernear 0.5 2.001 -> 0.500
rmnx337 remaindernear 0.50 2 -> 0.50
rmnx338 remaindernear 0.50 2.01 -> 0.50
! rmnx339 remaindernear 0.50 2.001 -> 0.500
rmnx340 remaindernear 0.5 0.5000001 -> -1E-7
***************
*** 339,343 ****
rmnx360 remaindernear 1.2 0.7345 -> -0.2690
rmnx361 remaindernear 0.8 12 -> 0.8
! rmnx362 remaindernear 0.8 0.2 -> 0
rmnx363 remaindernear 0.8 0.3 -> -0.1
rmnx364 remaindernear 0.800 12 -> 0.800
--- 339,343 ----
rmnx360 remaindernear 1.2 0.7345 -> -0.2690
rmnx361 remaindernear 0.8 12 -> 0.8
! rmnx362 remaindernear 0.8 0.2 -> 0.0
rmnx363 remaindernear 0.8 0.3 -> -0.1
rmnx364 remaindernear 0.800 12 -> 0.800
***************
*** 460,464 ****
rmnx730 remaindernear -Inf NaN -> NaN
rmnx731 remaindernear -1000 NaN -> NaN
! rmnx732 remaindernear -1 NaN -> NaN
rmnx733 remaindernear -0 NaN -> NaN
rmnx734 remaindernear 0 NaN -> NaN
--- 460,464 ----
rmnx730 remaindernear -Inf NaN -> NaN
rmnx731 remaindernear -1000 NaN -> NaN
! rmnx732 remaindernear -1 -NaN -> -NaN
rmnx733 remaindernear -0 NaN -> NaN
rmnx734 remaindernear 0 NaN -> NaN
***************
*** 469,473 ****
rmnx741 remaindernear sNaN -Inf -> NaN Invalid_operation
rmnx742 remaindernear sNaN -1000 -> NaN Invalid_operation
! rmnx743 remaindernear sNaN -1 -> NaN Invalid_operation
rmnx744 remaindernear sNaN -0 -> NaN Invalid_operation
rmnx745 remaindernear sNaN 0 -> NaN Invalid_operation
--- 469,473 ----
rmnx741 remaindernear sNaN -Inf -> NaN Invalid_operation
rmnx742 remaindernear sNaN -1000 -> NaN Invalid_operation
! rmnx743 remaindernear -sNaN -1 -> -NaN Invalid_operation
rmnx744 remaindernear sNaN -0 -> NaN Invalid_operation
rmnx745 remaindernear sNaN 0 -> NaN Invalid_operation
***************
*** 480,484 ****
rmnx753 remaindernear -1000 sNaN -> NaN Invalid_operation
rmnx754 remaindernear -1 sNaN -> NaN Invalid_operation
! rmnx755 remaindernear -0 sNaN -> NaN Invalid_operation
rmnx756 remaindernear 0 sNaN -> NaN Invalid_operation
rmnx757 remaindernear 1 sNaN -> NaN Invalid_operation
--- 480,484 ----
rmnx753 remaindernear -1000 sNaN -> NaN Invalid_operation
rmnx754 remaindernear -1 sNaN -> NaN Invalid_operation
! rmnx755 remaindernear -0 -sNaN -> -NaN Invalid_operation
rmnx756 remaindernear 0 sNaN -> NaN Invalid_operation
rmnx757 remaindernear 1 sNaN -> NaN Invalid_operation
***************
*** 487,501 ****
rmnx760 remaindernear NaN sNaN -> NaN Invalid_operation
-- test some cases that are close to exponent overflow
maxexponent: 999999999
minexponent: -999999999
! rmnx770 remaindernear 1 1e999999999 -> 1
! rmnx771 remaindernear 1 0.9e999999999 -> 1
! rmnx772 remaindernear 1 0.99e999999999 -> 1
! rmnx773 remaindernear 1 0.999999999e999999999 -> 1
! rmnx774 remaindernear 9e999999999 1 -> NaN Division_impossible
! rmnx775 remaindernear 9.9e999999999 1 -> NaN Division_impossible
! rmnx776 remaindernear 9.99e999999999 1 -> NaN Division_impossible
! rmnx777 remaindernear 9.99999999e999999999 1 -> NaN Division_impossible
--- 487,513 ----
rmnx760 remaindernear NaN sNaN -> NaN Invalid_operation
+ -- propaging NaNs
+ rmnx761 remaindernear NaN1 NaN7 -> NaN1
+ rmnx762 remaindernear sNaN2 NaN8 -> NaN2 Invalid_operation
+ rmnx763 remaindernear NaN3 -sNaN9 -> -NaN9 Invalid_operation
+ rmnx764 remaindernear sNaN4 sNaN10 -> NaN4 Invalid_operation
+ rmnx765 remaindernear 15 NaN11 -> NaN11
+ rmnx766 remaindernear NaN6 NaN12 -> NaN6
+ rmnx767 remaindernear Inf -NaN13 -> -NaN13
+ rmnx768 remaindernear NaN14 -Inf -> NaN14
+ rmnx769 remaindernear 0 NaN15 -> NaN15
+ rmnx770 remaindernear -NaN16 -0 -> -NaN16
+
-- test some cases that are close to exponent overflow
maxexponent: 999999999
minexponent: -999999999
! rmnx780 remaindernear 1 1e999999999 -> 1
! rmnx781 remaindernear 1 0.9e999999999 -> 1
! rmnx782 remaindernear 1 0.99e999999999 -> 1
! rmnx783 remaindernear 1 0.999999999e999999999 -> 1
! rmnx784 remaindernear 9e999999999 1 -> NaN Division_impossible
! rmnx785 remaindernear 9.9e999999999 1 -> NaN Division_impossible
! rmnx786 remaindernear 9.99e999999999 1 -> NaN Division_impossible
! rmnx787 remaindernear 9.99999999e999999999 1 -> NaN Division_impossible
***************
*** 504,515 ****
maxexponent: 999999999
minexponent: -999999999
! rmnx780 remaindernear +1.23456789012345E-0 9E+999999999 -> 1.23456789 Inexact Rounded
! rmnx781 remaindernear 9E+999999999 +0.23456789012345E-0 -> NaN Division_impossible
! rmnx782 remaindernear +0.100 9E+999999999 -> 0.100
! rmnx783 remaindernear 9E-999999999 +9.100 -> 9E-999999999
! rmnx785 remaindernear -1.23456789012345E-0 9E+999999999 -> -1.23456789 Inexact Rounded
! rmnx786 remaindernear 9E+999999999 -0.83456789012345E-0 -> NaN Division_impossible
! rmnx787 remaindernear -0.100 9E+999999999 -> -0.100
! rmnx788 remaindernear 9E-999999999 -9.100 -> 9E-999999999
-- long operands checks
--- 516,527 ----
maxexponent: 999999999
minexponent: -999999999
! rmnx790 remaindernear +1.23456789012345E-0 9E+999999999 -> 1.23456789 Inexact Rounded
! rmnx791 remaindernear 9E+999999999 +0.23456789012345E-0 -> NaN Division_impossible
! rmnx792 remaindernear +0.100 9E+999999999 -> 0.100
! rmnx793 remaindernear 9E-999999999 +9.100 -> 9E-999999999
! rmnx795 remaindernear -1.23456789012345E-0 9E+999999999 -> -1.23456789 Inexact Rounded
! rmnx796 remaindernear 9E+999999999 -0.83456789012345E-0 -> NaN Division_impossible
! rmnx797 remaindernear -0.100 9E+999999999 -> -0.100
! rmnx798 remaindernear 9E-999999999 -9.100 -> 9E-999999999
-- long operands checks
Index: rescale.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/rescale.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** rescale.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- rescale.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- [obsolete] Quantize.decTest has the improved version
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- [obsolete] Quantize.decTest has the improved version
***************
*** 525,529 ****
-- Specials
! resx580 rescale Inf -Inf -> NaN Invalid_operation
resx581 rescale Inf -1000 -> NaN Invalid_operation
resx582 rescale Inf -1 -> NaN Invalid_operation
--- 525,529 ----
-- Specials
! resx580 rescale Inf -Inf -> Infinity
resx581 rescale Inf -1000 -> NaN Invalid_operation
resx582 rescale Inf -1 -> NaN Invalid_operation
***************
*** 531,546 ****
resx584 rescale Inf 1 -> NaN Invalid_operation
resx585 rescale Inf 1000 -> NaN Invalid_operation
! resx586 rescale Inf Inf -> NaN Invalid_operation
resx587 rescale -1000 Inf -> NaN Invalid_operation
! resx588 rescale -Inf Inf -> NaN Invalid_operation
resx589 rescale -1 Inf -> NaN Invalid_operation
resx590 rescale 0 Inf -> NaN Invalid_operation
resx591 rescale 1 Inf -> NaN Invalid_operation
resx592 rescale 1000 Inf -> NaN Invalid_operation
! resx593 rescale Inf Inf -> NaN Invalid_operation
resx594 rescale Inf -0 -> NaN Invalid_operation
resx595 rescale -0 Inf -> NaN Invalid_operation
! resx600 rescale -Inf -Inf -> NaN Invalid_operation
resx601 rescale -Inf -1000 -> NaN Invalid_operation
resx602 rescale -Inf -1 -> NaN Invalid_operation
--- 531,546 ----
resx584 rescale Inf 1 -> NaN Invalid_operation
resx585 rescale Inf 1000 -> NaN Invalid_operation
! resx586 rescale Inf Inf -> Infinity
resx587 rescale -1000 Inf -> NaN Invalid_operation
! resx588 rescale -Inf Inf -> -Infinity
resx589 rescale -1 Inf -> NaN Invalid_operation
resx590 rescale 0 Inf -> NaN Invalid_operation
resx591 rescale 1 Inf -> NaN Invalid_operation
resx592 rescale 1000 Inf -> NaN Invalid_operation
! resx593 rescale Inf Inf -> Infinity
resx594 rescale Inf -0 -> NaN Invalid_operation
resx595 rescale -0 Inf -> NaN Invalid_operation
! resx600 rescale -Inf -Inf -> -Infinity
resx601 rescale -Inf -1000 -> NaN Invalid_operation
resx602 rescale -Inf -1 -> NaN Invalid_operation
***************
*** 548,563 ****
resx604 rescale -Inf 1 -> NaN Invalid_operation
resx605 rescale -Inf 1000 -> NaN Invalid_operation
! resx606 rescale -Inf Inf -> NaN Invalid_operation
resx607 rescale -1000 Inf -> NaN Invalid_operation
! resx608 rescale -Inf -Inf -> NaN Invalid_operation
resx609 rescale -1 -Inf -> NaN Invalid_operation
resx610 rescale 0 -Inf -> NaN Invalid_operation
resx611 rescale 1 -Inf -> NaN Invalid_operation
resx612 rescale 1000 -Inf -> NaN Invalid_operation
! resx613 rescale Inf -Inf -> NaN Invalid_operation
resx614 rescale -Inf -0 -> NaN Invalid_operation
resx615 rescale -0 -Inf -> NaN Invalid_operation
! resx621 rescale NaN -Inf -> NaN Invalid_operation
resx622 rescale NaN -1000 -> NaN
resx623 rescale NaN -1 -> NaN
--- 548,563 ----
resx604 rescale -Inf 1 -> NaN Invalid_operation
resx605 rescale -Inf 1000 -> NaN Invalid_operation
! resx606 rescale -Inf Inf -> -Infinity
resx607 rescale -1000 Inf -> NaN Invalid_operation
! resx608 rescale -Inf -Inf -> -Infinity
resx609 rescale -1 -Inf -> NaN Invalid_operation
resx610 rescale 0 -Inf -> NaN Invalid_operation
resx611 rescale 1 -Inf -> NaN Invalid_operation
resx612 rescale 1000 -Inf -> NaN Invalid_operation
! resx613 rescale Inf -Inf -> Infinity
resx614 rescale -Inf -0 -> NaN Invalid_operation
resx615 rescale -0 -Inf -> NaN Invalid_operation
! resx621 rescale NaN -Inf -> NaN
resx622 rescale NaN -1000 -> NaN
resx623 rescale NaN -1 -> NaN
***************
*** 565,577 ****
resx625 rescale NaN 1 -> NaN
resx626 rescale NaN 1000 -> NaN
! resx627 rescale NaN Inf -> NaN Invalid_operation
resx628 rescale NaN NaN -> NaN
! resx629 rescale -Inf NaN -> NaN Invalid_operation
resx630 rescale -1000 NaN -> NaN
resx631 rescale -1 NaN -> NaN
resx632 rescale 0 NaN -> NaN
! resx633 rescale 1 NaN -> NaN
resx634 rescale 1000 NaN -> NaN
! resx635 rescale Inf NaN -> NaN Invalid_operation
resx636 rescale NaN -0 -> NaN
resx637 rescale -0 NaN -> NaN
--- 565,577 ----
resx625 rescale NaN 1 -> NaN
resx626 rescale NaN 1000 -> NaN
! resx627 rescale NaN Inf -> NaN
resx628 rescale NaN NaN -> NaN
! resx629 rescale -Inf NaN -> NaN
resx630 rescale -1000 NaN -> NaN
resx631 rescale -1 NaN -> NaN
resx632 rescale 0 NaN -> NaN
! resx633 rescale 1 -NaN -> -NaN
resx634 rescale 1000 NaN -> NaN
! resx635 rescale Inf NaN -> NaN
resx636 rescale NaN -0 -> NaN
resx637 rescale -0 NaN -> NaN
***************
*** 583,588 ****
resx645 rescale sNaN 1 -> NaN Invalid_operation
resx646 rescale sNaN 1000 -> NaN Invalid_operation
! resx647 rescale sNaN NaN -> NaN Invalid_operation
! resx648 rescale sNaN sNaN -> NaN Invalid_operation
resx649 rescale NaN sNaN -> NaN Invalid_operation
resx650 rescale -Inf sNaN -> NaN Invalid_operation
--- 583,588 ----
resx645 rescale sNaN 1 -> NaN Invalid_operation
resx646 rescale sNaN 1000 -> NaN Invalid_operation
! resx647 rescale -sNaN NaN -> -NaN Invalid_operation
! resx648 rescale sNaN -sNaN -> NaN Invalid_operation
resx649 rescale NaN sNaN -> NaN Invalid_operation
resx650 rescale -Inf sNaN -> NaN Invalid_operation
***************
*** 590,594 ****
resx652 rescale -1 sNaN -> NaN Invalid_operation
resx653 rescale 0 sNaN -> NaN Invalid_operation
! resx654 rescale 1 sNaN -> NaN Invalid_operation
resx655 rescale 1000 sNaN -> NaN Invalid_operation
resx656 rescale Inf sNaN -> NaN Invalid_operation
--- 590,594 ----
resx652 rescale -1 sNaN -> NaN Invalid_operation
resx653 rescale 0 sNaN -> NaN Invalid_operation
! resx654 rescale 1 -sNaN -> -NaN Invalid_operation
resx655 rescale 1000 sNaN -> NaN Invalid_operation
resx656 rescale Inf sNaN -> NaN Invalid_operation
***************
*** 597,600 ****
--- 597,619 ----
resx659 rescale -0 sNaN -> NaN Invalid_operation
+ -- propagating NaNs
+ resx661 rescale NaN9 -Inf -> NaN9
+ resx662 rescale NaN81 919 -> NaN81
+ resx663 rescale NaN72 Inf -> NaN72
+ resx664 rescale -NaN66 NaN5 -> -NaN66
+ resx665 rescale -Inf NaN4 -> NaN4
+ resx666 rescale -919 NaN32 -> NaN32
+ resx667 rescale Inf NaN2 -> NaN2
+
+ resx671 rescale sNaN99 -Inf -> NaN99 Invalid_operation
+ resx672 rescale -sNaN98 -11 -> -NaN98 Invalid_operation
+ resx673 rescale sNaN97 NaN -> NaN97 Invalid_operation
+ resx674 rescale sNaN16 sNaN94 -> NaN16 Invalid_operation
+ resx675 rescale NaN95 sNaN93 -> NaN93 Invalid_operation
+ resx676 rescale -Inf sNaN92 -> NaN92 Invalid_operation
+ resx677 rescale 088 -sNaN91 -> -NaN91 Invalid_operation
+ resx678 rescale Inf -sNaN90 -> -NaN90 Invalid_operation
+ resx679 rescale NaN sNaN87 -> NaN87 Invalid_operation
+
-- subnormals and underflow
precision: 4
Index: rounding.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/rounding.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** rounding.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- rounding.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- These tests require that implementations take account of residues in
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- These tests require that implementations take account of residues in
Index: squareroot.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/squareroot.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** squareroot.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- squareroot.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
***************
*** 2948,2951 ****
--- 2948,2957 ----
sqtx822 squareroot NaN -> NaN
sqtx823 squareroot sNaN -> NaN Invalid_operation
+ -- propagating NaNs
+ sqtx824 squareroot sNaN123 -> NaN123 Invalid_operation
+ sqtx825 squareroot -sNaN321 -> -NaN321 Invalid_operation
+ sqtx826 squareroot NaN456 -> NaN456
+ sqtx827 squareroot -NaN654 -> -NaN654
+ sqtx828 squareroot NaN1 -> NaN1
-- Null test
Index: subtract.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/subtract.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** subtract.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- subtract.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
***************
*** 724,728 ****
subx821 subtract NaN Inf -> NaN
! subx822 subtract NaN 1000 -> NaN
subx823 subtract NaN 1 -> NaN
subx824 subtract NaN 0 -> NaN
--- 724,728 ----
subx821 subtract NaN Inf -> NaN
! subx822 subtract -NaN 1000 -> -NaN
subx823 subtract NaN 1 -> NaN
subx824 subtract NaN 0 -> NaN
***************
*** 731,735 ****
subx827 subtract NaN -1000 -> NaN
subx828 subtract NaN -Inf -> NaN
! subx829 subtract NaN NaN -> NaN
subx830 subtract -Inf NaN -> NaN
subx831 subtract -1000 NaN -> NaN
--- 731,735 ----
subx827 subtract NaN -1000 -> NaN
subx828 subtract NaN -Inf -> NaN
! subx829 subtract -NaN NaN -> -NaN
subx830 subtract -Inf NaN -> NaN
subx831 subtract -1000 NaN -> NaN
***************
*** 738,746 ****
subx834 subtract 0 NaN -> NaN
subx835 subtract 1 NaN -> NaN
! subx836 subtract 1000 NaN -> NaN
subx837 subtract Inf NaN -> NaN
subx841 subtract sNaN Inf -> NaN Invalid_operation
! subx842 subtract sNaN 1000 -> NaN Invalid_operation
subx843 subtract sNaN 1 -> NaN Invalid_operation
subx844 subtract sNaN 0 -> NaN Invalid_operation
--- 738,746 ----
subx834 subtract 0 NaN -> NaN
subx835 subtract 1 NaN -> NaN
! subx836 subtract 1000 -NaN -> -NaN
subx837 subtract Inf NaN -> NaN
subx841 subtract sNaN Inf -> NaN Invalid_operation
! subx842 subtract -sNaN 1000 -> -NaN Invalid_operation
subx843 subtract sNaN 1 -> NaN Invalid_operation
subx844 subtract sNaN 0 -> NaN Invalid_operation
***************
*** 751,755 ****
subx849 subtract sNaN sNaN -> NaN Invalid_operation
subx850 subtract NaN sNaN -> NaN Invalid_operation
! subx851 subtract -Inf sNaN -> NaN Invalid_operation
subx852 subtract -1000 sNaN -> NaN Invalid_operation
subx853 subtract -1 sNaN -> NaN Invalid_operation
--- 751,755 ----
subx849 subtract sNaN sNaN -> NaN Invalid_operation
subx850 subtract NaN sNaN -> NaN Invalid_operation
! subx851 subtract -Inf -sNaN -> -NaN Invalid_operation
subx852 subtract -1000 sNaN -> NaN Invalid_operation
subx853 subtract -1 sNaN -> NaN Invalid_operation
***************
*** 761,764 ****
--- 761,786 ----
subx859 subtract NaN sNaN -> NaN Invalid_operation
+ -- propagating NaNs
+ subx861 subtract NaN01 -Inf -> NaN1
+ subx862 subtract -NaN02 -1000 -> -NaN2
+ subx863 subtract NaN03 1000 -> NaN3
+ subx864 subtract NaN04 Inf -> NaN4
+ subx865 subtract NaN05 NaN61 -> NaN5
+ subx866 subtract -Inf -NaN71 -> -NaN71
+ subx867 subtract -1000 NaN81 -> NaN81
+ subx868 subtract 1000 NaN91 -> NaN91
+ subx869 subtract Inf NaN101 -> NaN101
+ subx871 subtract sNaN011 -Inf -> NaN11 Invalid_operation
+ subx872 subtract sNaN012 -1000 -> NaN12 Invalid_operation
+ subx873 subtract -sNaN013 1000 -> -NaN13 Invalid_operation
+ subx874 subtract sNaN014 NaN171 -> NaN14 Invalid_operation
+ subx875 subtract sNaN015 sNaN181 -> NaN15 Invalid_operation
+ subx876 subtract NaN016 sNaN191 -> NaN191 Invalid_operation
+ subx877 subtract -Inf sNaN201 -> NaN201 Invalid_operation
+ subx878 subtract -1000 sNaN211 -> NaN211 Invalid_operation
+ subx879 subtract 1000 -sNaN221 -> -NaN221 Invalid_operation
+ subx880 subtract Inf sNaN231 -> NaN231 Invalid_operation
+ subx881 subtract NaN025 sNaN241 -> NaN241 Invalid_operation
+
-- subnormals and underflows
precision: 3
Index: testall.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/testall.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** testall.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- testall.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- core tests (using Extended: 1) --------------------------------------
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- core tests (using Extended: 1) --------------------------------------
***************
*** 42,45 ****
--- 42,46 ----
dectest: rescale -- [obsolete]
dectest: rounding
+ dectest: samequantum
dectest: squareroot
dectest: subtract
Index: tointegral.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/tointegral.decTest,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** tointegral.decTest 12 Aug 2003 23:05:30 -0000 1.1
--- tointegral.decTest 6 Feb 2004 16:56:03 -0000 1.2
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
-- This set of tests tests the extended specification 'round-to-integral
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
-- This set of tests tests the extended specification 'round-to-integral
***************
*** 24,28 ****
-- All non-zero results are defined as being those from either copy or
-- quantize, so those are assumed to have been tested.
! -- Note that 754r requires that not be set, and we similarly
-- assume Rounded is not set.
--- 24,28 ----
-- All non-zero results are defined as being those from either copy or
-- quantize, so those are assumed to have been tested.
! -- Note that 754r requires that Inexact not be set, and we similarly
-- assume Rounded is not set.
***************
*** 149,152 ****
--- 149,159 ----
intx150 tointegral -0E+4 -> -0E+4
intx151 tointegral -0E+5 -> -0E+5
+ -- propagating NaNs
+ intx152 tointegral NaN808 -> NaN808
+ intx153 tointegral sNaN080 -> NaN80 Invalid_operation
+ intx154 tointegral -NaN808 -> -NaN808
+ intx155 tointegral -sNaN080 -> -NaN80 Invalid_operation
+ intx156 tointegral -NaN -> -NaN
+ intx157 tointegral -sNaN -> -NaN Invalid_operation
-- examples
Index: trim.decTest
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/decimal/tests/trim.decTest,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** trim.decTest 12 Aug 2003 23:05:30 -0000 1.4
--- trim.decTest 6 Feb 2004 16:56:03 -0000 1.5
***************
*** 18,22 ****
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.28
extended: 1
--- 18,22 ----
-- mfc at uk.ibm.com --
------------------------------------------------------------------------
! version: 2.35
extended: 1
***************
*** 142,145 ****
--- 142,151 ----
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
More information about the Python-checkins
mailing list