
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@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- This set of tests primarily tests the existence of the operator. --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 precision: 9 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- This file tests base conversions from string to a decimal number --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- This set of tests uses the same limits as the 8-byte concrete --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- Note that we cannot assume add/subtract tests cover paths adequately, --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- we assume that base comparison is tested in compare.decTest, so --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- we assume that base comparison is tested in compare.decTest, so --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- This set of tests primarily tests the existence of the operator. --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- This set of tests primarily tests the existence of the operator. --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- This set of testcases tests raising numbers to an integer power only. --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- Most of the tests here assume a "regular pattern", where the --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- These testcases test calculations at precisions 31, 32, and 33, to --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- [obsolete] Quantize.decTest has the improved version --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- These tests require that implementations take account of residues in --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- core tests (using Extended: 1) -------------------------------------- --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 -- This set of tests tests the extended specification 'round-to-integral --- 18,22 ---- -- mfc@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@uk.ibm.com -- ------------------------------------------------------------------------ ! version: 2.28 extended: 1 --- 18,22 ---- -- mfc@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