4
Я использую SWIG передать Numpy массивы из Python в C++ код:Несколько Numpy массивы с SWIG
%include "numpy.i"
%init %{
import_array();
%}
%apply (float* INPLACE_ARRAY1, int DIM1) {(float* data, int n)};
class Class
{
public:
void test(float* data, int n)
{
//...
}
};
и в Python:
c = Class()
a = zeros(5)
c.test(a)
Это работает, но как я могу передать несколько NumPy массивы к одной и той же функции?
можно укоротить применить директиву немного, применяя TypeMap для обоих входных пар одновременно: % применяются (поплавок * INPLACE_ARRAY1, внутр dim1) {(флоат * data1, внутр n1), (поплавок * data2, int n2)}; – Martin
Спасибо за подсказку! Я отредактировал ответ – Petter