view libtests/0037/prog1.c @ 427:adaa6a688a04 api-inversion

Move sequence_foo() functions out of audioDB:: namespace... ... and into the internals header, mostly to get them out of the way. That means they have to be inline, which is probably suboptimal but will do for now.
author mas01cr
date Wed, 24 Dec 2008 10:55:24 +0000
parents 9de6d0676907
children c26c5b7ef0d2
line wrap: on
line source
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sysexits.h>
#include <fcntl.h>
#include <dirent.h>
#include <unistd.h>
#include <sys/stat.h>
/*
 *  * #define NDEBUG
 *   * */
#include <assert.h>

#include "../../audioDB_API.h"
#include "../test_utils_lib.h"

int main(int argc, char *argv[]) {
  char *dbname = "testdb";
  adb_t *adb;
  adb_insert_t *batch = 0;
  adb_status_t status;
  adb_query_t query = {0};
  adb_queryresult_t result;

  clean_remove_db(dbname);
  adb = audiodb_create("testdb", 0, 0, 0);
  if(!adb) {
    return 1;
  }

  maketestfile("testfeature01", (int[1]) {2}, (double[4]) {0,1,1,0}, 4);
  maketestfile("testfeature10", (int[1]) {2}, (double[4]) {1,0,0,1}, 4);

  batch = (adb_insert_t *) calloc(6, sizeof(adb_insert_t));
  if(!batch) {
    return 1;
  }
  batch[0].features = "testfeature01";
  batch[1].features = "testfeature01";
  batch[2].features = "testfeature10";
  batch[3].features = "testfeature10";
  batch[4].features = "testfeature01";
  batch[5].features = "testfeature10";
  
  audiodb_batchinsert(adb, batch, 6);

  if(audiodb_status(adb, &status)) {
    return 1;
  }
  if(status.numFiles != 2) {
    return 1;
  }

  if(audiodb_l2norm(adb)) {
    return 1;
  }

  maketestfile("testquery", (int [1]) {2}, (double[2]) {0, 0.5}, 2);
  return 14;
  /* can't do nsequence yet */
  /*
  query.querytype = "nsequence";
  query.sequencelength = "1";
  query.feature = "testquery";
  if(audiodb_query(adb, &query, &result)) {
    return 1;
  }
  if(result.sizeRlist != 2) {
    return 1;
  }
  if(testoneresult(&result, 0, "testfeature01" ...));
  return 104;
  */
}