summaryrefslogtreecommitdiff
path: root/Lib/test/test_long.py
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2002-08-13 02:17:11 +0000
committerTim Peters <tim.peters@gmail.com>2002-08-13 02:17:11 +0000
commitffdd33c7948c1f25425d4883940795d374fdd557 (patch)
tree683ba9b65f24dad116fb900ee040efc272cd6696 /Lib/test/test_long.py
parent6145ebf9e9c2883ce29fba20fb92b60c8cd77fe5 (diff)
downloadcpython-ffdd33c7948c1f25425d4883940795d374fdd557.tar.gz
Machines-- and Python --are a lot faster in relevant ways since this
test was written. So boosted the number of "digits" this generates, and also beefed up the "* / divmod" test to tickle numbers big enough to trigger the Karatsuba algorithm. It takes about 2 seconds now on my box.
Diffstat (limited to 'Lib/test/test_long.py')
-rw-r--r--Lib/test/test_long.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py
index 78224128aa..4602bfb0b1 100644
--- a/Lib/test/test_long.py
+++ b/Lib/test/test_long.py
@@ -6,10 +6,11 @@ from random import random, randint
SHIFT = 15
BASE = 2 ** SHIFT
MASK = BASE - 1
+KARATSUBA_CUTOFF = 35 # from longobject.c
# Max number of base BASE digits to use in test cases. Doubling
-# this will at least quadruple the runtime.
-MAXDIGITS = 10
+# this will more than double the runtime.
+MAXDIGITS = 15
# build some special values
special = map(long, [0, 1, 2, BASE, BASE >> 1])
@@ -90,7 +91,8 @@ def test_division_2(x, y):
def test_division(maxdigits=MAXDIGITS):
if verbose:
print "long / * % divmod"
- digits = range(1, maxdigits+1)
+ digits = range(1, maxdigits+1) + range(KARATSUBA_CUTOFF,
+ KARATSUBA_CUTOFF + 15)
for lenx in digits:
x = getran(lenx)
for leny in digits: