# HG changeset patch # User mas01cr # Date 1197642375 0 # Node ID 5ac5c23de715208b996bb28da1eb1ad4bb561a67 # Parent 2a88ae80e4a9474efc4ea0867c4abbb7dfbacb84 Don't let nans into reporters. diff -r 2a88ae80e4a9 -r 5ac5c23de715 reporter.h --- 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 void pointQueryReporter::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 void trackAveragingReporter::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(); + } } }