Mercurial > hg > audiodb
view tests/pointset_test/run-test.sh @ 596:6ad0a6e67d4c
Take advantage of those new handy _or_goto_error macros
Use them in various places where previously we either elided the error
checking (various lseek() calls) or used a combination of calls
(replaced by malloc_and_fill_or_goto_error()).
In the process, fix what is probably a bug (or else introduce one, but I
don't think so): audiodb_track_id_datum() computed the offset into the
timesTable wrongly, forgetting to multiply by 2. (TODO: this should be
easily testable using the API).
Now all of LIBOBJS can be produced by my (Debian's) mingw32
cross-compiler, except for lshlib.o.
author | mas01cr |
---|---|
date | Tue, 11 Aug 2009 21:42:49 +0000 |
parents | 40dca0cbbffd |
children |
line wrap: on
line source
#! /bin/bash . ../test-utils.sh NPOINTS=100 NDIM=100 RADII="0.1 0.2 0.4 0.5 0.7 0.9 01 02 05 10" LSH_W="01 04" GENERATE_POINTS_AND_INSERT_IN_NEW_DB=true if [ ${GENERATE_POINTS_AND_INSERT_IN_NEW_DB} ] then if [ -f testdb ]; then rm -f testdb; fi ${AUDIODB} -d testdb -N intstring 1 > testpower floatstring -1 >> testpower ${AUDIODB} -d testdb -P if [ -d rad*[0-9]* ]; then rm -r rad*[0-9]*; fi for j in ${RADII} do R_SQ=`echo "scale=6; $j^2" | bc` mkdir -p "rad$j" ./genpoints2 ${NPOINTS} ${R_SQ} ${NDIM} mv testfeature* "rad$j" done for i in rad*[0-9]*/* do ${AUDIODB} -d testdb -I -f $i -w testpower done # sequence queries require L2NORM ${AUDIODB} -d testdb -L fi for W in ${LSH_W} do for LOOP1 in 1 2 3 4 5 6 7 8 9 10 do for LOOP2 in 1 2 3 4 5 do rm -f testdb.lsh.* # LSH_W=1 LSH_K=1 LSH_M=1 LSH_N=1000 INDEXING=true if [ ${INDEXING} ] then for j in ${RADII} do R_SQ=`echo "scale=6; $j^2" | bc` ${AUDIODB} -d testdb -X -R ${R_SQ} -l 1 --lsh_N ${LSH_N} \ --lsh_b ${LSH_N} --lsh_k ${LSH_K} --lsh_m ${LSH_M} --lsh_w ${W} --lsh_ncols 1000 \ --absolute-threshold -1 --no_unit_norming done fi #if [ -f cumulativeResult.txt ]; then rm -f cumulativeResult.txt;fi for j in ${RADII} do R_SQ=`echo "scale=6; $j^2" | bc` ${AUDIODB} \ -d testdb -Q sequence -R ${R_SQ} -l 1 -e \ -f queryfeature -w testpower --absolute-threshold -1 --no_unit_norming -r 1000 > output${j} echo `for k in ${RADII};do egrep "^rad$k" output${j} | wc | awk '{print $1}';done` >> cumulativeResult_k1_w${W}_m1_${NDIM}.txt done done done done #Perform exact search as a sanity test #rm -f *.lsh* #echo #for j in .01 .02 .03 .05 01 02 03 05 09 10 # do # R_SQ=`echo "scale=6; $j^2" | bc` # ${AUDIODB} \ # -d testdb -Q sequence -R ${R_SQ} -l 1 -e \ # -f queryfeature -w testpower --absolute-threshold -1 --no_unit_norming -r 1000 > outputEUC # echo EUC points retrieved at Radius $j: \ #`for k in .01 .02 .03 .05 01 02 03 05 09 10; do egrep "^rad$k" outputEUC | wc | awk '{print $1}';done` #done #Inspect the indexing parameters #echo #egrep "^INDEX:" output[1-9] #echo