Tôi đang cố gắng chuyển một số mã python sang cython và tôi gặp phải một số vấn đề nhỏ.mảng numpy với cython
Dưới đây bạn sẽ thấy đoạn mã (ví dụ đơn giản) của mã.
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]
Tôi không hiểu tại sao các nội nhất vòng lặp không đầy đủ dịch mã C (tức là dòng cuối cùng, celle [l] = ...), xem ra từ cython -a feedback
:
Tôi thiếu gì ở đây?
Cảm ơn rất nhiều.
Hình ảnh đó hơi khó đọc - Sao chép và dán bit có liên quan sẽ dễ dàng hơn ... –
Trình biên dịch c nào bạn có? Có phải 'celle [l] * = celle [l]' giống nhau không? – denis