diff tests/0045/run-test.sh @ 340:a6edbe97fddf

Added LSH_CORE_ARRAY structure for hashtables instead of linked lists. Maintained Backwards Compatibiliity with indexes build for linked list format. Added tests for indexing and merging. Tested backwards compatibility OK.\n\n The purpose of the LSH_CORE_ARRAY data structure is greater space efficiency and L1/2 cache usage. Essential for multiple indexes with multiple hashtables in RAM
author mas01mc
date Wed, 10 Sep 2008 18:55:16 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/0045/run-test.sh	Wed Sep 10 18:55:16 2008 +0000
@@ -0,0 +1,86 @@
+#! /bin/bash
+
+. ../test-utils.sh
+
+if [ -f testdb ]; then rm -f testdb; fi
+
+${AUDIODB} -d testdb -N
+
+intstring 2 > testfeature
+floatstring 0 1 >> testfeature
+floatstring 1 0 >> testfeature
+floatstring 1 0 >> testfeature
+floatstring 0 1 >> testfeature
+
+intstring 1 > testpower
+floatstring -0.5 >> testpower
+floatstring -1 >> testpower
+floatstring -1 >> testpower
+floatstring -0.5 >> testpower
+
+expect_clean_error_exit ${AUDIODB} -d testdb -I -f testfeature -w testpower
+${AUDIODB} -d testdb -P
+expect_clean_error_exit ${AUDIODB} -d testdb -I -f testfeature
+${AUDIODB} -d testdb -I -f testfeature -w testpower -k testfeature1
+
+# sequence queries require L2NORM
+${AUDIODB} -d testdb -L
+
+echo "query points (0.0,0.5),(0.0,0.5),(0.5,0.0)"
+intstring 2 > testquery
+floatstring 0 0.5 >> testquery
+floatstring 0 0.5 >> testquery
+floatstring 0.5 0 >> testquery
+
+# LSH Indexing tests
+
+# Indexing requires a radius (-R)
+expect_clean_error_exit ${AUDIODB} -d testdb -X -l 1
+
+# Merged index
+${AUDIODB} -d testdb -I -f testfeature -w testpower -k testfeature2
+
+if [ -f testdb.lsh* ]; then
+    rm testdb.lsh*
+fi
+
+${AUDIODB} -d testdb -X -l 1 -R 1 --lsh_b 1
+
+# Add a new track
+${AUDIODB} -d testdb -I -f testfeature -w testpower -k testfeature3
+
+# index using same paramters as previous index (merge new data)
+${AUDIODB} -d testdb -X -l 1 -R 1
+
+${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testpower -R 1 > testoutput
+echo testfeature1 1 > test-expected-output
+echo testfeature2 1 >> test-expected-output
+echo testfeature3 1 >> test-expected-output
+cmp testoutput test-expected-output
+
+${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testpower -p 0 -R 1 > testoutput
+echo testfeature1 1 > test-expected-output
+echo testfeature2 1 >> test-expected-output
+echo testfeature3 1 >> test-expected-output
+cmp testoutput test-expected-output
+
+${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testpower -p 1 -R 1 > testoutput
+echo testfeature1 1 > test-expected-output
+echo testfeature2 1 >> test-expected-output
+echo testfeature3 1 >> test-expected-output
+cmp testoutput test-expected-output
+
+${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testpower -e -R 1 > testoutput
+echo testfeature1 3 > test-expected-output
+echo testfeature2 3 >> test-expected-output
+echo testfeature3 3 >> test-expected-output
+cmp testoutput test-expected-output
+
+${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testpower -e -R 1 --lsh_exact > testoutput
+echo testfeature1 3 > test-expected-output
+echo testfeature2 3 >> test-expected-output
+echo testfeature3 3 >> test-expected-output
+cmp testoutput test-expected-output
+
+
+exit 104