#!/bin/bash

# extraction paths
EXTRACT_PATH=/home/pgreiner/Documents/extract
EXTRACT_RES=$EXTRACT_PATH/res

# opti path
OPTI_PATH=/home/pgreiner/Documents/coman_pgreiner/workR/Optis

# remove the old 'res' folder
if ! [ -d $EXTRACT_RES ]; then
	mkdir $EXTRACT_RES
fi

if [ -f $EXTRACT_RES/results_file_mat.m ]; then
	rm -f $EXTRACT_RES/results_file_mat.m
fi

# heights to test [m]
HEIGHTS_VEC=(0.040 0.050 0.060 0.070 0.080 0.090 0.100 0.110 0.120)

# lengths to test [m]
LENGTHS_VEC=(0.25 0.30 0.35 0.40 0.45 0.50)

LINES_PARAM=(34 35 36 37 38 39 40 45)

echo "%%Fitnesses" >> $EXTRACT_RES/results_file_mat.m
for var in "$@"
do
	echo "%$var" >> $EXTRACT_RES/results_file_mat.m
	echo "Fitness(:,:,$var) = ... " >> $EXTRACT_RES/results_file_mat.m
	foo="["
	for le in "${LENGTHS_VEC[@]}"
	do
		for he in "${HEIGHTS_VEC[@]}"
		do 
			CUR_FOLDER=$var"_"$(awk -v he=$he 'BEGIN { print he * 1000.0 }')"_"$(awk -v le=$le 'BEGIN { print le * 100.0 }')
			
			line=$(sed -n '1p' $OPTI_PATH/$CUR_FOLDER/results/out_norm.txt)
			foo="$foo$line"
		done
		echo "$foo;" >> $EXTRACT_RES/results_file_mat.m
		foo=" "
	done
	echo "" >> $EXTRACT_RES/results_file_mat.m
done

# loop on all the heights and lengths
for param in "${LINES_PARAM[@]}"
do
	echo "%%PARAM$param" >> $EXTRACT_RES/results_file_mat.m
	for var in "$@"
	do
		echo "%$var" >> $EXTRACT_RES/results_file_mat.m
		echo "PARAM$param(:,:,$var) = ... " >> $EXTRACT_RES/results_file_mat.m
		foo="["
		for le in "${LENGTHS_VEC[@]}"
		do
			# loop on all the inputs
			for he in "${HEIGHTS_VEC[@]}"
			do
				CUR_FOLDER=$var"_"$(awk -v he=$he 'BEGIN { print he * 1000.0 }')"_"$(awk -v le=$le 'BEGIN { print le * 100.0 }')
	
				# copy results
				line=$(sed -n "$param,$param p" $OPTI_PATH/$CUR_FOLDER/results/OptiResults.cc)
				#line=$(perl -ne 'print (($. == $param) ? $_ : "")' $OPTI_PATH/$CUR_FOLDER/results/OptiResults.cc)
				foo="$foo$line "
			done
			echo "$foo;" >> $EXTRACT_RES/results_file_mat.m
			foo=" "
		done
		echo "" >> $EXTRACT_RES/results_file_mat.m
	done
	
done
