X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/41bfac1d74845acf207c7d1a54432237b297bedb..1e2e275eb4f02a53c28fc7617042dbe72a5ba413:/pock diff --git a/pock b/pock index 377b811..f4aeaa9 100644 --- a/pock +++ b/pock @@ -218,8 +218,10 @@ class Sieve (object): ## 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): """ @@ -236,8 +238,8 @@ class Sieve (object): 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] @@ -279,7 +281,7 @@ def initsieve(sievebits): 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. @@ -896,7 +898,7 @@ def gen(nbits, label = None, p = ProgressReporter()): 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)