如何使用指针将 numpy 数组传递给 C++/SWIG,而不依赖 numpy.i?

use*_*135 5 c++ python arrays numpy matrix

有没有办法仅使用指向第一个元素的指针将 numpy 数组传递到 C++/SWIG 中?我有一个 C++ 函数,它需要一个 3×N 矩阵,该矩阵预计存储在列主索引的连续内存中。因此,函数调用采用以下参数:

( double *mat3Xin, double *mat3Xout, int numTrip)
Run Code Online (Sandbox Code Playgroud)

其中 numTrip 是矩阵的 N 维(即三元组的数量)。由于输入和就地输出大小相同,因此我不需要传入它。有没有一种方法可以在 SWIG 中轻松处理此问题,而无需使用 swig 的重命名内联功能并创建一个接受附加参数 swig 的 numpy 接口的辅助函数需要矩阵吗?我目前正在一个辅助函数中解析矩阵,然后调用原始函数的重命名版本,但是,将现有库中的所有函数转换为这种形式开始变得乏味。

谢谢,

use*_*135 0

也许这是不可能的,我一直坚持这些函数的手写接口: http://docs.scipy.org/doc/numpy/reference/swig.interface-file.html#a-common-example