Mercurial > hg > audiodb
view xthresh.c @ 468:4dbd7917bf9e api-inversion
YAY!
audioDB::index_query_loop is now disentangled. Hardwired lsh_in_core to
true, and invented a new QID flag for !lsh_exact. All tests continue to
pass.
The plans now:
- extract the audiodb_query_spec() function from inside audioDB::query,
and move audioDB::query (and the timestamps function) to audioDB.cpp;
- write libtests/0036 and libtests/0037 in terms of audiodb_query_spec();
- rewrite all the other libtests in terms of audiodb_query_spec();
- delete audiodb_query() [ and maybe rename audiodb_query_spec(), I
dunno];
- implement example bindings (probably to Lisp, because that's what I
know best);
- see if anyone other than me can work out how the API works. If not,
provide documentation;
- revise API in the light of user feedback.
author | mas01cr |
---|---|
date | Wed, 31 Dec 2008 15:44:12 +0000 |
parents | 3be15407e814 |
children |
line wrap: on
line source
#include <gsl/gsl_sf.h> #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]) { if(argc != 4) { fprintf(stderr, "Wrong number of arguments: %d\n", argc); exit(1); } long int meanN = strtol(argv[1], NULL, 10); double d = strtod(argv[2], NULL); double sigma2 = strtod(argv[3], NULL); double logw = (2 / d) * gsl_sf_log(-gsl_sf_log(0.99)); double logxthresh = gsl_sf_log(sigma2) + logw - (2 / d) * gsl_sf_log(meanN) - gsl_sf_log(d/2) - (2 / d) * gsl_sf_log(2 / d) + (2 / d) * gsl_sf_lngamma(d / 2); printf("w: %f\n", exp(logw)); printf("x_thresh: %f\n", exp(logxthresh)); exit(0); }