[Python-Dev] Example for PEP 343
Raymond Hettinger
python at rcn.com
Wed May 18 00:41:03 CEST 2005
> -----Original Message-----
> From: python-dev-bounces+python=rcn.com at python.org [mailto:python-dev-
> bounces+python=rcn.com at python.org] On Behalf Of Phillip J. Eby
> Sent: Tuesday, May 17, 2005 6:06 PM
> To: Michael Chermside; gvanrossum at gmail.com
> Cc: python-dev at python.org
> Subject: Re: [Python-Dev] Example for PEP 343
>
> At 02:42 PM 5/17/2005 -0700, Michael Chermside wrote:
>
> ># ===== SAMPLE #1: increasing precision during a sub-calculation
=====
> >
> >import decimal
> >
> >@do_template
> >def with_extra_precision(places=2):
> > "Performs nested computation with extra digits of precision."
> > decimal.getcontext().prec += 2
> > yield None
> > decimal.getcontext().prec -= 2
>
> Won't this do the wrong thing if something within the block alters the
> precision?
Right.
It should save, alter, and then restore:
oldprec = decimal.getcontext().prec
decimal.getcontext().prec += 2
yield None
decimal.getcontext().prec = oldprec
Raymond Hettinger
More information about the Python-Dev
mailing list