[Python] Python (long) int in cython
Pietro Battiston
ml a pietrobattiston.it
Mar 3 Nov 2015 13:08:18 CET
Il giorno lun, 02/11/2015 alle 10.44 +0100, Riccardo Magliocchetti ha
scritto:
> Ciao,
>
> Il 02/11/2015 07:19, Pietro Battiston ha scritto:
> > 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.
>
> Qua hai scritto che ti serve un integer più grande di 64bit. E` un
> typo?
No, non è un typo!
> Python
> che io ricordi usa long (quindi 32bit su arch 32bit) per gli integer
> quindi non
> ci starebbe. Se ti bastano 64bit cosa non va in cython.longlong?
>
Non mi bastano.
Python usa numeri di macchina finché può, poi passa automaticamente al
suo tipo "long", che è limitato solo dalla quantità di memoria:
In [1]: 10**10
Out[1]: 10000000000
In [2]: 10**20
Out[2]: 100000000000000000000L
(nota la "L" alla fine).
Io voglio utilizzare _quel_ tipo long, ma da cython (so perfettamente
che i calcoli diventano più lenti, ma mi serve solo in un caso molto
particolare - praticamente, capire quando c'è un overflow e recuperare
la situazione).
Pietro
Maggiori informazioni sulla lista
Python