annotate libtests/0034/prog1.c @ 544:283b412083db multiprobeLSH

A fix for using_query_point with query_by_key (i.e. not by file). This code path still loads the entire query file, even if using one vector. Loading of query data needs better rationalization.
author mas01mc
date Sun, 08 Feb 2009 06:41:55 +0000
parents 342822c2d49a
children
rev   line source
mas01cr@498 1 #include "audioDB_API.h"
mas01cr@498 2 #include "test_utils_lib.h"
mas01ik@355 3
mas01cr@498 4 int main(int argc, char **argv) {
mas01cr@498 5 adb_t *adb;
mas01cr@498 6 adb_insert_t insert = {0};
mas01cr@498 7 adb_status_t status = {0};
mas01cr@498 8 adb_insert_t batch[4] = {{0},{0},{0},{0}};
mas01ik@355 9
mas01cr@498 10 clean_remove_db(TESTDB);
mas01cr@498 11 if(!(adb = audiodb_create(TESTDB, 0, 0, 0)))
mas01cr@498 12 return 1;
mas01ik@355 13
mas01cr@498 14 maketestfile("testfeature", 2, (double[2]) {1, 1}, 2);
mas01cr@498 15 maketestfile("testfeature01", 2, (double[2]) {0, 1}, 2);
mas01cr@498 16 maketestfile("testfeature10", 2, (double[2]) {1, 0}, 2);
mas01ik@355 17
mas01cr@498 18 insert.features = "testfeature";
mas01cr@498 19 if(audiodb_insert(adb, &insert))
mas01cr@498 20 return 1;
mas01cr@498 21 if(audiodb_status(adb, &status) || status.numFiles != 1)
mas01cr@498 22 return 1;
mas01cr@498 23
mas01cr@498 24 /* reinserts using audiodb_insert() should silently not fail and
mas01cr@498 25 * silently not insert, to support legacy command-line behaviour. */
mas01cr@498 26 if(audiodb_insert(adb, &insert))
mas01cr@498 27 return 1;
mas01cr@498 28 if(audiodb_status(adb, &status) || status.numFiles != 1)
mas01cr@498 29 return 1;
mas01ik@355 30
mas01cr@498 31 /* reinserts using audiodb_insert_datum() should fail. */
mas01cr@498 32 adb_datum_t datum = {1, 2, "testfeature", (double[2]) {1, 1}};
mas01cr@498 33 if(!audiodb_insert_datum(adb, &datum))
mas01cr@498 34 return 1;
mas01ik@355 35
mas01cr@498 36 insert.features = "testfeature01";
mas01cr@498 37 if(audiodb_insert(adb, &insert))
mas01cr@498 38 return 1;
mas01cr@498 39 if(audiodb_status(adb, &status) || status.numFiles != 2)
mas01cr@498 40 return 1;
mas01ik@355 41
mas01cr@498 42 insert.features = "testfeature10";
mas01cr@498 43 if(audiodb_insert(adb, &insert))
mas01cr@498 44 return 1;
mas01cr@498 45 if(audiodb_status(adb, &status) || status.numFiles != 3)
mas01cr@498 46 return 1;
mas01cr@498 47
mas01cr@498 48 audiodb_close(adb);
mas01ik@355 49
mas01cr@498 50 clean_remove_db(TESTDB);
mas01cr@498 51 if(!(adb = audiodb_create(TESTDB, 0, 0, 0)))
mas01cr@498 52 return 1;
mas01ik@355 53
mas01cr@498 54 batch[0].features = "testfeature";
mas01cr@498 55 batch[1].features = "testfeature01";
mas01cr@498 56 batch[2].features = "testfeature10";
mas01cr@498 57 batch[3].features = "testfeature10";
mas01cr@498 58 if(audiodb_batchinsert(adb, batch, 4))
mas01cr@498 59 return 1;
mas01cr@498 60 if(audiodb_status(adb, &status) || status.numFiles != 3)
mas01cr@498 61 return 1;
mas01ik@355 62
mas01cr@498 63 audiodb_close(adb);
mas01ik@355 64
mas01cr@498 65 return 104;
mas01ik@355 66 }