【发布时间】:2013-01-06 15:19:49
【问题描述】:
我正在尝试将一些 python 代码移植到 cython,但遇到了一些小问题。
您在下面看到一个代码sn-p(简化示例)的代码。
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 的输出:
我在这里错过了什么?
非常感谢。
【问题讨论】:
-
该图像有点难以阅读 - 复制和粘贴相关位会更容易......
-
你有什么c编译器?
celle[l] *= celle[l]一样吗?