[Numpy-discussion] Context manager for seterr
jtaylor.debian at googlemail.com
Sun Dec 14 19:55:09 EST 2014
On 15.12.2014 01:40, Stefan van der Walt wrote:
> On 2014-12-15 02:23:18, Julian Taylor <jtaylor.debian at googlemail.com> wrote:
>> already exists as np.errstate:
>> with np.errstate(divide='ignore'):
> With 'ignore' a warning is still raised--is this by choice?
>>>> import numpy as np
>>>> x = np.array([0, 1, 2.])
>>>> with np.errstate(divide='ignore'):
> ... x/x
> __main__:2: RuntimeWarning: invalid value encountered in true_divide
> array([ nan, 1., 1.])
> (I see it is documented that way as well, so I suspect so.)
0./0. raises an invalid floating point exception, unlike e.g 1./0. which
raises a zero division exception.
NumPy just bubbles up what the processor does, which means it does not
behave like Python which always raises ZeroDivision also for 0./0.
More information about the NumPy-Discussion