#!/bin/sh # set -x PLATFORM=`uname` VERBOSE=0 OPROG=fundisp NPROG=../fundisp STDIN=/dev/null OFILE=${HOME}/data/snr.ev NFILE=${HOME}/data/snr.ev.gz X=504 Y=512 if [ -r /usr/ucb/echo ]; then ECHO=/usr/ucb/echo else ECHO=echo fi while [ x"$1" != x ]; do case $1 in -1) DO1=YES shift continue;; -b) shift B="$1(" B2=")" shift continue;; -c) shift C="$1\;" shift continue;; -e) OM="field;-" NM="-" shift continue;; -f2) shift OFILE=$1 shift NFILE=$1 shift continue;; -i) DOINC=YES shift continue;; -n) shift NPROG=$1 shift continue;; -o) shift OPROG=$1 shift continue;; -p) shift STDIN=$1 if [ x`$ECHO $STDIN | awk -F. '{print $NF}'` = x"gz" ]; then NFILE=stdin.gz else NFILE=stdin fi shift continue;; -P) DO1=YES NPROG=../fundisp.pure shift continue;; -V) DO1=YES NPROG="/usr/bin/valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --trace-children=yes ../fundisp" shift continue;; -v) VERBOSE=1 shift continue;; -v2) VERBOSE=2 shift continue;; -x) shift X=$1 shift continue;; -y) shift Y=$1 shift continue;; -z) ZBUG=true shift continue;; *) shift continue;; esac done X2=`$ECHO "$X + 10" | bc` Y2=`$ECHO "$Y + 10" | bc` X3=`$ECHO "$X + 20" | bc` Y3=$Y X4=`$ECHO "$X + 10" | bc` Y4=`$ECHO "$Y - 10" | bc` $ECHO "OPROG="${OPROG} "FILE="${OFILE} $ECHO "NPROG="${NPROG} "FILE="${NFILE} IFS=" " while read ARG1 ARG2 ARG3; do if [ x"$ARG1" = x ]; then continue fi if [ x`$ECHO $ARG1 | sed 's/^#.*/YES/g'` = x"YES" ]; then continue fi CMD=$ARG1 eval "ARG2=\"${C}$ARG2\"" eval "ARG3=\"${C}$ARG3\"" if [ x$CMD = xZIEXACT ]; then if [ x$FILTER_PAINT = xtrue ]; then continue else CMD=EXACT fi fi if [ x$CMD = xZEXACT ]; then if [ x$FILTER_PAINT = xtrue ]; then CMD=SUM else CMD=EXACT fi fi case $CMD in OPROG) OPROG=$ARG2 $ECHO OPROG="${OPROG}" ;; NPROG) NPROG=$ARG2 $ECHO NPROG="${NPROG}" ;; OFILE) OFILE=$ARG2 $ECHO OFILE="${OFILE}" ;; NFILE) NFILE=$ARG2 $ECHO NFILE="${NFILE}" ;; EXCLUDE) OM="field;-" NM="-" ;; EXIT) exit ;; EXACT|SUM|REV) if [ x"$DO1" = xYES ]; then $ECHO "${M}DO1: $ARG3" eval "cat $STDIN | $NPROG ${NFILE}\"[${NM}$ARG3]\" > fundisp2.out" else if [ x"$DOINC" = xYES ]; then $ECHO "$ARG3" > arg3.inc $ECHO "${M}EXACT: ${B}$ARG2${B2} ... ${B}@include($ARG3)${B2}" ARG3="@arg3.inc" else $ECHO "${M}EXACT: ${B}$ARG2 ... ${B}$ARG3" fi CMP=yes XPROG="" $OPROG ${OFILE}"[${B}${OM}$ARG2${B2}]" > tfundisp1.out if test $? -ne 0; then CMP=no XPROG="$OPROG" fi cat $STDIN | $NPROG ${NFILE}"[${B}${NM}$ARG3${B2}]" > tfundisp2.out if test $? -ne 0; then CMP=no XPROG="${XPROG:-}${XPROG:+' '}$NPROG" fi if [ x"$CMP" = xyes ]; then if [ x"$ZBUG" = xtrue ]; then sed "/^ *$X $Y.*$/d" < tfundisp1.out > fundisp1.out sed "/^ *$X $Y.*$/d" < tfundisp2.out > fundisp2.out else mv tfundisp1.out fundisp1.out mv tfundisp2.out fundisp2.out fi diff fundisp1.out fundisp2.out else $ECHO "skipping compare due to errors in $XPROG" fi fi $ECHO " " ;; *) $ECHO "ERROR: unknown command: $CMD" exit 1 ;; esac if [ $VERBOSE = 1 ]; then $ECHO "***** fundisp1.out *****" cat fundisp1.out fi if [ $VERBOSE = 2 ]; then $ECHO "***** fundisp1.out *****" cat fundisp1.out $ECHO "***** fundisp2.out *****" cat fundisp2.out fi rm -f err.log done rm -f fundisp1.out fundisp2.out tfundisp1.out tfundisp2.out