#!/bin/bash

xmax=7
umax=5
n=1
coef="100,0.02,"
name="$1"
dx="$2"
lamax="$3"
lamin="$4"
xmax="$5"
umax="$6"
n="$7"
coef="$8"
echo invltga4fig.sh $1 $2 $3 $4 $5 $6 $7 $8
D=invltga4${name}.demo

echo "LOADCONFIG ../configs/help3demo.gier" >$D
echo "LOADREADER ../tapes/mk/invlt/invlt2.asc" >>$D
echo "LOADPUNCH 0.flx" >>$D
echo "WAITINPUT" >>$D
../maketext.sh "r<" >>$D
echo "WAITINPUT" >>$D
# _c_o_p_y t
if [ $n -ne 0 ]
then
echo "WAITINPUT" >>$D
echo "TYPE 58" >>$D
../maketext.sh "_b_e_g_i_n _r_e_a_l fx;  fx:= 0;" >>$D
echo "WAITINPUT" >>$D
echo "TYPE 64" >>$D
echo "WAITINPUT" >>$D
echo "TYPE 58" >>$D
../maketext.sh "_f_o_r i:=1 _s_t_e_p 1 _u_n_t_i_l n _d_o fx:= fx + N[i]*exp(-lambda[i]*exp(x));" >>$D
echo "WAITINPUT" >>$D
echo "TYPE 64" >>$D
echo "WAITINPUT" >>$D
echo "TYPE 58" >>$D
../maketext.sh "f:= fx;" >>$D
echo "WAITINPUT" >>$D
echo "TYPE 64" >>$D
echo "WAITINPUT" >>$D
echo "TYPE 58" >>$D
../maketext.sh "_e_n_d f;" >>$D
else
../maketext.sh "${coef};" >>$D
fi
echo "WAITINPUT" >>$D
echo "TYPE 64" >>$D
echo "WAITINPUT" >>$D
# 4 case shifts
echo "TYPE 58" >>$D
echo "WAITINPUT" >>$D
echo "TYPE 60" >>$D
echo "WAITINPUT" >>$D
echo "TYPE 58" >>$D
echo "WAITINPUT" >>$D
echo "TYPE 60" >>$D
echo "WAITINPUT" >>$D
echo "TYPE 58" >>$D
echo "WAITINPUT" >>$D
# type f for finis
echo "TYPE 54" >>$D
echo "WAITINPUT" >>$D
echo "FINISHPUNCH" >>$D
echo "LOADPUNCH ../tapes/mk/invlt/invltga4${name}.flx" >>$D
echo "PLOTTERWIDTH 1" >>$D
# load gamma table
echo "LOADREADER ../tapes/mk/invlt/loggamma.asc" >>$D
echo "WAITINPUT" >>$D
#echo "SLEEP 10" >>$D
../maketext.sh "run<" >>$D
# wait for typewriter input
echo "WAITINPUT" >>$D
#echo "DEBUG 901" >>$D
# INPUT FRA SKRIVEMASKINE:
# dx     skridtlængde ved x-integration  (f.eks. 0.25)
../maketext.sh "$dx," >>$D
# xmax   øvre grænse ved x-integrationen, tastes evt først ind , efter
#        at plotteren har tegnet grafen af integranden ved x-integration
#        skal være lige mult af dx
../maketext.sh "$xmax," >>$D
# du     skridtlængde ved u-integration, skal være mult af 0.1
../maketext.sh "0.1," >>$D
# umax   øvre grænse ved u-integration, skal være lige mult af du
../maketext.sh "$umax," >>$D
# lamax  hhv øvre og nedre grænse for det interval for lamda, hvori
# lamin  man ønsker at undersøge g(lamda)/lamda. lamax og lamin skal
#        hele mult af '-i
../maketext.sh "$lamax," >>$D
../maketext.sh "$lamin," >>$D
# noofy  antal plottepunkter i det angivne lamda-interval
../maketext.sh "400," >>$D
# n, n>0 antal exponentialled i den syntetiske kurve f(t) af typen 1)
#        med parametrene
# N[i], lambda[i]   (i=1,...,n)
../maketext.sh "$n," >>$D
if [ $n -ne 0 ]
then
../maketext.sh "$coef" >>$D
# n, n<0 i dette tilfælde indlæses strimmel med rigtige data
# F[n,-n] som er den experimentelle kurve aflæst med ækvidistancen dx
#        i x-intervallet [n*dx,-n*dx];
# plot:
../maketext.sh "1," >>$D
# wait for typewriter input
echo "WAITINPUT" >>$D
# finish plot
echo "PLOTTERSCALEUP YES" >>$D
echo "PLOTTERSCALEDOWN YES" >>$D
echo "PLOTTERSIZE A4" >>$D
echo "FINISHPLOTTER invltga4${name}xmax.ps" >>$D
# xmax
../maketext.sh "$xmax," >>$D
fi
echo "WAITINPUT" >>$D
../maketext.sh "1," >>$D
echo "WAITINPUT" >>$D
echo "PLOTTERSCALEUP YES" >>$D
echo "PLOTTERSCALEDOWN YES" >>$D
echo "PLOTTERSIZE A4" >>$D
echo "FINISHPLOTTER invltga4${name}.ps" >>$D

echo "FINISHPUNCH" >>$D
#echo "SLEEP 20" >>$D
echo "QUIT" >>$D

../GIER $D
IFS=',' read -r -a coefs <<< "$coef"
if [ $n -eq 0 ]
then
func=" "
else
func="f(t)="
for((i=0;i<n;i++))
do
  coef1="${coefs[i*2]}"
  coef2="${coefs[i*2+1]}"
# if [ $i -eq 2 -a $n -gt 2 ]
# then
#   func="$func\n  "
# fi
  if [ $i -gt 0 ]
  then
    func="$func+"
  fi
  func="$func${coef1}e<sup>-${coef2}t</sup>"
done
fi

if [ $n -ne 0 ]
then
# -gravity None -annotate +440+70 "$func" \
convert -density 200 invltga4${name}xmax.ps -alpha off \
	  -font Courier -pointsize 20 \
	  -gravity None -annotate +1100+330 "umax=$umax" \
	  -gravity None -annotate +1100+410 "dx=$dx" \
	  -gravity NorthEast -annotate +20+0 "$name" \
	  invltga4${name}xmax.pdf
fi
convert -density 200 invltga4${name}.ps -alpha off \
	  -font Courier -pointsize 20 \
	  -gravity None -annotate +440+250 "xmax=$xmax" \
	  -gravity None -annotate +440+330 "umax=$umax" \
	  -gravity None -annotate +440+410 "dx=$dx" \
	  -gravity NorthEast -annotate +20+0 "$name" \
	  /tmp/invltga4.png
s100=`flx2a <../tapes/mk/invlt/invltga4${name}.flx|fgrep '100: '|sed "s/'/<sub>10<\/sub>/"`
convert -background transparent -font courier -pointsize 40 \
	  pango:"$s100" /tmp/100.png
if [ $n -ne 0 ]
then
convert -background transparent -font courier -pointsize 40 pango:"$func" /tmp/func.png
width1=`identify -format "%w" /tmp/invltga4.png`
width2=`identify -format "%w" /tmp/func.png`
center=$((width1/2-width2/2))
echo $width1 $width2 $center
composite -geometry +${center}+40 /tmp/func.png /tmp/invltga4.png /tmp/invltga42.png
else
cp /tmp/invltga4.png /tmp/invltga42.png
fi
composite -geometry +440+450 /tmp/100.png /tmp/invltga42.png invltga4${name}.png

convert invltga4${name}.png invltga4${name}.pdf

