[Python-checkins] cpython (2.7): Neaten-up the fix to issue 11830

raymond.hettinger python-checkins at python.org
Tue Apr 12 18:06:10 CEST 2011


http://hg.python.org/cpython/rev/f4adc2926bf5
changeset:   69271:f4adc2926bf5
branch:      2.7
parent:      69267:61f25c9e7fa1
user:        Raymond Hettinger <python at rcn.com>
date:        Tue Apr 12 09:06:01 2011 -0700
summary:
  Neaten-up the fix to issue 11830

files:
  Lib/decimal.py |  22 +++++++++++-----------
  1 files changed, 11 insertions(+), 11 deletions(-)


diff --git a/Lib/decimal.py b/Lib/decimal.py
--- a/Lib/decimal.py
+++ b/Lib/decimal.py
@@ -1683,7 +1683,7 @@
                 self = _dec_from_triple(self._sign, '1', exp_min-1)
                 digits = 0
             rounding_method = self._pick_rounding_function[context.rounding]
-            changed = getattr(self, rounding_method)(digits)
+            changed = rounding_method(self, digits)
             coeff = self._int[:digits] or '0'
             if changed > 0:
                 coeff = str(int(coeff)+1)
@@ -1790,14 +1790,14 @@
             return -self._round_down(prec)
 
     _pick_rounding_function = dict(
-        ROUND_DOWN = '_round_down',
-        ROUND_UP = '_round_up',
-        ROUND_HALF_UP = '_round_half_up',
-        ROUND_HALF_DOWN = '_round_half_down',
-        ROUND_HALF_EVEN = '_round_half_even',
-        ROUND_CEILING = '_round_ceiling',
-        ROUND_FLOOR = '_round_floor',
-        ROUND_05UP = '_round_05up',
+        ROUND_DOWN = _round_down,
+        ROUND_UP = _round_up,
+        ROUND_HALF_UP = _round_half_up,
+        ROUND_HALF_DOWN = _round_half_down,
+        ROUND_HALF_EVEN = _round_half_even,
+        ROUND_CEILING = _round_ceiling,
+        ROUND_FLOOR = _round_floor,
+        ROUND_05UP = _round_05up,
     )
 
     def fma(self, other, third, context=None):
@@ -2504,8 +2504,8 @@
         if digits < 0:
             self = _dec_from_triple(self._sign, '1', exp-1)
             digits = 0
-        this_function = getattr(self, self._pick_rounding_function[rounding])
-        changed = this_function(digits)
+        this_function = self._pick_rounding_function[rounding]
+        changed = this_function(self, digits)
         coeff = self._int[:digits] or '0'
         if changed == 1:
             coeff = str(int(coeff)+1)

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list