diff -up Python-2.7.1/Lib/decimal.py.fix-decimal-in-turkish-locale Python-2.7.1/Lib/decimal.py --- Python-2.7.1/Lib/decimal.py.fix-decimal-in-turkish-locale 2010-07-08 17:22:54.000000000 -0400 +++ Python-2.7.1/Lib/decimal.py 2011-04-12 11:30:40.850350842 -0400 @@ -1720,8 +1720,6 @@ class Decimal(object): # here self was representable to begin with; return unchanged return Decimal(self) - _pick_rounding_function = {} - # for each of the rounding functions below: # self is a finite, nonzero Decimal # prec is an integer satisfying 0 <= prec < len(self._int) @@ -1788,6 +1786,17 @@ class Decimal(object): else: 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', + ) + def fma(self, other, third, context=None): """Fused multiply-add. @@ -3705,18 +3714,6 @@ _numbers.Number.register(Decimal) ##### Context class ####################################################### - -# get rounding method function: -rounding_functions = [name for name in Decimal.__dict__.keys() - if name.startswith('_round_')] -for name in rounding_functions: - # name is like _round_half_even, goes to the global ROUND_HALF_EVEN value. - globalname = name[1:].upper() - val = globals()[globalname] - Decimal._pick_rounding_function[val] = name - -del name, val, globalname, rounding_functions - class _ContextManager(object): """Context manager class to support localcontext(). diff -up Python-2.7.1/Misc/NEWS.fix-decimal-in-turkish-locale Python-2.7.1/Misc/NEWS