我正在尝试将一些 python 代码移植到 cython,但遇到了一些小问题。
下面您会看到代码的代码片段(简化示例)。
cimport numpy as np
cimport cython
@cython.boundscheck(False) # turn of bounds-checking for entire function
@cython.wraparound(False)
@cython.nonecheck(False)
def Interpolation(cells, int nmbcellsx):
cdef np.ndarray[float,ndim=1] celle
cdef int cellnonzero
cdef int i,l
for i in range(nmbcellsx):
celle = cells[i].e
cellnonzero = cells[i].nonzero
for l in range(cellnonzero):
celle[l] = celle[l] * celle[l]
我不明白为什么最里面的循环没有完全转换为 C 代码(即最后一行,celle[l] = ...),请参阅以下输出cython -a feedback
:
我在这里想念什么?
非常感谢。