Alcune funzioni di SciPy (come scipy.ndimage.interpolation.geometric_transform
) possono utilizzare i puntatori alle funzioni C come argomenti per evitare di chiamare un oggetto chiamabile in Python su ciascun punto dell'array di input.Creazione di un puntatore PyCObject in Cython
In sintesi:
- definire una funzione denominata
my_function
qualche parte del modulo C - Return un
PyCObject
con il puntatore&my_function
e (facoltativamente) un puntatorevoid*
per passare alcuni dati globali intorno
Il metodo API correlato è PyCObject_FromVoidPtrAndDesc
ed è possibile leggere Extending ndimage in C per vederlo in azione.
Sono molto interessato all'utilizzo di Cython per mantenere il mio codice più gestibile, ma non sono sicuro di come esattamente dovrei creare un tale oggetto. Qualsiasi, bene, ... puntatori?
+1 solo per lo scherzo del puntatore :-p – Will
Sembrava la cosa giusta da fare! : D –