我无法找到任何地方的任何文档,专门用于解决此:如何使用@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:不是类型) –