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

Travis Oliphant oliphant at enthought.com
Thu Jun 9 00:49:01 EDT 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 ,

-Travis


> 
> 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 at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion

---
Travis Oliphant
Enthought, Inc.
oliphant at enthought.com
1-512-536-1057
http://www.enthought.com






More information about the NumPy-Discussion mailing list