Я бы хотел обернуть функцию C с помощью SWIG.
Функция принимает пару массивов (одинаковой длины) в качестве входных данных и возвращает еще три массива.
Однако невозможно заранее предсказать длину возвращаемых массивов, и они динамически распределяются в функции.
Можно ли обернуть такую функцию SWIG (используя numpy.i) и если да, то как?
Упрощенное объявление функции выглядит так:
int func(double **a, double **b, long int *N, double *x, double *y, long int *Nx, long int *Ny);
Где Nx
и Ny
известны заранее, но N
(длина a
и b
) - нет, а a
и b
выделяются (с malloc
) в функция.