From: Mark Dickinson Date: Wed, 7 Oct 2009 19:22:05 +0000 (+0000) Subject: Issue #7048: logb should round its result when that result doesn't fit X-Git-Tag: v2.7a1~408 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=15ae41c2db8b0779a7f584c238a8e9efe6e370b3;p=python Issue #7048: logb should round its result when that result doesn't fit into the available precision. (Tests for this change are included in the most recent set of testcases from the Decimal Specification site; those testcases will be updated shortly.) --- diff --git a/Lib/decimal.py b/Lib/decimal.py index 4d1f7f9f15..75e5eea7b9 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -3126,7 +3126,8 @@ class Decimal(object): # otherwise, simply return the adjusted exponent of self, as a # Decimal. Note that no attempt is made to fit the result # into the current context. - return Decimal(self.adjusted()) + ans = Decimal(self.adjusted()) + return ans._fix(context) def _islogical(self): """Return True if self is a logical operand. diff --git a/Misc/NEWS b/Misc/NEWS index f90c8f4fa7..cbd3040126 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -398,6 +398,9 @@ Core and Builtins Library ------- +- Issue #7048: Force Decimal.logb to round its result when that result + is too large to fit in the current precision. + - Issue #6516: Added owner/group support when creating tar archives in Distutils.