pock: Use floor division on integers.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 22 Oct 2019 11:18:41 +0000 (12:18 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 25 Nov 2019 17:43:08 +0000 (17:43 +0000)
Python 3 wants to give me a float here, which is obviously wrong.

pock

diff --git a/pock b/pock
index 7112530..f4aeaa9 100644 (file)
--- a/pock
+++ b/pock
@@ -238,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]
 
@@ -281,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.
@@ -898,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)