Мне нужно использовать функции ctypes, чтобы сократить время работы quad в python. Вот мой оригинальный вопрос original question, но теперь я знаю, какой путь мне нужно следовать. Мне нужно выполнить те же шаги, что и здесь similar problem link.Оптимизация python quad с использованием ctypes
Однако в моем случае функция, которая будет обрабатываться в числовом интеграле, вызывает другую функцию python. Как это:
from sklearn.neighbors import KernelDensity
import numpy as np
funcA = lambda x: np.exp(kde_bad.score_samples([[x]]))
quad(funcA, 0, cut_off)
где cut_off просто скаляр, я решу в моем коде, и kde_bad является объектом ядра создается с помощью KernelDensity.
Так что мой вопрос в том, как мне нужно указать функцию в C? эквивалент этого:
//testlib.c
double f(int n, double args[n])
{
return args[0] - args[1] * args[2]; //corresponds to x0 - x1 * x2
}
Любой вход оценивается!