#!/bin/sh 
#
# A simple script to compare a serial version of a restricted
# range N body problem with the parallel version (midpoint method)
# 
# Written by:
# -- 
# John L. Weatherwax                2006-09-26
# 
# email: wax@alum.mit.edu
# 
# Please send comments and especially bug reports to the
# above email address.
# 
#-----

#TS=1

NTS="`ls ParSimResults/force_calc_proc_0_ts_*.dat | wc -l`"

# Compare the results of each timestep ...
tsi=1
while [ $tsi -le $NTS ] ; do
    echo "comparing data force_calc_proc_*_ts_$tsi.dat ..."
    # Get all data to compare into two files: 
    # 
    rm -f /tmp/pForce_results.dat /tmp/sForce_results.dat

    sort -n ParSimResults/force_calc_proc_*_ts_$tsi.dat > /tmp/pForce_results.dat

    sort -n SerialVersion/SerSimResults/force_calc_ts_$tsi.dat > /tmp/sForce_results.dat

    if diff -b /tmp/pForce_results.dat /tmp/sForce_results.dat > /dev/null ; then
      echo "...SAME"
    else
      echo "...DIFFERENT"
      emacs /tmp/pForce_results.dat /tmp/sForce_results.dat & 
      break 
    fi

    if false ; then 
    if which ndiff > /dev/null ; then 
      #echo "using ndiff..."
      #ndiff -abserr 1d-5 /tmp/pForce_results.dat /tmp/sForce_results.dat
      ndiff -relerr 1d-4 /tmp/pForce_results.dat /tmp/sForce_results.dat
    else
      #echo "no ndiff ... using diff..."
      if diff -b /tmp/pForce_results.dat /tmp/sForce_results.dat > /dev/null ; then 
	echo "no difference between the files"
      else
	emacs /tmp/pForce_results.dat /tmp/sForce_results.dat & 
      fi
    fi
    fi

  tsi=`expr $tsi + 1`
done

