[Numpy-discussion] arange and floating point arguments
Ed Schofield
edschofield at gmail.com
Fri Sep 14 05:37:53 EDT 2007
Hi everyone,
This was reported yesterday as a bug in Debian's numpy package:
>>> len(numpy.arange(0, 0.6, 0.1)) == len(numpy.arange(0, 0.4+0.2, 0.1))
False
The cause is this:
>>> ceil((0.4+0.2)/0.1)
7.0
>>> ceil(0.6/0.1)
6.0
which holds for both numpy's and the standard library's ceil().
Using arange in this way is a fundamentally unreliable thing to do,
but is there anything we want to do about this? Should numpy emit a
warning when using arange with floating point values when
(stop-start)/step is close to an integer?
-- Ed
More information about the NumPy-Discussion
mailing list