#!/bin/sh

set -e

# See the filelist in ex/index.html
# We only test double-precision routines, since single-precision are not compiled in
cp ex/file14 $AUTOPKGTEST_TMP/dmchar-test.f
cp ex/file15 $AUTOPKGTEST_TMP/hybrd-test.f
cp ex/file16 $AUTOPKGTEST_TMP/hybrj-test.f
cp ex/file17 $AUTOPKGTEST_TMP/lmder-test.f
cp ex/file18 $AUTOPKGTEST_TMP/lmstr-test.f
cp ex/file19 $AUTOPKGTEST_TMP/lmdif-test.f
cp ex/file20 $AUTOPKGTEST_TMP/chkder-test.f

cp ex/file21 $AUTOPKGTEST_TMP/hybrd-hybrj.dat
cp ex/file22 $AUTOPKGTEST_TMP/lmder-lmstr-lmdif.dat
cp ex/file23 $AUTOPKGTEST_TMP/chkder.dat

cd $AUTOPKGTEST_TMP

for fsrc in *.f; do
    gfortran $fsrc -o ${fsrc%.f} -lminpack
done

echo "*** TESTING: DMCHAR"
./dmchar-test
echo
echo "*** TESTING: HYBRD"
./hybrd-test < hybrd-hybrj.dat
echo
echo "*** TESTING: HYBRJ"
./hybrj-test < hybrd-hybrj.dat
echo
echo "*** TESTING: LMDER"
./lmder-test < lmder-lmstr-lmdif.dat
echo
echo "*** TESTING: LMSTR"
./lmstr-test < lmder-lmstr-lmdif.dat
echo
echo "*** TESTING: LMDIF"
./lmdif-test < lmder-lmstr-lmdif.dat
echo
echo "*** TESTING: CHKDER"
./chkder-test < chkder.dat

exit 0
