Ich versuche, einige Python-Code nach Cython portieren und ich habe einige kleinere Probleme.Numpy-Array mit Cython
Unten sehen Sie ein Code-Snippet (vereinfachtes Beispiel) des Codes.
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]
Ich verstehe nicht, warum die am weitesten innen Schleife nicht vollständig in C-Code (dh die letzte Zeile, celle [l] = ...) übersetzen, siehe Ausgabe von cython -a feedback
:
Was fehlt mir hier?
Vielen Dank.
Das Bild ist ein bisschen schwer zu lesen - Kopieren und Einfügen des entsprechenden Bits wäre einfacher ... –
Was c Compiler haben Sie? Ist "celle [l] * = celle [l]" dasselbe? – denis