【发布时间】:2012-11-06 02:15:16
【问题描述】:
我用成语
size_x, size_y, size_z = some_array.shape
在处理 numpy 数组时很常见。当有问题的数组具有类型时,同样的事情在 Cython 中似乎不起作用,例如
def someFunc(np.ndarray[np.float32_t, ndim=2] arr):
sx, sy = arr.shape
我们最终会遇到类似的编译错误
Cannot convert 'npy_intp *' to Python object
这可能是因为“shape”被转换为 C 数组(为了更快地访问),所以它不再是一个元组。
是否有可能在 Cython 中以某种方式提取此元组? (或者我应该坚持使用sx, sy = arr.shape[0], arr.shape[1]?)
【问题讨论】: