interi a 64 bit in Cython
Domanda
Sto cercando di interfacciare una libreria C ++ (phash) con Python utilizzando Cython, ma ho problemi con alcuni dei tipi. Le funzioni di libreria utilizzano "unsigned long long" e non riesco a trovare un modo per dichiarare le variabili e parametri con questo tipo. Ho cercato un elenco dei tipi che posso usare con cdef ma non ho trovato nulla. Qualcuno mi può puntare a un tale elenco (se esiste) o in altro modo suggerire un modo per utilizzare 64 tipi bit in Cython? Grazie.
Soluzione
Ecco una delle mie risposte utilizzando unsigned long long
con Cython
Semplice Python sfida: più veloce bit a bit XOR in base ai dati buffer
Altri suggerimenti
Sono stato in grado di utilizzare sia unsigned long long
e long long
bene con CDEF. Vedere per esempio la mia risposta a questa domanda qui . Ho solo provato a fare funzionare lo stesso codice lì con unsigned long long
invece di long long
e ha funzionato bene. Puoi essere più preciso su ciò che i problemi si stanno avendo con questi tipi? Forse si potrebbe inserire qualche codice sorgente che non funziona per voi?