Что сбивает с толку, так это то, что если вы хотите создать массив, вы используете
chunk = np.array ( [[94.,3.],[44.,4.]], dtype=np.float64)
Но если вы хотите определить тип внутри буфера reference , вы используете
cdef func1 (np.ndarray[np.float64_t, ndim=2] A):
print A
Обратите внимание на разницу между np.float64
и np.float64_t
.
Мои догадки
Я предполагаю, что идентификатор типа создан явно с синтаксисом Cython C-подобным
typedef
ctypedef np.float64_t dtype_t
Но тип numpy — это просто тип Python
.
>>> type ( np.float64)
Документация Numpy по dtype
s мне не помогает. http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html