Pet*_*ter 4 c++ python swig numpy
我使用SWIG将numpy数组从Python传递到C++代码:
%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)
{
//...
}
};
Run Code Online (Sandbox Code Playgroud)
在Python中:
c = Class()
a = zeros(5)
c.test(a)
Run Code Online (Sandbox Code Playgroud)
这有效,但是如何将多个numpy数组传递给同一个函数?
我找到了我的同事的答案:
%apply (float* INPLACE_ARRAY1, int DIM1) {(float* data1, int n1), (float* data2, int n2)};
class Class
{
public:
void test(float* data1, int n1, float* data2, int n2)
{
//...
}
};
Run Code Online (Sandbox Code Playgroud)
现在将两个numpy数组传递给Class :: test.
| 归档时间: |
|
| 查看次数: |
2778 次 |
| 最近记录: |