From: Andrew J. <a.h...@gm...> - 2006-10-12 15:35:27
|
Tim Hochberg wrote: > Travis Oliphant wrote: >> Tim Hochberg wrote: >> >> >>> With python 2.5 out now, perhaps it's time to come up with a with >>> statement context manager. Something like: >>> >>> a = numpy.arange(10) >>> a/a # ignores divide by zero >>> with errstate(divide='raise'): >>> a/a # raise exception on divide by zer >>> # Would ignore divide by zero again if we got here. >>> >>> -tim >>> >> This looks great. I think most people aren't aware of the with >> statement and what it can do (I'm only aware because of your posts, for >> example). >> >> So, what needs to be added to your example in order to just add it to >> numpy? >> > As far as I know, just testing and documentation -- however testing was > so minimal that I may find some other stuff. I'll try to clean it up > tomorrow so that I'm a little more confident that it works correctly and > I'll send another note out then. For this particular application, why not a context manager which just substitutes in the appropriately-optimized version of sqrt? That is, don't change the error state, but actually change the value of the object pointed at by the name sqrt? Andrew |