Lo que es confuso es que si se quiere crear una matriz que utiliza¿Cuál es la diferencia entre numpy "tipo de identificadores" y "tipos" dentro de Cython?
chunk = np.array ([[94.,3.],[44.,4.]], dtype=np.float64)
Pero si se quiere definir el tipo dentro de una referencia buffer
, se utiliza
cdef func1 (np.ndarray[np.float64_t, ndim=2] A):
print A
notar la diferencia entre np.float64
y np.float64_t
.
mis suposiciones
Supongo que un type identifier
es lo que se crea de forma explícita w/la Cython C-como typedef
sintaxis
ctypedef np.float64_t dtype_t
Pero el numpy type
es sólo el tipo de Python <type 'type'>
.
>>> type (np.float64)
<type 'type'>
La documentación Numpy en dtype
s no me ayuda. http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html
Ok, parece que la mayoría de las {float, int} {32,64} _t son de tipo C, extendidas a Python. Aunque no puedo encontrar la mención de los tipos sin "_t", al menos en numpy.pxd – HeyWatchThis
Los tipos sin "_t" provienen de "import numpy", no de "cimport numpy". Si esto es confuso, puede hacer "cimport numpy como cnp" para ver la diferencia. –
Sí, acabo de leer eso también, navegando a través de [http://cython.readthedocs.org/en/latest/src/tutorial/numpy.html]. Puedes agregar eso como respuesta y yo aceptaré, o eventualmente lo agregaré. – HeyWatchThis