¿Cuál es la mejor manera de llamar a esta función en cython con solo numpy? no voy a utilizar ctypes, establecimiento de memoria, etc .. malloc¿cómo puedo llamar a esta función en cython?
función 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!");
}
función 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, Choi
No hay necesidad de llamar a las funciones de pitón. Puedes hacer las mismas cosas usando numpy – nosklo
, la razón por la que tengo que hacer esto es que necesito envolver alguna librería c, C++ existente ... así que ... solo hacer la función numpy no será una solución. es por eso que publiqué un ejemplo simple como el anterior. – wonjun
publique las funciones reales, publique su intento de código y los errores que está obteniendo – nosklo