簡體   English   中英

與cython的numpy數組

[英]numpy array with cython

我正在嘗試將一些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輸出cython -a feedback

在此輸入圖像描述

我在這里錯過了什么?

非常感謝。

我終於意識到函數最后的一個簡單的“返回0”解決了這個問題。 但是,這種行為對我來說似乎很奇怪。 這實際上是一個錯誤嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM