Mercurial > hg > audiodb
changeset 253:d248a3ac699d
Fixed bug in TrackSequenceRadNNReporter report() method that overflowed when number of retrieved points < pointnn
author | mas01mc |
---|---|
date | Fri, 11 Apr 2008 13:01:31 +0000 |
parents | fe4dc39b2dd7 |
children | fe922b9d87f8 |
files | reporter.h |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/reporter.h Mon Mar 31 13:02:26 2008 +0000 +++ b/reporter.h Fri Apr 11 13:01:31 2008 +0000 @@ -3,6 +3,8 @@ #include <set> #include <functional> +#define MIN_ARG(a,b) a<b?a:b + typedef struct nnresult { unsigned int trackID; double dist; @@ -468,7 +470,7 @@ for(rit = v.rbegin(); rit < v.rend(); rit++) { r = *rit; std::cout << fileTable + r.trackID*O2_FILETABLESIZE << " " << r.count << std::endl; - for(int k=0; k < (int)pointNN; k++){ + for(int k=0; k < (int)MIN_ARG((unsigned)point_queues[r.trackID].size(),pointNN); k++){ NNresult rk = point_queues[r.trackID].top(); std::cout << rk.dist << " " << rk.qpos << " " << rk.spos << std::endl; point_queues[r.trackID].pop();