我将使用这个习语
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]
?)