我有一个cdef函数,它的参数中有一个函数。我正在尝试生成一个python“wrapper”函数来调用它。我知道将一个函数定义为cpdef()我将能够访问该函数的python版本。但是,如果我这样做了,我将得到一个错误(如预期的那样),表明python无法识别我提供的函数定义。
有什么建议吗?
我最初的功能是特定于领域的,并且很长时间,但是我认为下面的示例捕获了我所追求的。我要以下的
cFED()
函数定义,
ctypedef double (*ftype) (double)
cdef cy_myfunc(int a,..., double x, ftype f):
...
cdef double result
result = f(x)
return result
我想定义如下内容,以便在python中调用它:
def py_myfunc(a,..., x, f):
return cy_myfunc(a,...,x,f)