#!/bin/csh # this script check LASPack by means of mlstest (based on LASPack) # # written by Tomas Skalicky, Jan 1995 if ( -f mlstest.out ) rm -f mlstest.out echo > mlstest.out foreach ml_solver ( mg mgpcg bpxpcg ) # all solvers with exception of the Chebyshev method are tested as smoothers; # in the Chebyshev method, the estimation of extremal eigenvalues make use # of an random-value generator and is therefore depending on the architecture foreach smoother_id ( 1 2 3 4 6 7 8 9 10 11 12 ) foreach precond_id ( 0 1 2 3 ) echo "Testing ... solver = $ml_solver, smoother = $smoother_id, preconditioner = $precond_id" echo "Testing ... solver = $ml_solver, smoother = $smoother_id, preconditioner = $precond_id" >> mlstest.out echo "" >> mlstest.out if ( -f mlstest.dat ) rm -f mlstest.dat sed -e "/SMOOTHER_ID/ s/SMOOTHER_ID/$smoother_id/" $ml_solver.tpl | \ sed -e "/PRECOND_ID/ s/PRECOND_ID/$precond_id/" > mlstest.dat sleep 1 mlstest < mlstest.dat >>&! mlstest.out sleep 1 rm -f mlstest.dat echo "" >> mlstest.out echo "" >> mlstest.out echo "" >> mlstest.out end end end if ( -f mlstest.tmp ) rm -f mlstest.tmp mv mlstest.out mlstest.tmp sed -e "/=/ w mlstest.out" mlstest.tmp >> /dev/null rm -f mlstest.tmp if ( { cmp -s mlstest.out mlstest.org } ) then echo "" echo "LASPack tested successfully." else echo "" echo "LASPack check fails." if ( -f diffs ) rm -f diffs diff mlstest.out mlstest.org > diffs endif