Я перефразирую свой оригинальный вопрос , основываясь на некоторых комментариях (я понял, что когда он был опубликован, вопрос был не так точен, как мог бы быть) в надежде найти ответ.
У меня есть следующая функция cdef , которая среди различных других параметров принимает функцию f () , определенную как ftype , как показанониже
%%cython
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)
Я хочу иметь возможность вызвать py_myfunc () и передать пользователяФункция Python в качестве параметра f (единственной предпосылкой функции Python является то, что она должна принимать double и возвращать double).Это возможно?если так, как это может быть достигнуто в Cython?Функция f () многократно используется в цикле, поэтому я бы хотел, чтобы она была максимально быстрой.