On May 17, 2005, at 9:02 PM, Raymond Hettinger wrote:

>>> What's the advantage of using two calls to getcontext() vs. saving
>>>
> the
>
>>> context in a local variable?
>>>
>>
>> I also prefer saving the context in a local variable but that is just
>>
> a
>
>> micro-optimization.  The presentation with multiple calls to
>> getcontext() was kept just to match the style of the original -- the
>> important change was the absolute save and restore versus the  
>> original
>> relative adjust up and adjust down.
>>
>
> One more thought:  Rather than just saving the precision, it is likely
> wiser, safer, and more general to just save and restore the whole
> context and let the wrapped block only work with a copy.
>
>     oldcontext = decimal.getcontext()
>     newcontext = oldcontext.copy()
>     newcontext.prec += 2
>     yield None
>     decimal.setcontext(oldcontext)
>
> This approach defends against various kinds of unruly behavior by the
> yield target.

I think you're missing a decimal.setcontext(newcontext) before the  
yield..

-bob

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to