#!/bin/sh

compile () {
    ghc --make -O2 $1 -o $2
}

time_run () {
    arg=$1
    shift
    for e in $* ; do
	time ./$e $arg > $e.out
    done
    diffn $*
}

diffn () {
    ref=$1
    ret=0
    shift
    for f in $* ; do
	diff $ref.out $f.out
	ret=$(( $ret + $?))
    done
    echo '########' Failures: $ret
}

compile nsieve-bits-u.hs nsU
compile nsieve-bits-c.hs nsC
compile nsieve-bits-s.hs nsS

compile meteor-contest-u.hs mcU
compile meteor-contest-c.hs mcC

time_run 8 nsU nsC nsS
time_run 2098 mcU mcC
