使用Cython将Numpy数组传递给指向指针格式的指针中的C 2D数组

时间:2015-01-28 18:34:58

标签: python c numpy cython

我有C代码,我目前使用Cython将其整合到Python中。 C代码处理指针格式指针中的2D数组,即为3x3数组分配内存如下:

float **A = (float **)malloc(3*sizeof(float *));
for (i=0; i<3; i++) A[i] = (float *)malloc(3*sizeof(float));

我正在关注Cython Github wiki中的这个tutorial。请注意,它们以线性方式存储2D数组。

我的问题是,更改Cython代码(特别是Numpy数组的处理)的最有效方法是什么,以便它可以用于函数void c_multiply (float** array, float multiplier, int m, int n)说(即现在处理指针的指针)阵列)。

注意我目前正在通过在C代码中初始调用两个转换函数来处理它,最后将索引从线性更改为指针指向反向指针,反之亦然。但是,理想情况下我不想更改C代码。

0 个答案:

没有答案