[Python] Python (long) int in cython
Pietro Battiston
ml a pietrobattiston.it
Lun 2 Nov 2015 07:19:30 CET
Salve a tutti,
sto traducendo del codice in cython, ed ho un problema: avrei bisogno
di memorizzare in una variabile un intero arbitrariamente grande (in
realtà non così immenso, ma più di 64 bit). Ho pensato "niente di più
semplice: utilizziamo l'int Python" (o long int, sotto Python 2). Ma
non riesco a definirlo in nessun modo sotto Cython.
Come spiega la documentazione,¹
"The Python types int, long and bool are interpreted as C int, long
and bint respectively."
Quindi se scrivo "long", ottengo un intero con la dimensione di
macchina.
Ho trovato suggerito² di utilizzare
cimport cython
cdef cython.py_long num = 5Lo
che mi dà "'pylong' is not a type identifier", o
ctypedef class pylong [object PyLongObject, type PyLong_Type]:
pass
cdef pylong var
che mi dà "Name options only allowed for 'public', 'api', or 'extern' C
class".
Avete altre idee?
Grazie in anticipo,
Pietro Battiston
¹ http://docs.cython.org/src/tutorial/pure.html#c-types
² http://grokbase.com/t/gg/cython-users/137s2n6s5k/how-do-i-statically-
declare-a-python-integer-or-python-long-integer
Maggiori informazioni sulla lista
Python