------------------------------------------------------------------------ -- samequantum.decTest -- check quantums match -- -- Copyright (c) Mike Cowlishaw, 1981, 2010. All rights reserved. -- -- Parts copyright (c) IBM Corporation, 1981, 2008. -- ------------------------------------------------------------------------ -- Please see the document "General Decimal Arithmetic Testcases" -- -- at http://speleotrove.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, mfc@speleotrove.com -- ------------------------------------------------------------------------ version: 2.62 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 -- Nmax, Nmin, Ntiny samq051 samequantum 9.99999999E+999 9.99999999E+999 -> 1 samq052 samequantum 1E-999 1E-999 -> 1 samq053 samequantum 1.00000000E-999 1.00000000E-999 -> 1 samq054 samequantum 1E-1007 1E-1007 -> 1 samq055 samequantum 9.99999999E+999 9.99999999E+999 -> 1 samq056 samequantum 1E-999 1E-999 -> 1 samq057 samequantum 1.00000000E-999 1.00000000E-999 -> 1 samq058 samequantum 1E-1007 1E-1007 -> 1 samq061 samequantum -1E-1007 -1E-1007 -> 1 samq062 samequantum -1.00000000E-999 -1.00000000E-999 -> 1 samq063 samequantum -1E-999 -1E-999 -> 1 samq064 samequantum -9.99999999E+999 -9.99999999E+999 -> 1 samq065 samequantum -1E-1007 -1E-1007 -> 1 samq066 samequantum -1.00000000E-999 -1.00000000E-999 -> 1 samq067 samequantum -1E-999 -1E-999 -> 1 samq068 samequantum -9.99999999E+999 -9.99999999E+999 -> 1 samq071 samequantum -4E-1007 -1E-1007 -> 1 samq072 samequantum -4.00000000E-999 -1.00004000E-999 -> 1 samq073 samequantum -4E-999 -1E-999 -> 1 samq074 samequantum -4.99999999E+999 -9.99949999E+999 -> 1 samq075 samequantum -4E-1007 -1E-1007 -> 1 samq076 samequantum -4.00000000E-999 -1.00400000E-999 -> 1 samq077 samequantum -4E-999 -1E-999 -> 1 samq078 samequantum -4.99999999E+999 -9.94999999E+999 -> 1 samq081 samequantum -4E-1006 -1E-1007 -> 0 samq082 samequantum -4.00000000E-999 -1.00004000E-996 -> 0 samq083 samequantum -4E-996 -1E-999 -> 0 samq084 samequantum -4.99999999E+999 -9.99949999E+996 -> 0 samq085 samequantum -4E-1006 -1E-1007 -> 0 samq086 samequantum -4.00000000E-999 -1.00400000E-996 -> 0 samq087 samequantum -4E-996 -1E-999 -> 0 samq088 samequantum -4.99999999E+999 -9.94999999E+996 -> 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