在cython中只用numpy调用这个函数的最好方法是什么? 我不打算使用ctypes的,memcpy的,的malloc等。如何在cython中调用此函数?
功能1)
#include <stdio.h>
extern "C" void cfun(const void * indatav, int rowcount, int colcount,
void * outdatav);
void cfun(const void * indatav, int rowcount, int colcount, void *
outdatav) {
//void cfun(const double * indata, int rowcount, int colcount,
double * outdata) {
const double * indata = (double *) indatav;
double * outdata = (double *) outdatav;
int i;
puts("Here we go!");
for (i = 0; i < rowcount * colcount; ++i) {
outdata[i] = indata[i] * 4;
}
puts("Done!");
}
功能2)
#include <stdio.h>
extern "C" __declspec(dllexport) void cfun(const double ** indata, int
rowcount, int colcount, double ** outdata) {
for (int i = 0; i < rowcount; ++i) {
for (int j = 0; j < colcount; ++j) {
outdata[i][j] = indata[i][j] * 4;
}
}
}
Wonjun,崔
没有必要调用这些功能,从蟒蛇。你可以使用numpy做同样的事情 – nosklo 2012-01-10 01:21:11
我必须这样做的原因是我需要包装一些现有的c,C++库..所以..只是使numpy函数不会是一个解决方案。这就是为什么我发布上面的简单例子。 – wonjun 2012-01-10 01:28:55
然后发布实际功能,发布你的代码尝试和你得到的错误 – nosklo 2012-01-10 10:30:38