On Thu, Oct 2, 2014 at 9:29 PM, Nathaniel Smith <n...@pobox.com> wrote:

> On Fri, Oct 3, 2014 at 3:20 AM, Charles R Harris
> <charlesr.har...@gmail.com> wrote:
> >
> > On Thu, Oct 2, 2014 at 7:06 PM, Benjamin Root <ben.r...@ou.edu> wrote:
> >>
> >> Out[1] has an integer divided by an integer, and you can't represent nan
> >> as an integer. Perhaps something weird was happening with type promotion
> >> between versions?
> >
> >
> > Also note that in python3 the '/' operator does float rather than integer
> > division.
> >
> >>>> np.array(0) / np.array(0)
> > __main__:1: RuntimeWarning: invalid value encountered in true_divide
> > nan
>
> Floor division still acts the same though:
>
> >>> np.array(0) // np.array(0)
> __main__:1: RuntimeWarning: divide by zero encountered in floor_divide
> 0
>
> The seterr warning system makes a lot of sense for IEEE754 floats,
> which are specifically designed so that 0/0 has a unique well-defined
> answer. For ints though this seems really broken to me. 0 / 0 = 0 is
> just the wrong answer. It would be nice if we had something reasonable
> to return, but we don't, and I'd rather raise an error than return the
> wrong answer.
>

That's an option, although arguable for arrays of numbers. However, the
fact that we don't know *which* numbers caused the problem strengthens the
argument for an error.

Chuck
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to