在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