#!/bin/bash

#set -x

i=6

if [ 1 -eq 1 ]
then
Xvfb :3 >/dev/null 2>&1 &
xpid=$!
export DISPLAY=:3

rm for8forout.lst

for((type=0;type<2;type++))
do
for((shift=0;shift<40;shift++))
do
echo type: $type shift: $shift
cat >/tmp/for8.asc <<EOF
algol<
_b_e_g_i_n
   _r_e_a_l clock1;
   _i_n_t_e_g_e_r i,j,n;
   n:=10000;
   select(32);
   _c_o_d_e clock1;
   2, 45;
   zl        , grf a1   ; RF:=clock count; clock1:=RF;
   _e;
   _f_o_r i:=1 _s_t_e_p 1 _u_n_t_i_l n _d_o
   _b_e_g_i_n
EOF
if [ $type -eq 0 ]
then
  echo "_f_o_r j:=1 _s_t_e_p 1 _u_n_t_i_l $i " >>/tmp/for8.asc
else
      echo "_f_o_r j:=1" >>/tmp/for8.asc
for((j=2;j<=i;j++))
do
  echo ",$j" >>/tmp/for8.asc
done
fi
cat >>/tmp/for8.asc <<EOF
      _d_o;
   _e_n_d _f_o_r;
   _c_o_d_e clock1;
   2, 45;
   zl        , grf a1   ; RF:=clock count; clock1:=RF;
   _e;
   write(|<ddd|>,$i,$type,$shift);
   write(|<dddddd.dd|>,clock1);
   writecr;
EOF
for((k=0;k<shift;k++))
do
echo "   j:=j;" >>/tmp/for8.asc
done
cat >>/tmp/for8.asc <<EOF
_e_n_d;
t<
EOF

cat >for8.demo <<EOF
LOADCONFIG ../configs/drum3ga4.gier
LOADREADER /tmp/for8.asc
EOF
../maketext.sh "r<" >>for8.demo
echo "WAITINPUT" >>for8.demo
#echo "LOADPUNCH for8forprint_${type}_${shift}.flx" >>for8.demo
#../maketext.sh 'p,print,work,_p<' >>for8.demo
#echo "WAITINPUT" >>for8.demo
#echo "FINISHPUNCH" >>for8.demo
echo "LOADPUNCH for8forout.flx" >>for8.demo
../maketext.sh "run<" >>for8.demo
echo "WAITINPUT" >>for8.demo
echo "FINISHPUNCH" >>for8.demo
echo "QUIT" >>for8.demo

../GIER for8.demo >/dev/null 2>&1

#flx2a <for8forprint_${type}_${shift}.flx >for8forprint_${type}_${shift}.asc
flx2a <for8forout.flx | tail -1 >>for8forout.lst
done
done

kill $xpid
fi

/bin/echo -e "shift\\tstep" >for8forout_0.dat
/bin/echo -e "shift\\tlist" >for8forout_1.dat

sed 's/\s\+/	/g' <for8forout.lst | while read -a line
do
  n=${line[0]}
  type=${line[1]}
  shift=${line[2]}
  cpu=${line[3]}
  /bin/echo -e "$shift\\t$cpu" >>for8forout_${type}.dat
done

cat >for8forplot.plt <<EOF
set size ratio 0.71
set datafile separator "\t"
set terminal pdfcairo size 29.7cm,21cm font 'Helvetica,20'
set output "for8forplot.pdf"

set title "list mod step n = ${i} GA4 end for"
stepcolor = "#ff0000"; listcolor = "#0000ff"
set auto x
set yrange [0:]
set style data histogram
set style histogram cluster gap 1
set style fill solid border -1
set boxwidth 0.9
set xtic scale 0
# 2, 3, 4, 5 are the indexes of the columns; 'fc' stands for 'fillcolor'
plot 'for8forout_0.dat' using 2:xticlabel(1) ti col fc rgb stepcolor, 'for8forout_1.dat' u 2 ti col fc rgb listcolor
EOF
gnuplot <for8forplot.plt

