2
# verify that average empirical divergence is correct.
6
prerequisite_command() {
7
type $2 2>&1 > /dev/null
9
echo "$1: $2 not found, test will be skipped"
14
prerequisite_command $0 formail
15
prerequisite_command $0 grep
16
prerequisite_command $0 awk
17
prerequisite_command $0 tr
19
DBACL_PATH="`pwd`/`basename $0 .sh`_`date +"%Y%m%dT%H%M%S"`"
24
(cat sample.spam-8 ; echo ; \
25
cat sample.spam-9 ; echo ; \
26
cat sample.spam-7 ; echo ; \
30
cat "$DBACL_PATH/mbox" \
31
| $DBACL -l dummy -X -d -T email \
33
| awk '{print $9/log(2)}' \
37
cat "$DBACL_PATH/mbox" \
38
| formail -s $DBACL -c dummy -vX \
39
| awk '{d += $3; e += $5} END{print (d/4), (e/4)}' \
43
echo "`cat \"$DBACL_PATH/out1\"` `cat \"$DBACL_PATH/out2\"`" \
45
function abs(x) { return (x >= 0) ? x : -x }
47
# divergence error is within 15% of shannon entropy
48
# must invert exit value
49
exit !( abs($1 - $2) < (0.15/2.0) * ($3) )
b'\\ No newline at end of file'