Py学习  »  Python

如何在python中调用包含作为参数的函数的cython cdef()函数?

marcos • 5 年前 • 1302 次点击  

我有一个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)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43218
 
1302 次点击  
文章 [ 1 ]  |  最新文章 5 年前