Commit 00197987 authored by Christoph Conrads's avatar Christoph Conrads

Fully automated AWC, SWB parameter search

parent f2f37eab
This diff is collapsed.
...@@ -37,7 +37,7 @@ if min(xs) < 0 or max(xs) >= 1: ...@@ -37,7 +37,7 @@ if min(xs) < 0 or max(xs) >= 1:
nnz, = np.nonzero(xs > 0.45) nnz, = np.nonzero(xs > 0.45)
k = -1 if nnz.size == 0 else min(nnz) k = -1 if nnz.size == 0 else min(nnz)
k_str = '{:2d}+'.format(xs.size) if k == -1 else '{:2d}'.format(k) k_str = '>{:2d}'.format(xs.size) if k == -1 else '{:3d}'.format(k)
print('{:4s} {:d} {:2d} {:2d} {:s}'.format(type, w, r, s, k_str)) print('{:4s} {:d} {:2d} {:2d} {:s}'.format(type, w, r, s, k_str))
...@@ -118,8 +118,15 @@ make_luscher_plot() ...@@ -118,8 +118,15 @@ make_luscher_plot()
configure_cxx_code $type $w $r $s >"$cxx_filename" configure_cxx_code $type $w $r $s >"$cxx_filename"
c++ -Wextra -Wall -std=c++11 -pedantic "$cxx_filename" -o "$binary" c++ -Wextra -Wall -std=c++11 -pedantic "$cxx_filename" -o "$binary"
"./$binary" | awk '{print $2}' | \ local stats="$("./$binary" | awk '{print $2}' | \
python3 -c "$python_plot_code" $type $w $r $s python3 -c "$python_plot_code" $type $w $r $s)"
echo -n "$stats" ' '
local period="$( \
python2 "$cwd/compute-awc-swb-period-length.py" $type $w $r $s)"
echo "$period"
} }
...@@ -159,7 +166,7 @@ find_awc_swb_prngs() ...@@ -159,7 +166,7 @@ find_awc_swb_prngs()
echo "Found $num_generators $type parameter combinations" echo "Found $num_generators $type parameter combinations"
echo 'type b r s t' echo 'type b r s t log2period log10period'
while read gen while read gen
do do
local b="$(awk '{print $2}' <<<"$gen")" local b="$(awk '{print $2}' <<<"$gen")"
......
...@@ -24,7 +24,7 @@ compute_modulus = \ ...@@ -24,7 +24,7 @@ compute_modulus = \
sys.exit(3) sys.exit(3)
for e in [16, 32, 64]: for e in [16,32,64]:
b = 2**e b = 2**e
r_max = \ r_max = \
30 if e == 16 else \ 30 if e == 16 else \
...@@ -32,7 +32,7 @@ for e in [16, 32, 64]: ...@@ -32,7 +32,7 @@ for e in [16, 32, 64]:
50 if e == 64 else -1 50 if e == 64 else -1
for r in range(3, r_max): for r in range(3, r_max):
s_max = r-1 if r < 10 else r-2 s_max = r-1 if r < 10 else r-2 if r < 20 else r-3
for s in range(2, s_max): for s in range(2, s_max):
assert r > s assert r > s
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment