Mercurial > hg > audiodb
changeset 242:5ac5c23de715
Don't let nans into reporters.
author | mas01cr |
---|---|
date | Fri, 14 Dec 2007 14:26:15 +0000 |
parents | 2a88ae80e4a9 |
children | 8ad1b52385f0 |
files | reporter.h |
diffstat | 1 files changed, 20 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/reporter.h Fri Dec 14 12:51:25 2007 +0000 +++ b/reporter.h Fri Dec 14 14:26:15 2007 +0000 @@ -61,14 +61,16 @@ } template <class T> void pointQueryReporter<T>::add_point(unsigned int trackID, unsigned int qpos, unsigned int spos, double dist) { - NNresult r; - r.trackID = trackID; - r.qpos = qpos; - r.spos = spos; - r.dist = dist; - queue->push(r); - if(queue->size() > pointNN) { - queue->pop(); + if (!isnan(dist)) { + NNresult r; + r.trackID = trackID; + r.qpos = qpos; + r.spos = spos; + r.dist = dist; + queue->push(r); + if(queue->size() > pointNN) { + queue->pop(); + } } } @@ -133,14 +135,16 @@ } template <class T> void trackAveragingReporter<T>::add_point(unsigned int trackID, unsigned int qpos, unsigned int spos, double dist) { - NNresult r; - r.trackID = trackID; - r.qpos = qpos; - r.spos = spos; - r.dist = dist; - queues[trackID].push(r); - if(queues[trackID].size() > pointNN) { - queues[trackID].pop(); + if (!isnan(dist)) { + NNresult r; + r.trackID = trackID; + r.qpos = qpos; + r.spos = spos; + r.dist = dist; + queues[trackID].push(r); + if(queues[trackID].size() > pointNN) { + queues[trackID].pop(); + } } }