mas01cr@45: #! /bin/sh mas01cr@45: mas01cr@45: floatstring() { mas01cr@45: case $1 in mas01cr@45: 0) mas01cr@45: printf "\x00\x00\x00\x00\x00\x00\x00\x00";; mas01cr@45: 0.5) mas01cr@45: printf "\x00\x00\x00\x00\x00\x00\xe0\x3f";; mas01cr@45: 1) mas01cr@45: printf "\x00\x00\x00\x00\x00\x00\xf0\x3f";; mas01cr@45: *) mas01cr@45: echo "bad arg to floatstring(): $1" mas01cr@45: exit 1;; mas01cr@45: esac mas01cr@45: } mas01cr@45: mas01cr@45: trap "exit 1" ERR mas01cr@45: mas01cr@45: if [ -f testdb ]; then rm -f testdb; fi mas01cr@45: mas01cr@45: ${AUDIODB} -d testdb -N mas01cr@45: mas01cr@45: # FIXME: endianness! mas01cr@45: printf "\x02\x00\x00\x00" > testfeature mas01cr@45: floatstring 0 >> testfeature mas01cr@45: floatstring 1 >> testfeature mas01cr@45: floatstring 1 >> testfeature mas01cr@45: floatstring 0 >> testfeature mas01cr@45: mas01cr@45: ${AUDIODB} -d testdb -I -f testfeature mas01cr@45: mas01cr@45: echo "query point (0.0,0.5)" mas01cr@45: printf "\x02\x00\x00\x00" > testquery mas01cr@45: floatstring 0 >> testquery mas01cr@45: floatstring 0.5 >> testquery mas01cr@45: mas01cr@45: ${AUDIODB} -d testdb -Q point -f testquery > testoutput mas01cr@45: wc -l testoutput | grep 2 mas01cr@45: ${AUDIODB} -d testdb -Q point -f testquery -n 1 > testoutput mas01cr@45: wc -l testoutput | grep 1 mas01cr@45: mas01cr@45: echo "query point (0.5,0.0)" mas01cr@45: printf "\x02\x00\x00\x00" > testquery mas01cr@45: floatstring 0.5 >> testquery mas01cr@45: floatstring 0 >> testquery mas01cr@45: mas01cr@45: ${AUDIODB} -d testdb -Q point -f testquery > testoutput mas01cr@45: wc -l testoutput | grep 2 mas01cr@45: ${AUDIODB} -d testdb -Q point -f testquery -n 1 > testoutput mas01cr@45: wc -l testoutput | grep 1 mas01cr@45: mas01cr@45: exit 104