#! /bin/sh # This script tests: pamarith # Also requires: ppmpat pnminvert pamfile pbmmake pgmmake pamcut tmpdir=${tmpdir:-/tmp} input1_ppm=${tmpdir}/input1.ppm inputm_ppm=${tmpdir}/inputm.ppm input2_ppm=${tmpdir}/input2.ppm echo "Test 1" ppmpat -tartan -color=rgb:00/80/ff,rgb:80/ff/00,rgb:ff/00/80 \ 8 8 > ${input1_ppm} ppmpat -tartan -color=rgb:00/80/ff,rgb:80/ff/00,rgb:ff/00/80 \ -mesh 8 8 > ${inputm_ppm} ppmpat -tartan -color=rgb:80/ff/00,rgb:ff/00/80,rgb:00/80/ff \ 8 8 > ${input2_ppm} pamarith -compare -plain ${input1_ppm} ${input1_ppm} | \ uniq -c | sed -e 's/^ *//' -e 's/ /:/' pamarith -compare -plain ${input1_ppm} ${inputm_ppm} | \ uniq -c | sed -e 's/^ *//' -e 's/ /:/' pamarith -compare -plain ${input1_ppm} ${input2_ppm} | \ uniq -c | sed -e 's/^ *//' -e 's/ /:/' echo "Test 2" pamarith -equal -plain ${input1_ppm} ${input1_ppm} | \ uniq -c | sed -e 's/^ *//' -e 's/ /:/' pamarith -equal -plain ${input1_ppm} ${inputm_ppm} | \ uniq -c | sed -e 's/^ *//' -e 's/ /:/' pamarith -equal -plain ${input1_ppm} ${input2_ppm} | \ uniq -c | sed -e 's/^ *//' -e 's/ /:/' rm ${input1_ppm} ${inputm_ppm} ${input2_ppm} echo "Test 3" input3_pbm=${tmpdir}/input3.pbm pamcut maze.pbm -left=0 -top=0 -width=35 -height=33 > ${input3_pbm} pamarith -equal -plain ${input3_pbm} ${input3_pbm} | \ uniq -c | sed -e 's/^ *//' -e 's/ /:/' pnminvert ${input3_pbm} | pamarith -equal -plain ${input3_pbm} - | \ uniq -c | sed -e 's/^ *//' -e 's/ /:/' xysize=$(pamfile -size testgrid.pbm) pbmmake -w ${xysize} | pamarith -equal -plain testgrid.pbm - | \ awk '{printf("%s%c",$0, NR<3 || NR%2==0 ? "\n" : " ")}' | uniq -c | sed -e 's/^ *//' -e 's/ /:/' pbmmake -b ${xysize} | pamarith -equal -plain testgrid.pbm - | \ awk '{printf("%s%c",$0, NR<3 || NR%2==0 ? "\n" : " ")}' | uniq -c | sed -e 's/^ *//' -e 's/ /:/' echo "Test 4" pamarith -compare -plain ${input3_pbm} ${input3_pbm} | \ uniq -c | sed -e 's/^ *//' -e 's/ /:/' pnminvert testgrid.pbm | pamarith -compare -plain testgrid.pbm - | \ awk '{printf("%s%c",$0, NR<4 || NR%2==1 ? "\n" : " ")}' | uniq -c | sed -e 's/^ *//' -e 's/ /:/' pbmmake -w ${xysize} | pamarith -compare -plain testgrid.pbm - | \ awk '{printf("%s%c",$0, NR<4 || NR%2==1 ? "\n" : " ")}' | uniq -c | sed -e 's/^ *//' -e 's/ /:/' pbmmake -b ${xysize} | pamarith -compare -plain testgrid.pbm - | \ awk '{printf("%s%c",$0, NR<4 || NR%2==1 ? "\n" : " ")}' | uniq -c | sed -e 's/^ *//' -e 's/ /:/' rm ${input3_pbm} echo "Test 5" # -closeness input40_pgm=${tmpdir}/input40.pgm input50_pgm=${tmpdir}/input50.pgm pgmmake -maxval=99 0.40 7 3 > ${input40_pgm} pgmmake -maxval=99 0.50 7 3 > ${input50_pgm} echo "Should produce 1285449498 54 four times" pamarith -equal -plain ${input40_pgm} ${input40_pgm} | cksum pamarith -equal -plain -closeness=10.2 ${input40_pgm} ${input50_pgm} | cksum pamarith -equal -plain -closeness=11 ${input40_pgm} ${input50_pgm} | cksum pamarith -equal -plain -closeness=90 ${input40_pgm} ${input50_pgm} | cksum echo "Should produce 244506188 54 twice" pamarith -equal -plain ${input40_pgm} ${input50_pgm} | cksum pamarith -equal -plain -closeness=09 ${input40_pgm} ${input50_pgm} | cksum rm ${input40_pgm} ${input50_pgm}