annotate libtests/0036/prog1.c @ 510:2b95e396f4d7

Add missing pointpair.h file. It's good to know that even with the most advanced RCS I've every used, this error still happens to me.
author mas01cr
date Thu, 15 Jan 2009 14:23:09 +0000
parents 342822c2d49a
children bcc7a6ddb2c8
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;
mas01ik@355 6
mas01cr@498 7 clean_remove_db(TESTDB);
mas01cr@498 8 if(!(adb = audiodb_create(TESTDB, 0, 0, 0)))
mas01cr@498 9 return 1;
mas01ik@355 10
mas01cr@498 11 adb_datum_t datum1 = {2, 2, "testfeature01", (double[4]) {0, 1, 1, 0}};
mas01cr@498 12 adb_datum_t datum2 = {2, 2, "testfeature10", (double[4]) {1, 0, 0, 1}};
mas01ik@355 13
mas01cr@498 14 if(audiodb_insert_datum(adb, &datum1))
mas01cr@498 15 return 1;
mas01cr@498 16 if(audiodb_insert_datum(adb, &datum2))
mas01cr@498 17 return 1;
mas01cr@498 18 if(audiodb_l2norm(adb))
mas01cr@498 19 return 1;
mas01ik@355 20
mas01cr@498 21 adb_datum_t query = {1, 2, NULL, (double [2]){0, 0.5}, NULL, NULL};
mas01cr@498 22 adb_query_id_t qid = {0};
mas01cr@498 23 qid.datum = &query;
mas01cr@498 24 qid.sequence_length = 1;
mas01cr@498 25 adb_query_parameters_t parms =
mas01cr@498 26 {ADB_ACCUMULATION_PER_TRACK, ADB_DISTANCE_EUCLIDEAN_NORMED, 10, 10};
mas01cr@498 27 adb_query_refine_t refine = {0};
mas01cr@498 28 refine.hopsize = 1;
mas01ik@355 29
mas01cr@498 30 adb_query_spec_t spec;
mas01cr@498 31 spec.qid = qid;
mas01cr@498 32 spec.params = parms;
mas01cr@498 33 spec.refine = refine;
mas01ik@355 34
mas01cr@498 35 adb_query_results_t *results = audiodb_query_spec(adb, &spec);
mas01cr@498 36
mas01cr@498 37 if(!results || results->nresults != 4) return 1;
mas01cr@498 38 result_present_or_fail(results, "testfeature01", 0, 0, 0);
mas01cr@498 39 result_present_or_fail(results, "testfeature01", 2, 0, 1);
mas01cr@498 40 result_present_or_fail(results, "testfeature10", 0, 0, 1);
mas01cr@498 41 result_present_or_fail(results, "testfeature10", 2, 0, 0);
mas01cr@498 42 audiodb_query_free_results(adb, &spec, results);
mas01cr@498 43
mas01cr@498 44 spec.params.npoints = 2;
mas01cr@498 45 results = audiodb_query_spec(adb, &spec);
mas01cr@498 46
mas01cr@498 47 if(!results || results->nresults != 4) return 1;
mas01cr@498 48 result_present_or_fail(results, "testfeature01", 0, 0, 0);
mas01cr@498 49 result_present_or_fail(results, "testfeature01", 2, 0, 1);
mas01cr@498 50 result_present_or_fail(results, "testfeature10", 0, 0, 1);
mas01cr@498 51 result_present_or_fail(results, "testfeature10", 2, 0, 0);
mas01cr@498 52 audiodb_query_free_results(adb, &spec, results);
mas01cr@498 53
mas01cr@498 54 spec.params.npoints = 5;
mas01cr@498 55 results = audiodb_query_spec(adb, &spec);
mas01cr@498 56
mas01cr@498 57 if(!results || results->nresults != 4) return 1;
mas01cr@498 58 result_present_or_fail(results, "testfeature01", 0, 0, 0);
mas01cr@498 59 result_present_or_fail(results, "testfeature01", 2, 0, 1);
mas01cr@498 60 result_present_or_fail(results, "testfeature10", 0, 0, 1);
mas01cr@498 61 result_present_or_fail(results, "testfeature10", 2, 0, 0);
mas01cr@498 62 audiodb_query_free_results(adb, &spec, results);
mas01cr@498 63
mas01cr@498 64 spec.params.npoints = 1;
mas01cr@498 65 results = audiodb_query_spec(adb, &spec);
mas01cr@498 66
mas01cr@498 67 if(!results || results->nresults != 2) return 1;
mas01cr@498 68 result_present_or_fail(results, "testfeature01", 0, 0, 0);
mas01cr@498 69 result_present_or_fail(results, "testfeature10", 0, 0, 1);
mas01cr@498 70
mas01cr@498 71 audiodb_query_free_results(adb, &spec, results);
mas01cr@498 72
mas01cr@498 73 spec.qid.datum->data = (double [2]) {0.5, 0};
mas01cr@498 74 spec.params.npoints = 10;
mas01cr@498 75 results = audiodb_query_spec(adb, &spec);
mas01cr@498 76
mas01cr@498 77 if(!results || results->nresults != 4) return 1;
mas01cr@498 78 result_present_or_fail(results, "testfeature01", 0, 0, 1);
mas01cr@498 79 result_present_or_fail(results, "testfeature01", 2, 0, 0);
mas01cr@498 80 result_present_or_fail(results, "testfeature10", 0, 0, 0);
mas01cr@498 81 result_present_or_fail(results, "testfeature10", 2, 0, 1);
mas01cr@498 82 audiodb_query_free_results(adb, &spec, results);
mas01cr@498 83
mas01cr@498 84 spec.params.npoints = 2;
mas01cr@498 85 results = audiodb_query_spec(adb, &spec);
mas01cr@498 86
mas01cr@498 87 if(!results || results->nresults != 4) return 1;
mas01cr@498 88 result_present_or_fail(results, "testfeature01", 0, 0, 1);
mas01cr@498 89 result_present_or_fail(results, "testfeature01", 2, 0, 0);
mas01cr@498 90 result_present_or_fail(results, "testfeature10", 0, 0, 0);
mas01cr@498 91 result_present_or_fail(results, "testfeature10", 2, 0, 1);
mas01cr@498 92 audiodb_query_free_results(adb, &spec, results);
mas01cr@498 93
mas01cr@498 94 spec.params.npoints = 5;
mas01cr@498 95 results = audiodb_query_spec(adb, &spec);
mas01cr@498 96
mas01cr@498 97 if(!results || results->nresults != 4) return 1;
mas01cr@498 98 result_present_or_fail(results, "testfeature01", 0, 0, 1);
mas01cr@498 99 result_present_or_fail(results, "testfeature01", 2, 0, 0);
mas01cr@498 100 result_present_or_fail(results, "testfeature10", 0, 0, 0);
mas01cr@498 101 result_present_or_fail(results, "testfeature10", 2, 0, 1);
mas01cr@498 102 audiodb_query_free_results(adb, &spec, results);
mas01cr@498 103
mas01cr@498 104 spec.params.npoints = 1;
mas01cr@498 105 results = audiodb_query_spec(adb, &spec);
mas01cr@498 106
mas01cr@498 107 if(!results || results->nresults != 2) return 1;
mas01cr@498 108 result_present_or_fail(results, "testfeature01", 0, 0, 1);
mas01cr@498 109 result_present_or_fail(results, "testfeature10", 0, 0, 0);
mas01cr@498 110 audiodb_query_free_results(adb, &spec, results);
mas01cr@498 111
mas01cr@498 112 audiodb_close(adb);
mas01cr@498 113
mas01cr@498 114 return 104;
mas01ik@355 115 }