Mercurial > hg > audiodb
comparison libtests/test_utils_lib.h @ 493:1950d76be128 api-inversion
Even more audiodb_query() deletion
Make result_present_or_fail() be a little bit friendlier when comparing
distances.
author | mas01cr |
---|---|
date | Sat, 10 Jan 2009 15:33:11 +0000 |
parents | 4cb6c611f812 |
children | c291e9201a3c |
comparison
equal
deleted
inserted
replaced
492:f6b126b018d8 | 493:1950d76be128 |
---|---|
87 fflush(myfile); | 87 fflush(myfile); |
88 fclose(myfile); | 88 fclose(myfile); |
89 | 89 |
90 } | 90 } |
91 | 91 |
92 int close_enough(double a, double b, double epsilon) { | |
93 return (fabs(a-b) < epsilon); | |
94 } | |
95 | |
92 int result_position(adb_query_results_t *r, const char *key, float dist, uint32_t qpos, uint32_t ipos) { | 96 int result_position(adb_query_results_t *r, const char *key, float dist, uint32_t qpos, uint32_t ipos) { |
93 for(uint32_t k = 0; k < r->nresults; k++) { | 97 for(uint32_t k = 0; k < r->nresults; k++) { |
94 adb_result_t result = r->results[k]; | 98 adb_result_t result = r->results[k]; |
95 if((dist == result.dist) && (qpos == result.qpos) && | 99 if(close_enough(dist, result.dist, 1e-4) && (qpos == result.qpos) && |
96 (ipos == result.ipos) && !(strcmp(key, result.key))) { | 100 (ipos == result.ipos) && !(strcmp(key, result.key))) { |
97 return k; | 101 return k; |
98 } | 102 } |
99 } | 103 } |
100 return -1; | 104 return -1; |