如何解决Cython pyx修改,用于带有内存视图的多维numpy输入
我当前从c ++类包装的函数的输入是一维numpy数组,例如func(np.array([1,2,3])),在pyx中我的cython描述如下所示: :
def func(self,double[::1] arr):
return self.c_obj.update_set_point(&arr[0])
但是,如果我的输入数组看起来像np.array([[1],[2],[3]])
,我很困惑应该如何更改它以上述二维数组为例,有人能概括地描述多维数组输入的pyx描述应该如何变化吗?
解决方法
如果您知道数组是二维的,则memoryview语法为double[:,::1]
等。
如果您想在数组中查看仅在运行时才知道维数的内存视图,那么您就不走运了。也许唯一的方法是保存形状,展平,处理展平的数组并在返回时恢复形状。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。