[Python-checkins] r61893 - in python/branches/release25-maint: Lib/decimal.py Lib/test/test_decimal.py Misc/NEWS
mark.dickinson
python-checkins at python.org
Tue Mar 25 15:35:26 CET 2008
Author: mark.dickinson
Date: Tue Mar 25 15:35:25 2008
New Revision: 61893
Modified:
python/branches/release25-maint/Lib/decimal.py
python/branches/release25-maint/Lib/test/test_decimal.py
python/branches/release25-maint/Misc/NEWS
Log:
Decimal.sqrt(0) failed when the context was not
explicitly supplied.
Modified: python/branches/release25-maint/Lib/decimal.py
==============================================================================
--- python/branches/release25-maint/Lib/decimal.py (original)
+++ python/branches/release25-maint/Lib/decimal.py Tue Mar 25 15:35:25 2008
@@ -2316,6 +2316,9 @@
def sqrt(self, context=None):
"""Return the square root of self."""
+ if context is None:
+ context = getcontext()
+
if self._is_special:
ans = self._check_nans(context=context)
if ans:
@@ -2329,9 +2332,6 @@
ans = _dec_from_triple(self._sign, '0', self._exp // 2)
return ans._fix(context)
- if context is None:
- context = getcontext()
-
if self._sign == 1:
return context._raise_error(InvalidOperation, 'sqrt(-x), x > 0')
Modified: python/branches/release25-maint/Lib/test/test_decimal.py
==============================================================================
--- python/branches/release25-maint/Lib/test/test_decimal.py (original)
+++ python/branches/release25-maint/Lib/test/test_decimal.py Tue Mar 25 15:35:25 2008
@@ -1192,6 +1192,12 @@
d = d1.max(d2)
self.assertTrue(type(d) is Decimal)
+ def test_implicit_context(self):
+ # Check results when context given implicitly. (Issue 2478)
+ c = getcontext()
+ self.assertEqual(str(Decimal(0).sqrt()),
+ str(c.sqrt(Decimal(0))))
+
class DecimalPythonAPItests(unittest.TestCase):
Modified: python/branches/release25-maint/Misc/NEWS
==============================================================================
--- python/branches/release25-maint/Misc/NEWS (original)
+++ python/branches/release25-maint/Misc/NEWS Tue Mar 25 15:35:25 2008
@@ -27,6 +27,8 @@
Library
-------
+- Issue #2478: fix failure of decimal.Decimal(0).sqrt()
+
- Issue #2432: give DictReader the dialect and line_num attributes
advertised in the docs.
More information about the Python-checkins
mailing list