#!/bin/bash              
# run_all -a <alg> -g <graph_type> -d <directory> 

if [ $# -ne 8 ]
then
        echo "usage: run_all -a <alg> -g <graph_type> -d <directory> -f <files>"
        echo "ex:    run_all -a kl -g random -d max_cut -f \"*.05.*\""
        exit
fi

files="*"

while [ $# -gt 0 ]
do
        case "$1" in
        -a)     shift; alg=$1;;
        -g)     shift; graph=$1;;
        -d)     shift; rd=$1;;
        -f)     shift; files=$1;;
         *)     echo argument error;;
        esac
        shift
done

direct1="$HOME/partitioning/$rd/input/$alg"
cmd=""
let j=0

if [ $graph = "both" ]
then

direct="$direct1/random"
cd $direct
set `ls -U  $files`
for i in `ls -U $files`
do
	cmd="$cmd run_alg $alg $rd random $i "
	let j=j+1
	if [ $j -ne $# ]
	then
		cmd="$cmd &&"
	fi
done

let j=0
direct="$direct1/geometric"
cd $direct
set `ls -U $files`
for i in `ls -U $files`
do
	cmd="$cmd run_alg $alg $rd geometric $i "
	let j=j+1
	if [ $j -ne $# ]
	then
		cmd="$cmd &&"
	fi
done

else

direct="$direct1/$graph"
cd $direct
set `ls -U $files`
for i in `ls -U $files`
do
	cmd="$cmd run_alg $alg $rd $graph $i "
	let j=j+1
	if [ $j -ne $# ]
	then
		cmd="$cmd &&"
	fi
done

fi

eval $cmd
