| 858 | ## ----------------- test program ----------------------- |
| 859 | |
| 860 | def _test_generator(n, func, args): |
| 861 | from statistics import stdev, fmean as mean |
| 862 | from time import perf_counter |
| 863 | |
| 864 | t0 = perf_counter() |
| 865 | data = [func(*args) for i in _repeat(None, n)] |
| 866 | t1 = perf_counter() |
| 867 | |
| 868 | xbar = mean(data) |
| 869 | sigma = stdev(data, xbar) |
| 870 | low = min(data) |
| 871 | high = max(data) |
| 872 | |
| 873 | print(f'{t1 - t0:.3f} sec, {n} times {func.__name__}') |
| 874 | print('avg %g, stddev %g, min %g, max %g\n' % (xbar, sigma, low, high)) |
| 875 | |
| 876 | |
| 877 | def _test(N=2000): |