[Numpy-discussion] Returning the same dtype in Cython as np.argmax

Travis Oliphant oliphant@enthought....
Wed Jun 8 23:49:01 CDT 2011

On Jun 7, 2011, at 3:17 PM, Keith Goodman wrote:

> What is the rule to determine the dtype returned by numpy functions
> that return indices such as np.argmax?

The return type of indices will be np.intp. 

I don't know if Cython provides that type or not.   If not, then it is either np.int32 or np.int64 depending on the system. 

Best ,


> I assumed that np.argmax() returned the same dtype as np.int_. That
> works on linux32/64 and win32 but on win-amd64 np.int_ is int32 and
> np.argmax() returns int64.
> Someone suggested using intp. But I can't figure out how to do that in
> Cython since I am unable to cimport NPY_INTP. So this doesn't work:
> from numpy cimport NPY_INTP
> cdef np.ndarray[np.intp_t, ndim=1] output = PyArray_EMPTY(1, dims, NPY_INTP, 0)
> Is there another way? All I can think of is checking whether np.intp
> is np.int32 or int64 when I template the code.
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

Travis Oliphant
Enthought, Inc.

More information about the NumPy-Discussion mailing list