numpy - Cython:复制没有 gil 的 memoryview
问题描述
我有以下代码部分(适当简化)
cpdef double func(double[:] x, double[:] y) nogil:
cdef:
double[:] _y
_y = y # Here's my trouble
_y[2] = 2. - y[1]
_y[1] = 1.
return func2(x, _y)
我正在尝试创建可以在函数中操作的 y 副本。问题是,为了_y
传递回y
. 我不想更改y
,只是更改它的临时副本。
该功能是 nogil,所以我不能使用_y = y.copy()
. (已经尝试过)。我还尝试了 _y[:] = y,基于 cython 指导页面,但如果_y
尚未初始化,我显然无法做到这一点。
那么...如何在不调用 gil 的情况下制作 1d 矢量的副本?
解决方案
推荐阅读
- java - 我应该遵循什么方法在android中制作定时器服务
- linux - 如何使用 tail -f 跟踪最新的日志文件?
- grails-orm - 使用具有多个数据源的 Micronaut + GORM 时如何配置 applicatiuon.yml
- xml - 如何在 XSLT 1.0 中为日期时间添加偏移量?
- c++ - 编译器无法识别 std::vector 的成员初始值设定项
- jenkins - 无法计算詹金斯管道中的数字
- jquery - 显示新的css动画线性停止2s
- css - 在使用 WebBrowser 控件在 Winforms 中打印带有 PageBreak 的 HTML 时无法正确显示
- node.js - 在 try/catch 块中调用函数仍然会导致未捕获的异常 [NodeJS]
- angular - 与 value 属性配对时,带有 ngModel 的 Angular 选项不显示默认选项