Issue #7099: Decimal.is_normal should return True for all nonzero

finite non-subnormal values, even those with exponent > Emax.
This commit is contained in:
Mark Dickinson 2009-10-20 13:33:03 +00:00
parent e047d7953f
commit a7a52ab7ee
3 changed files with 16 additions and 13 deletions

View File

@ -2917,7 +2917,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."""

View File

@ -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

View File

@ -414,6 +414,9 @@ Core and Builtins
Library
-------
- Issue #7099: Decimal.is_normal now returns True for numbers with exponent
larger than emax.
- Issue #5833: Fix extra space character in readline completion with the
GNU readline library version 6.0.