我無法找到任何地方的任何文檔,專門用於解決此:如何使用@cython裝飾聲明np.ndarray型
下面的代碼:
cdef int foo(double data):
# ...
return int(data)
可以寫爲:
@cython.returns(cython.int)
@cython.locals(data=cython.double)
def foo(data):
return int(data)
但我無法找到一個同等聲明:
cdef foo(np.ndarray[double] data):
使用@ cython.locals導致編譯錯誤。
裝飾者在cython中聲明一個numpy數組的正確方法是什麼?
您可以使用記憶體嗎?這些看起來像他們應該工作(例如'@ cython.locals(data = cython.double [:])')並且基本上與ndarray具有相同的功能。 (注意 - 我還沒有完全測試過這個......) – DavidW
@DavidW:我試過那條大道,但無法使它工作。就目前而言,你寫的代碼並不適合我。 (編譯Cython文件時出錯:test.py:31:52:不是類型) –