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 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion