В чем разница между numpy «идентификаторами типов» и «типами» в Cython?

Что сбивает с толку, так это то, что если вы хотите создать массив, вы используете

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 по dtypes мне не помогает. http://docs.scipy.org/doc/numpy/reference/arrays.dtypes.html

7
задан HeyWatchThis 12 June 2012 в 20:49
поделиться