diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2020-05-21 19:00:29 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2020-05-21 19:00:29 (GMT) |
commit | 46d97c3965cb216b58ebf90a13f9f8237925b377 (patch) | |
tree | fa699432b8feb3ce7f19971cbabc35d15bcadb32 /funtools/funtest/timev | |
parent | 8c5d7ad35a627084cb69087a80ae61ff5c19dcc3 (diff) | |
download | blt-46d97c3965cb216b58ebf90a13f9f8237925b377.zip blt-46d97c3965cb216b58ebf90a13f9f8237925b377.tar.gz blt-46d97c3965cb216b58ebf90a13f9f8237925b377.tar.bz2 |
upgrade funtools
Diffstat (limited to 'funtools/funtest/timev')
-rwxr-xr-x | funtools/funtest/timev | 264 |
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 + |