#
#
#  Run a set of otter jobs ($1/*.in) and compare the
#  results ($1/*.out) to $1/*.ppro180.
#
#  If $2 is given, it is assumed to be the Otter binary to use.
#
#  If $3 is given, it is the filename extension for output files.
#

set base=PII400

if ($#argv == 0) then
    echo "usage: Run_all directory [otter] [extension]"
    exit 1
endif

if ($#argv >= 2) then
   set OTTER=$2
else
   set OTTER=../../source/otter
endif

if ($#argv >= 3) then
   set OUT=$3
else
   set OUT=out
endif

if ($OUT == p5) then
    unalias echo awk
endif

cd $1
set errors=0
foreach i (*.in)
  echo "Running $1/$i ..."
  $OTTER < $i >& $i:r.$OUT
  if (-e $i:r.$base) then
    set genold=`grep "clauses generated" $i:r.$base | awk '{print $3}' | tail -1`
    set gennew=`grep "clauses generated" $i:r.$OUT | awk '{print $3}' | tail -1`
    if ($gennew != $genold) then
      echo "There is a problem: your computer generated $gennew, McCune's generated $genold"
      set errors=1
    else
      echo "Okay, it seems to have run correctly."
    endif
  else
    echo "Okay, but there's no file for comparison."
    set errors=1
  endif
end

echo ""

if (! $errors && $1 != split) then
  set timeold=`grep "user CPU time" *.$base | awk '{sum += $4} END {print sum}'`
  set timenew=`grep "user CPU time" *.$OUT | awk '{sum += $4} END {print sum}'`
  set speedup=`awk "END {print $timeold / $timenew}" /dev/null`
  echo "timenew=$timenew, timeold=$timeold."
  echo "This computer runs Otter about $speedup times as fast as a $base."
endif

echo "The output files have been left in $1/*.$OUT."
echo ""

cd ..
