#!/bin/bash

gcc -o pyeatt ../submissions/accepted/pyeatt.c 
gcc -o validator1 ../input_format_validators/validator1.c 
gcc -o genprob genprob.c 

VREDIRECT=""
#VREDIRECT="2> /dev/null"

p=0

# the sleeps will ensure unique random number seeds

# generate some small problems
for i in `seq 10 10 20`; do
    for j in `seq 2 4 6`; do
	p=`dc -e "$p 1 + p"`
	rm -f $p.in
	touch $p.in
	until ./validator1 < $p.in $VREDIRECT ; [ $? -eq  42 ]; do
	    echo "./genprob $i $j 100 grid > $p.in"
	    ./genprob $i $j 100 grid > $p.in
	    sleep 1
	done
    done
done

for i in `seq 10 10 20`; do
    for j in `seq 2 4 6`; do
	p=`dc -e "$p 1 + p"`
	rm -f $p.in
	touch $p.in
	until ./validator1 < $p.in $VREDIRECT ; [ $? -eq  42 ]; do
	    echo "./genprob $i $j 100 random > $p.in"
	    ./genprob $i $j 100 random > $p.in
	    sleep 1
	done
    done
done


# generate some medium problems
for i in `seq 50 50 100`; do
    for j in `seq 20 20 60`; do
	p=`dc -e "$p 1 + p"`
	rm -f $p.in
	touch $p.in
	until ./validator1 < $p.in $VREDIRECT; [ $? -eq  42 ]; do
	    echo "./genprob $i $j 5000 grid > $p.in"
	    ./genprob $i $j 5000 grid > $p.in
	    sleep 1
	done
    done
done

for i in `seq 100 250 500`; do
    for j in `seq 20 20 60`; do
	p=`dc -e "$p 1 + p"`
	rm -f $p.in
	touch $p.in
	until ./validator1 < $p.in $VREDIRECT; [ $? -eq  42 ]; do
	    echo "./genprob $i $j 1000 random > $p.in"
	    ./genprob $i $j 1000 random > $p.in
	    sleep 1
	done
    done
done

# generate some large problems
for i in `seq 200 200 600`; do
    for j in `seq 100 450 1000`; do
	p=`dc -e "$p 1 + p"`
	rm -f $p.in
	touch $p.in
	until ./validator1 < $p.in $VREDIRECT; [ $? -eq  42 ]; do
	    echo "./genprob $i $j 10000 grid > $p.in"
	    ./genprob $i $j 10000 grid > $p.in
	    sleep 1
	done
    done
done

for i in `seq 1000 4500 10000`; do
    for j in `seq 100 450 1000`; do
	p=`dc -e "$p 1 + p"`
	rm -f $p.in
	touch $p.in
	until ./validator1 < $p.in $VREDIRECT; [ $? -eq  42 ]; do
	    echo "./genprob $i $j 10000 random > $p.in"
	    ./genprob $i $j 10000 random > $p.in
	    sleep 1
	done
    done
done

# final test and generate
for i in `seq 1 $p` ; do ./validator1 < $i.in > $i.ans ; done
for i in `seq 1 $p` ; do ./pyeatt < $i.in > $i.ans ; done


rm pyeatt validator1 genprob

