Merged the decimal-branch (revisions 54886 to 58140). Decimal is now
fully updated to the latests Decimal Specification (v1.66) and the
latests test cases (v2.56).
Thanks to Mark Dickinson for all his help during this process.
diff --git a/Lib/test/decimaltestdata/compare.decTest b/Lib/test/decimaltestdata/compare.decTest
index 21651ad..2d5e664 100644
--- a/Lib/test/decimaltestdata/compare.decTest
+++ b/Lib/test/decimaltestdata/compare.decTest
@@ -1,6 +1,6 @@
------------------------------------------------------------------------
--- compare.decTest -- decimal comparison --
--- Copyright (c) IBM Corporation, 1981, 2003. All rights reserved. --
+-- compare.decTest -- decimal comparison that allows quiet NaNs --
+-- Copyright (c) IBM Corporation, 1981, 2007. All rights reserved. --
------------------------------------------------------------------------
-- Please see the document "General Decimal Arithmetic Testcases" --
-- at http://www2.hursley.ibm.com/decimal for the description of --
@@ -17,11 +17,11 @@
-- IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK --
-- mfc@uk.ibm.com --
------------------------------------------------------------------------
-version: 2.39
+version: 2.56
-- Note that we cannot assume add/subtract tests cover paths adequately,
-- here, because the code might be quite different (comparison cannot
--- overflow or underflow, so actual subtractions are not necesary).
+-- overflow or underflow, so actual subtractions are not necessary).
extended: 1
@@ -112,10 +112,10 @@
-- now some cases which might overflow if subtract were used
maxexponent: 999999999
minexponent: -999999999
-comx090 compare 9.99999999E+999999999 9.99999999E+999999999 -> 0
-comx091 compare -9.99999999E+999999999 9.99999999E+999999999 -> -1
-comx092 compare 9.99999999E+999999999 -9.99999999E+999999999 -> 1
-comx093 compare -9.99999999E+999999999 -9.99999999E+999999999 -> 0
+comx095 compare 9.99999999E+999999999 9.99999999E+999999999 -> 0
+comx096 compare -9.99999999E+999999999 9.99999999E+999999999 -> -1
+comx097 compare 9.99999999E+999999999 -9.99999999E+999999999 -> 1
+comx098 compare -9.99999999E+999999999 -9.99999999E+999999999 -> 0
-- some differing length/exponent cases
comx100 compare 7.0 7.0 -> 0
@@ -265,6 +265,21 @@
comx449 compare -8 -.9E+1 -> 1
comx450 compare -8 -90E-1 -> 1
+-- misalignment traps for little-endian
+comx451 compare 1.0 0.1 -> 1
+comx452 compare 0.1 1.0 -> -1
+comx453 compare 10.0 0.1 -> 1
+comx454 compare 0.1 10.0 -> -1
+comx455 compare 100 1.0 -> 1
+comx456 compare 1.0 100 -> -1
+comx457 compare 1000 10.0 -> 1
+comx458 compare 10.0 1000 -> -1
+comx459 compare 10000 100.0 -> 1
+comx460 compare 100.0 10000 -> -1
+comx461 compare 100000 1000.0 -> 1
+comx462 compare 1000.0 100000 -> -1
+comx463 compare 1000000 10000.0 -> 1
+comx464 compare 10000.0 1000000 -> -1
-- testcases that subtract to lots of zeros at boundaries [pgr]
precision: 40
@@ -362,7 +377,7 @@
comx569 compare 1E+13 1 -> 1
comx570 compare 1E+14 1 -> 1
comx571 compare 1E+15 1 -> 1
--- similar with an useful coefficient, one side only
+-- similar with a useful coefficient, one side only
comx580 compare 0.000000987654321 1E-15 -> 1
comx581 compare 0.000000987654321 1E-14 -> 1
comx582 compare 0.000000987654321 1E-13 -> 1
@@ -712,6 +727,32 @@
comx907 compare -1e-777777777 1e-411111111 -> -1
comx908 compare -1e-777777777 -1e-411111111 -> 1
+-- spread zeros
+comx910 compare 0E-383 0 -> 0
+comx911 compare 0E-383 -0 -> 0
+comx912 compare -0E-383 0 -> 0
+comx913 compare -0E-383 -0 -> 0
+comx914 compare 0E-383 0E+384 -> 0
+comx915 compare 0E-383 -0E+384 -> 0
+comx916 compare -0E-383 0E+384 -> 0
+comx917 compare -0E-383 -0E+384 -> 0
+comx918 compare 0 0E+384 -> 0
+comx919 compare 0 -0E+384 -> 0
+comx920 compare -0 0E+384 -> 0
+comx921 compare -0 -0E+384 -> 0
+comx930 compare 0E+384 0 -> 0
+comx931 compare 0E+384 -0 -> 0
+comx932 compare -0E+384 0 -> 0
+comx933 compare -0E+384 -0 -> 0
+comx934 compare 0E+384 0E-383 -> 0
+comx935 compare 0E+384 -0E-383 -> 0
+comx936 compare -0E+384 0E-383 -> 0
+comx937 compare -0E+384 -0E-383 -> 0
+comx938 compare 0 0E-383 -> 0
+comx939 compare 0 -0E-383 -> 0
+comx940 compare -0 0E-383 -> 0
+comx941 compare -0 -0E-383 -> 0
+
-- Null tests
comx990 compare 10 # -> NaN Invalid_operation
comx991 compare # 10 -> NaN Invalid_operation