[mlpack-svn] r17118 - mlpack/trunk/src/mlpack/methods/neighbor_search

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Mon Aug 25 23:40:02 EDT 2014


Author: rcurtin
Date: Mon Aug 25 23:40:02 2014
New Revision: 17118

Log:
Correctly handle SortPolicy abstraction.


Modified:
   mlpack/trunk/src/mlpack/methods/neighbor_search/neighbor_search_rules_impl.hpp

Modified: mlpack/trunk/src/mlpack/methods/neighbor_search/neighbor_search_rules_impl.hpp
==============================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/neighbor_search_rules_impl.hpp	(original)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/neighbor_search_rules_impl.hpp	Mon Aug 25 23:40:02 2014
@@ -355,17 +355,19 @@
 
   // Add triangle inequality adjustment to best distance.  It is possible this
   // could be tighter for some certain types of trees.
-  bestDistance += queryNode.FurthestPointDistance() +
-      queryNode.FurthestDescendantDistance();
+  bestDistance = SortPolicy::CombineWorst(bestDistance,
+      queryNode.FurthestPointDistance() +
+      queryNode.FurthestDescendantDistance());
 
   // Loop over children of the node, and use their cached information to
   // assemble bounds.
   for (size_t i = 0; i < queryNode.NumChildren(); ++i)
   {
     const double firstBound = queryNode.Child(i).Stat().FirstBound();
-    const double adjustedSecondBound = queryNode.Child(i).Stat().SecondBound() +
+    const double adjustedSecondBound = SortPolicy::CombineWorst(
+        queryNode.Child(i).Stat().SecondBound(),
         2 * (queryNode.FurthestDescendantDistance() -
-             queryNode.Child(i).FurthestDescendantDistance());
+             queryNode.Child(i).FurthestDescendantDistance()));
 
     if (SortPolicy::IsBetter(worstDistance, firstBound))
       worstDistance = firstBound;



More information about the mlpack-svn mailing list