#! /bin/ksh

MODULI=$1
FIRME=$2
TMP="ris.tmp"

rm -f ${TMP}.*
rm -f Ain
rm -f Aout

cat /dev/null > ${TMP}.n
cat /dev/null > ${TMP}.sign
cat /dev/null > output
cat /dev/null > sign-heer.txt
cat /dev/null > tempi_heerhugo

cp -f ${MODULI} ${TMP}.n

let M=1

echo " MODULO |**| FIRMA IN INPUT |**|\c" >> output
echo " MESSAGGIO |**| FIRMA IN OUTPUT |**|\c" >> output  
echo " NUMERO BIT |**|\c">> output 
echo " TEMPO (SEC.) |**|">> output 
echo "********|**|****************|**|\c" >> output 
echo "***********|**|*****************|**|\c" >> output
echo "************|**|\c">> output  
echo "**************|**|">> output


while test $M -le 100
do 
   MODVAL=`head -1 ${TMP}.n`
   tail +2 ${TMP}.n > ${TMP}.res
   mv -f ${TMP}.res ${TMP}.n
   BITVAL=`head -1 ${TMP}.n`
   tail +2 ${TMP}.n > ${TMP}.res
   mv -f ${TMP}.res ${TMP}.n

     

let N=1

cp -f ${FIRME} ${TMP}.sign

while test $N -le 5 
do
  SIGNVAL=`head -1 ${TMP}.sign`
  tail +2 ${TMP}.sign > ${TMP}.res
  mv -f ${TMP}.res ${TMP}.sign
   
  
  cod -b$BITVAL > Ain
  pre-heerhugo -m ${MODVAL} -f ${SIGNVAL} >> Ain 
  preprocessor -m ${MODVAL} -f ${SIGNVAL} > out-heer.txt
  grep  "false" out-heer.txt | sed "s/false:- //" > messaggio-heer.txt 
  codifica_msg -file messaggio-heer.txt -bits ${BITVAL} > ${TMP}.4
  MSG=`head -1 ${TMP}.4` 

  heerhugo Ain
  RESULT=`grep -c "Satisfiable: 1" Aout` 
  grep  "Total time used:" Aout > ${TMP}.11 
  D=`sed "s/[^0-9.]//g" ${TMP}.11 `
  echo "$D \c" >>tempi_heerhugo

  rm -f sign-heer.txt
  if test ${RESULT} -gt 0
            then
               let I=0 
               while test $I -lt $BITVAL
                  do
                     grep "f$I &" Aout >> sign-heer.txt
                     let I+=1
                  done
               cod_sign $BITVAL > ${TMP}.5  
   
               SIGNOUT=`head -1 ${TMP}.5`
  fi
  

spazio -input $MODVAL >${TMP}.6  
LENGTH=`head -1 ${TMP}.6`


let K=7
  while test $LENGTH -le $K
     do
         echo " \c">> output  
         let K-=1
     done
       
echo "$MODVAL|**|\c" >> output 


minimizza -m $MODVAL -f $SIGNVAL > ${TMP}.13 
SIGNVAL=`head -1 ${TMP}.13` 
spazio -input $SIGNVAL >${TMP}.9  
LENGTH=`head -1 ${TMP}.9`


let K=15
  while test $LENGTH -le $K
     do
         echo " \c">> output  
         let K-=1
     done 

echo "$SIGNVAL|**|\c" >> output     

spazio -input $MSG >${TMP}.7  
LENGTH=`head -1 ${TMP}.7`

	
let K=10
  while test $LENGTH -le $K 
     do
         echo " \c">> output  
         let K-=1
     done

echo "$MSG|**|\c" >> output 


 if test ${RESULT} -gt 0
    then
        spazio -input $SIGNOUT >${TMP}.8  
        LENGTH=`head -1 ${TMP}.8`
        let K=16
        while test $LENGTH -le $K 
        do
         echo " \c">> output
         let K-=1
        done
        echo "$SIGNOUT|**|\c" >> output
     else echo "            not found|**|\c" >> output
 fi

spazio -input $BITVAL >${TMP}.12  
LENGTH=`head -1 ${TMP}.12`


let K=11
  while test $LENGTH -le $K
       do
         echo " \c">> output
         let K-=1
     done

echo "$BITVAL|**|\c">> output 

spazio -input $D >${TMP}.11   
LENGTH=`head -1 ${TMP}.11` 
 
let K=13 
 while test $LENGTH -le $K  
    do 
       echo " \c">> output 
       let K-=1 
    done 
 
echo "$D|**|">> output  
 

  let N+=1
done
  let M+=1
  echo " ">>tempi_heerhugo	
done
 
echo "********* L'output e' nel file : output *********"  		
