我有一段非常简短的代码,它没有按预期运行。我有一个cdef函数定义,它的包装在cython.pyx中。函数本身用于返回python对象(列表):
cdef function(double x, double y, double z, double[:] a):
print "called"
cdef double[:] aa = np.empty(10, dtype = np.double)
#do something to aa array
return aa
def function_wrap(a, b, c, d):
return function(a, b, c, d)
cython.pyx编译得很好。现在当从导入cython.so的外部python文件调用function_wrap时,似乎没有迹象表明函数已被调用。 (对于初学者来说,"被称为"没有按照需要打印。)所以我的问题是,为什么没有调用函数,如何重写我的代码以获得所需的内容,即执行的cdef函数对数组的操作并返回它,以便包装函数可以将它返回到外部python文件?谢谢!