Eliminate unnecessary eval() in tests
This commit is contained in:
parent
4f01f89b8c
commit
6229713221
@ -687,17 +687,16 @@ class WichmannHill(Random):
|
|||||||
|
|
||||||
## -------------------- test program --------------------
|
## -------------------- test program --------------------
|
||||||
|
|
||||||
def _test_generator(n, funccall):
|
def _test_generator(n, func, args):
|
||||||
import time
|
import time
|
||||||
print n, 'times', funccall
|
print n, 'times', func.__name__
|
||||||
code = compile(funccall, funccall, 'eval')
|
|
||||||
total = 0.0
|
total = 0.0
|
||||||
sqsum = 0.0
|
sqsum = 0.0
|
||||||
smallest = 1e10
|
smallest = 1e10
|
||||||
largest = -1e10
|
largest = -1e10
|
||||||
t0 = time.time()
|
t0 = time.time()
|
||||||
for i in range(n):
|
for i in range(n):
|
||||||
x = eval(code)
|
x = func(*args)
|
||||||
total += x
|
total += x
|
||||||
sqsum = sqsum + x*x
|
sqsum = sqsum + x*x
|
||||||
smallest = min(x, smallest)
|
smallest = min(x, smallest)
|
||||||
@ -711,21 +710,21 @@ def _test_generator(n, funccall):
|
|||||||
|
|
||||||
|
|
||||||
def _test(N=2000):
|
def _test(N=2000):
|
||||||
_test_generator(N, 'random()')
|
_test_generator(N, random, ())
|
||||||
_test_generator(N, 'normalvariate(0.0, 1.0)')
|
_test_generator(N, normalvariate, (0.0, 1.0))
|
||||||
_test_generator(N, 'lognormvariate(0.0, 1.0)')
|
_test_generator(N, lognormvariate, (0.0, 1.0))
|
||||||
_test_generator(N, 'vonmisesvariate(0.0, 1.0)')
|
_test_generator(N, vonmisesvariate, (0.0, 1.0))
|
||||||
_test_generator(N, 'gammavariate(0.01, 1.0)')
|
_test_generator(N, gammavariate, (0.01, 1.0))
|
||||||
_test_generator(N, 'gammavariate(0.1, 1.0)')
|
_test_generator(N, gammavariate, (0.1, 1.0))
|
||||||
_test_generator(N, 'gammavariate(0.1, 2.0)')
|
_test_generator(N, gammavariate, (0.1, 2.0))
|
||||||
_test_generator(N, 'gammavariate(0.5, 1.0)')
|
_test_generator(N, gammavariate, (0.5, 1.0))
|
||||||
_test_generator(N, 'gammavariate(0.9, 1.0)')
|
_test_generator(N, gammavariate, (0.9, 1.0))
|
||||||
_test_generator(N, 'gammavariate(1.0, 1.0)')
|
_test_generator(N, gammavariate, (1.0, 1.0))
|
||||||
_test_generator(N, 'gammavariate(2.0, 1.0)')
|
_test_generator(N, gammavariate, (2.0, 1.0))
|
||||||
_test_generator(N, 'gammavariate(20.0, 1.0)')
|
_test_generator(N, gammavariate, (20.0, 1.0))
|
||||||
_test_generator(N, 'gammavariate(200.0, 1.0)')
|
_test_generator(N, gammavariate, (200.0, 1.0))
|
||||||
_test_generator(N, 'gauss(0.0, 1.0)')
|
_test_generator(N, gauss, (0.0, 1.0))
|
||||||
_test_generator(N, 'betavariate(3.0, 3.0)')
|
_test_generator(N, betavariate, (3.0, 3.0))
|
||||||
|
|
||||||
# Create one instance, seeded from current time, and export its methods
|
# Create one instance, seeded from current time, and export its methods
|
||||||
# as module-level functions. The functions share state across all uses
|
# as module-level functions. The functions share state across all uses
|
||||||
|
Loading…
x
Reference in New Issue
Block a user