[Numpy-discussion] Context manager for seterr

Julian Taylor 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 mailing list