Да, вам нужно просто обернуть функцию функцией python.
def py_callback(a):
return c_callback(a)
cdef float c_callback(float a):
return a * a
...
scipy.integrate.quad(py_callback)
Конечно, есть небольшая перегрузка преобразования.Альтернатива - посмотреть, как реализована эта функция.
- Если это обертка для функции C, попробуйте напрямую вызвать функцию C из файла pyx (создавая pxd, который оборачивает scipy C-module).
- Если это чистый Python, попытайтесь перевести его на cython.
В противном случае вам придется использовать другую функцию интеграции с чистым C и пропустить функцию scipy.