[Numpy-discussion] indexing bug?
Robert Kern
robert.kern at gmail.com
Wed Oct 3 14:18:01 EDT 2007
Timothy Hochberg wrote:
> As I understand it, the whole point of PEP-357 was to allow the coercion
> of int-like things (numpy.int32 say, or your own private integerish
> class) to be used as indices without also allowing things that aren't
> integers, but that can be coerced to integers (floats for instance) to
> slip through. So yes, I'd say this is a bug. Probably someplace that
> should be using __index__ or the C equivalent is still using __int__,
> but I haven't had time to look.
I believe the problem is in numpy/core/src/arrayobject.c:
2635 static PyObject *
2636 array_subscript_simple(PyArrayObject *self, PyObject *op)
2637 {
2638 intp dimensions[MAX_DIMS], strides[MAX_DIMS];
2639 intp offset;
2640 int nd;
2641 PyArrayObject *other;
2642 intp value;
2643
2644 value = PyArray_PyIntAsIntp(op);
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the NumPy-Discussion
mailing list