diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2009-10-27 18:27:53 +0000 |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2009-10-27 18:27:53 +0000 |
commit | 20a7cfcaa186c9acbbda0b53532b708c6d12aa4e (patch) | |
tree | d3461f5c8443d9082c5e5906d59d02d95411597e | |
parent | f3a0ff61e0f9eadd46e86689d01ae82509a0b425 (diff) | |
download | cpython-git-20a7cfcaa186c9acbbda0b53532b708c6d12aa4e.tar.gz |
Merged revisions 75561 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r75561 | mark.dickinson | 2009-10-20 14:33:03 +0100 (Tue, 20 Oct 2009) | 3 lines
Issue #7099: Decimal.is_normal should return True for all nonzero
finite non-subnormal values, even those with exponent > Emax.
........
-rw-r--r-- | Lib/decimal.py | 2 | ||||
-rw-r--r-- | Lib/test/decimaltestdata/extra.decTest | 24 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 16 insertions, 13 deletions
diff --git a/Lib/decimal.py b/Lib/decimal.py index d589fd779f..2156a66da1 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -2874,7 +2874,7 @@ class Decimal(object): return False if context is None: context = getcontext() - return context.Emin <= self.adjusted() <= context.Emax + return context.Emin <= self.adjusted() def is_qnan(self): """Return True if self is a quiet NaN; otherwise return False.""" diff --git a/Lib/test/decimaltestdata/extra.decTest b/Lib/test/decimaltestdata/extra.decTest index 1d6ea3702a..15c1b52848 100644 --- a/Lib/test/decimaltestdata/extra.decTest +++ b/Lib/test/decimaltestdata/extra.decTest @@ -1128,10 +1128,10 @@ bool0932 isnormal 1E+998 -> 1 bool0933 isnormal -1E+998 -> 1 bool0934 isnormal 1E+999 -> 1 bool0935 isnormal -1E+999 -> 1 -bool0936 isnormal 1E+1000 -> 0 -bool0937 isnormal -1E+1000 -> 0 -bool0938 isnormal 1E+2000 -> 0 -bool0939 isnormal -1E+2000 -> 0 +bool0936 isnormal 1E+1000 -> 1 +bool0937 isnormal -1E+1000 -> 1 +bool0938 isnormal 1E+2000 -> 1 +bool0939 isnormal -1E+2000 -> 1 bool0940 isnormal 9E-2000 -> 0 bool0941 isnormal -9E-2000 -> 0 bool0942 isnormal 9E-1008 -> 0 @@ -1178,10 +1178,10 @@ bool0982 isnormal 9E+998 -> 1 bool0983 isnormal -9E+998 -> 1 bool0984 isnormal 9E+999 -> 1 bool0985 isnormal -9E+999 -> 1 -bool0986 isnormal 9E+1000 -> 0 -bool0987 isnormal -9E+1000 -> 0 -bool0988 isnormal 9E+2000 -> 0 -bool0989 isnormal -9E+2000 -> 0 +bool0986 isnormal 9E+1000 -> 1 +bool0987 isnormal -9E+1000 -> 1 +bool0988 isnormal 9E+2000 -> 1 +bool0989 isnormal -9E+2000 -> 1 bool0990 isnormal 9.99999999E-2000 -> 0 bool0991 isnormal -9.99999999E-2000 -> 0 bool0992 isnormal 9.99999999E-1008 -> 0 @@ -1228,10 +1228,10 @@ bool1032 isnormal 9.99999999E+998 -> 1 bool1033 isnormal -9.99999999E+998 -> 1 bool1034 isnormal 9.99999999E+999 -> 1 bool1035 isnormal -9.99999999E+999 -> 1 -bool1036 isnormal 9.99999999E+1000 -> 0 -bool1037 isnormal -9.99999999E+1000 -> 0 -bool1038 isnormal 9.99999999E+2000 -> 0 -bool1039 isnormal -9.99999999E+2000 -> 0 +bool1036 isnormal 9.99999999E+1000 -> 1 +bool1037 isnormal -9.99999999E+1000 -> 1 +bool1038 isnormal 9.99999999E+2000 -> 1 +bool1039 isnormal -9.99999999E+2000 -> 1 bool1040 isnormal Infinity -> 0 bool1041 isnormal -Infinity -> 0 bool1042 isnormal NaN -> 0 @@ -24,6 +24,9 @@ Core and Builtins Library ------- +- Issue #7099: Decimal.is_normal now returns True for numbers with exponent + larger than emax. + - Issue #7205: Fix a possible deadlock when using a BZ2File object from several threads at once. |