Ich versuche, etwas Cython-Code zu schreiben, um Berechnungen mit numpigen Arrays durchzuführen. Cython scheint das [] nicht zu mögen, das in allen Beispielen benutzt wurde, um den Datentyp und die Anzahl der Dimensionen zu definieren.
Zum Beispiel habe ich eine Datei test.pyx:
%Vor%Ich kompiliere das mit einem setup.py (siehe Ende des Posts), das ich mit "python setup.py build_ext --inplace"
ausführeIch bekomme folgende Ausgabe:
%Vor%Wenn ich dagegen den Teil "[np.float64_t, ndim = 2]" entferne, funktioniert es gut.
Hat jemand Ideen?
Was meine Systemeinrichtung angeht: Betriebssystem: Windows XP
vollständige, vollständige Pythonxy-Installation, Version 2.6.5.1 (zuletzt an dieser Stelle)
pythonxy kommt angeblich mit Cython, aber ich habe die Cython-Version 0.12.1 für Python 2.6 von dieser Site installiert: Ссылка
Ich vermute, dass mir irgendwie ein Pfad oder etwas fehlt: Ich löste einige Probleme, indem ich das Verzeichnis numpy Header-Datei explizit dem von mingw verwendeten Include-Pfad hinzufügte (siehe die Datei setup.py)
Hier ist die Datei setup.py, die ich erwähnt habe:
%Vor%Geben Sie die Typinformation in die Deklaration der Funktion ein, wie in:
%Vor%Ich denke, Sie können es nicht direkt machen: Sie müssen die Form überprüfen und die Funktion
eingeben %Vor% und nur cdeftype np.ndarray mymatrix
in der Kopfzeile
ABER Sie verlieren die Eingabe von Matrixwerten Sie müssen also jeden Wert, den Sie verarbeiten, Float64_t zuweisen: aber was sollte die Effizienz sein?
Louis