summaryrefslogtreecommitdiffstats
path: root/funtools/funtest/timev
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2020-05-21 19:00:29 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2020-05-21 19:00:29 (GMT)
commit46d97c3965cb216b58ebf90a13f9f8237925b377 (patch)
treefa699432b8feb3ce7f19971cbabc35d15bcadb32 /funtools/funtest/timev
parent8c5d7ad35a627084cb69087a80ae61ff5c19dcc3 (diff)
downloadblt-46d97c3965cb216b58ebf90a13f9f8237925b377.zip
blt-46d97c3965cb216b58ebf90a13f9f8237925b377.tar.gz
blt-46d97c3965cb216b58ebf90a13f9f8237925b377.tar.bz2
upgrade funtools
Diffstat (limited to 'funtools/funtest/timev')
-rwxr-xr-xfuntools/funtest/timev264
1 files changed, 264 insertions, 0 deletions
diff --git a/funtools/funtest/timev b/funtools/funtest/timev
new file mode 100755
index 0000000..d5e71e3
--- /dev/null
+++ b/funtools/funtest/timev
@@ -0,0 +1,264 @@
+#!/bin/sh
+# set -x
+
+PLATFORM=`uname`
+VERBOSE=0
+SW="-r"
+X=504
+Y=512
+
+STDIN=/dev/null
+OPROG=funcnts
+NPROG=../funcnts
+OFILE=${HOME}/data/snr.fits
+NFILE=${HOME}/data/snr.ev.gz
+
+
+EAWK='start==1&&NF>0{tpix += $2; tarea +=$3; print $0};/^---- ------------ ---------$/{start=1}END{print tpix,tarea}'
+
+SAWK='start==1&&NF>0{tpix += $2; tarea +=$3};/^---- ------------ ---------$/{start=1}END{print tpix,tarea}'
+
+FAWK='{tpix = $1};END{print tpix}'
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -1)
+ DO1=YES
+ shift
+ continue;;
+ -b)
+ shift
+ B=$1
+ shift
+ continue;;
+ -c)
+ shift
+ C="$1\;"
+ shift
+ continue;;
+ -e)
+ FIELD=`${OPROG} ${OFILE}${B} "field" | awk "$SAWK" | awk "$FAWK"`
+ echo "FIELD: $FIELD"
+ echo " "
+ M="-"
+ shift
+ continue;;
+ -f)
+ shift
+ FILE=$1
+ 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)
+ PURE=YES
+ DO1=YES
+ NPROG=../funcnts.pure
+ shift
+ continue;;
+ -s)
+ shift
+ SW=$1
+ shift
+ continue;;
+ -v)
+ VERBOSE=1
+ shift
+ continue;;
+ -V)
+ VERBOSE=2
+ shift
+ continue;;
+ -x)
+ shift
+ X=$1
+ shift
+ continue;;
+ -y)
+ shift
+ Y=$1
+ 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`
+
+B1=`echo "$X - 100" | bc`
+B2=`echo "$X + 99" | bc`
+B3=`echo "$Y - 100" | bc`
+B4=`echo "$Y + 99" | bc`
+if [ x"$B" = x ]; then
+ B="[$B1:$B2,$B3:$B4,3]"
+fi
+
+echo "OPROG="${OPROG} "OFILE="${OFILE}${B} X=${X} Y=${Y}
+echo "NPROG="${NPROG} "NFILE="${NFILE}${B} X=${X} Y=${Y}
+
+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
+ ;;
+ NPROG)
+ NPROG=$ARG2
+ ;;
+ FILE)
+ FILE=$ARG2
+ ;;
+ EXCLUDE)
+ FIELD=`$OPROG ${OFILE}${B} "field" | awk "$SAWK" | awk "$FAWK"`
+ echo "FIELD: $FIELD"
+ echo " "
+ M="-"
+ ;;
+ EXIT)
+ exit
+ ;;
+ EXACT)
+ if [ x"$DO1" = xYES ]; then
+ echo "${M}DO1: $ARG3"
+ ($NPROG ${SW} ${NFILE}${B} "${M}$ARG3") >funcnts2.out 2>&1
+ else
+ echo "${M}EXACT: $ARG2 ... $ARG3"
+ ($OPROG ${SW} ${OFILE}${B} "$ARG2" | awk $EAWK) >funcnts1.out 2>err.log
+ if test $? -ne 0; then
+ echo "skipping $NPROG due to error"
+ else
+ (cat $STDIN | $NPROG ${SW} ${NFILE}${B} "${M}$ARG3" | awk $EAWK) >funcnts2.out 2>&1
+ if [ x$M = x ]; then
+ diff funcnts1.out funcnts2.out
+ else
+ V1=`cat funcnts1.out | awk $FAWK`
+ V2=`cat funcnts2.out | awk $FAWK`
+ V2=`echo "$FIELD-$V2" | bc`
+ if [ $V1 != $V2 ]; then
+ echo "V1=$V1 V2=$V2"
+ fi
+ fi
+ fi
+ fi
+ echo " "
+ ;;
+ REV)
+ if [ x"$DO1" = xYES ]; then
+ echo "${M}DO1: $ARG3"
+ (cat $STDIN | $NPROG ${SW} ${NFILE}${B} "${M}$ARG3") >funcnts2.out 2>&1
+ else
+ echo "${M}REV: $ARG2 ... $ARG3"
+ ($OPROG ${SW} ${OFILE}${B} "$ARG2" | awk $EAWK) >tfuncnts1.out 2>err.log
+ if test $? -ne 0; then
+ echo "skipping $NPROG due to error"
+ else
+ (cat $STDIN | $NPROG ${SW} ${NFILE}${B} "${M}$ARG3" | awk $EAWK) >tfuncnts2.out 2>&1
+ if [ x$M = x ]; then
+ awk 'NF==3{print $0}' < tfuncnts1.out | sort -r | awk '{print $2,$3}' > funcnts1.out
+ awk 'NF==3{print $2,$3}' < tfuncnts2.out >funcnts2.out 2>&1
+ diff funcnts1.out funcnts2.out
+ else
+ V1=`cat funcnts1.out | awk $FAWK`
+ V2=`cat funcnts2.out | awk $FAWK`
+ V2=`echo "$FIELD-$V2" | bc`
+ if [ $V1 != $V2 ]; then
+ echo "V1=$V1 V2=$V2"
+ fi
+ fi
+ fi
+ fi
+ echo " "
+ ;;
+ SUM)
+ if [ x"$DO1" = xYES ]; then
+ echo "${M}DO1: $ARG3"
+ (cat $STDIN | $NPROG ${SW} ${NFILE}${B} "${M}$ARG3") >funcnts2.out 2>&1
+ else
+ echo "${M}SUM: $ARG2 ... $ARG3"
+ ($OPROG ${SW} ${OFILE}${B} "$ARG2" | awk $SAWK) >funcnts1.out 2>err.log
+ if test $? -ne 0; then
+ echo "skipping $NPROG due to error"
+ else
+ (cat $STDIN | $NPROG ${SW} ${NFILE}${B} "${M}$ARG3" | awk $SAWK) >funcnts2.out 2>&1
+ if [ x$M = x ]; then
+ diff funcnts1.out funcnts2.out
+ else
+ V1=`cat funcnts1.out | awk $FAWK`
+ V2=`cat funcnts2.out | awk $FAWK`
+ V2=`echo "$FIELD-$V2" | bc`
+ if [ $V1 != $V2 ]; then
+ echo "V1=$V1 V2=$V2"
+ fi
+ fi
+ fi
+ fi
+ echo " "
+ ;;
+ *)
+ echo "ERROR: unknown command: $CMD"
+ exit 1
+ ;;
+ esac
+ if [ $VERBOSE = 1 ]; then
+ echo "***** funcnts1.out *****"
+ cat funcnts1.out
+ fi
+ if [ $VERBOSE = 2 ]; then
+ echo "***** funcnts1.out *****"
+ cat funcnts1.out
+ echo "***** funcnts2.out *****"
+ cat funcnts2.out
+ fi
+ rm -f err.log
+done
+
+rm -f funcnts1.out funcnts2.out tfuncnts1.out tfuncnts2.out
+