## Figure out the number of bits in a (nonnegative) primitive `int'. We'll
## use a list of these as our sieve.
+ try: _MAX = SYS.maxint
+ except AttributeError: _MAX = SYS.maxsize
_NBIT = 15
- while type(1 << (_NBIT + 1)) == int: _NBIT += 1
+ while 1 << (_NBIT + 1) < _MAX: _NBIT += 1
def __init__(me, limit):
"""
me.limit = limit
## Calculate the size of sieve we'll need and initialize the bit list.
- n = (limit - 2)/2
- sievesz = (n + me._NBIT - 1)/me._NBIT
+ n = (limit - 2)//2
+ sievesz = (n + me._NBIT - 1)//me._NBIT
me._sievemax = sievesz*me._NBIT
me._bits = sievesz*[0]
global SIEVE
if SIEVE is not None: raise ValueError('sieve already defined')
if sievebits < 6: sievebits = 6
- SIEVE = Sieve(1 << (sievebits + 1)/2)
+ SIEVE = Sieve(1 << (sievebits + 1)//2)
###--------------------------------------------------------------------------
### Primality checking.
Give it the LABEL, and report progress to P.
"""
- if SIEVE.limit >> (nbits + 1)/2: g = gen_small
+ if SIEVE.limit >> (nbits + 1)//2: g = gen_small
else: g = gen_pock
return g(nbits, label = label, p = p)