On Mon, Apr 28, 2014 at 6:36 PM, Neal Becker <ndbeck...@gmail.com> wrote: > I notice rint returns float. Shouldn't it return int? > > Would be useful when float is no longer acceptable as an index. I think > conversion to an index using rint is a common idiom.
C's rint() does not: http://linux.die.net/man/3/rint This is because there are many integers that are representable as floats/doubles/long doubles that are well outside of the range of any C integer type, e.g. 1e20. Python 3's round() can return a Python int because Python ints are unbounded. Ours aren't. That said, typically the first thing anyone does with the result of rounding is to coerce it to a native int dtype without any checking. It would not be terrible to have a function that rounds, then coerces to int but checks for overflow and passes that through the numpy error mechanism to be controlled. But it shouldn't be called rint(), which is intended to be as thin a wrapper over the C function as possible. -- Robert Kern _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion