[Python-3000-checkins] r61941 - in python/branches/py3k: Lib/decimal.py Lib/test/test_decimal.py Misc/developers.txt

christian.heimes python-3000-checkins at python.org
Wed Mar 26 13:55:59 CET 2008


Author: christian.heimes
Date: Wed Mar 26 13:55:56 2008
New Revision: 61941

Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Lib/decimal.py
   python/branches/py3k/Lib/test/test_decimal.py
   python/branches/py3k/Misc/developers.txt
Log:
Merged revisions 61892,61900 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r61892 | mark.dickinson | 2008-03-25 15:33:23 +0100 (Tue, 25 Mar 2008) | 3 lines
  
  Issue #2478: Decimal(sqrt(0)) failed when the decimal context
  was not explicitly supplied.
........
  r61900 | georg.brandl | 2008-03-25 18:36:43 +0100 (Tue, 25 Mar 2008) | 2 lines
  
  Add Benjamin.
........


Modified: python/branches/py3k/Lib/decimal.py
==============================================================================
--- python/branches/py3k/Lib/decimal.py	(original)
+++ python/branches/py3k/Lib/decimal.py	Wed Mar 26 13:55:56 2008
@@ -2454,6 +2454,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:
@@ -2467,9 +2470,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/py3k/Lib/test/test_decimal.py
==============================================================================
--- python/branches/py3k/Lib/test/test_decimal.py	(original)
+++ python/branches/py3k/Lib/test/test_decimal.py	Wed Mar 26 13:55:56 2008
@@ -1303,6 +1303,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/py3k/Misc/developers.txt
==============================================================================
--- python/branches/py3k/Misc/developers.txt	(original)
+++ python/branches/py3k/Misc/developers.txt	Wed Mar 26 13:55:56 2008
@@ -17,6 +17,9 @@
 Permissions History
 -------------------
 
+- Benjamin Peterson was given SVN access on 25 March 2008 by Georg
+  Brandl, for bug triage work.
+
 - Jerry Seutter was given SVN access on 20 March 2008 by BAC, for
   general contributions to Python.
 


More information about the Python-3000-checkins mailing list