我有一个用于标量的 C 函数库,例如
double f(double x, double y, double z) {
result = x + 2*y - 3*z;
return result;
}
我想在 numpy 数组上使用这些函数,但想以某种方式对操作进行矢量化,并避免f
对每个数组元素进行多次 C 调用。我发现的大多数示例都是针对已经支持数组(f(double *x)
或f(double x[])
)的函数。
这里的正确方法是什么?重写f
以支持数组?(库中有很多函数。)编写一个 C 包装器,也许使用函数指针?还是 ctypes、cython 等提供更简单的替代方案?
这可能已被问过数百次,因此即使只是指向相应文档的指针也会有所帮助。