summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorFacundo Batista <facundobatista@gmail.com>2008-12-11 04:19:46 (GMT)
committerFacundo Batista <facundobatista@gmail.com>2008-12-11 04:19:46 (GMT)
commite29d435e0cefb3e1772f6de0844e628aac3cf98e (patch)
tree1fb28cdfbbc38c424bd7f3f911db0893f456dd0c /Lib/test
parent240028cb771d286b39952357802483cf6a5d7e2e (diff)
downloadcpython-e29d435e0cefb3e1772f6de0844e628aac3cf98e.zip
cpython-e29d435e0cefb3e1772f6de0844e628aac3cf98e.tar.gz
cpython-e29d435e0cefb3e1772f6de0844e628aac3cf98e.tar.bz2
Issue #4084: Fix max, min, max_mag and min_mag Decimal methods to
give correct results in the case where one argument is a quiet NaN and the other is a finite number that requires rounding. Thanks Mark Dickinson.
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/decimaltestdata/extra.decTest17
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/test/decimaltestdata/extra.decTest b/Lib/test/decimaltestdata/extra.decTest
index 0cc1bbb..2e3fce8 100644
--- a/Lib/test/decimaltestdata/extra.decTest
+++ b/Lib/test/decimaltestdata/extra.decTest
@@ -154,6 +154,23 @@ extr1301 fma Inf 0 sNaN456 -> NaN Invalid_operation
extr1302 fma 0E123 -Inf sNaN789 -> NaN Invalid_operation
extr1302 fma -Inf 0E-456 sNaN148 -> NaN Invalid_operation
+-- max/min/max_mag/min_mag bug in 2.5.2/2.6/3.0: max(NaN, finite) gave
+-- incorrect answers when the finite number required rounding; similarly
+-- for the other thre functions
+maxexponent: 999
+minexponent: -999
+precision: 6
+rounding: half_even
+extr1400 max NaN 1234567 -> 1.23457E+6 Inexact Rounded
+extr1401 max 3141590E-123 NaN1729 -> 3.14159E-117 Rounded
+extr1402 max -7.654321 -NaN -> -7.65432 Inexact Rounded
+extr1410 min -NaN -765432.1 -> -765432 Inexact Rounded
+extr1411 min 3141592 NaN -> 3.14159E+6 Inexact Rounded
+extr1420 max_mag 0.1111111 -NaN123 -> 0.111111 Inexact Rounded
+extr1421 max_mag NaN999999999 0.001234567 -> 0.00123457 Inexact Rounded
+extr1430 min_mag 9181716151 -NaN -> 9.18172E+9 Inexact Rounded
+extr1431 min_mag NaN4 1.818180E100 -> 1.81818E+100 Rounded
+
-- Tests for the is_* boolean operations
precision: 9
maxExponent: 999