[mlpack-svn] r13348 - mlpack/trunk/src/mlpack/core/tree/binary_space_tree

fastlab-svn at coffeetalk-1.cc.gatech.edu fastlab-svn at coffeetalk-1.cc.gatech.edu
Mon Aug 6 16:37:01 EDT 2012


Author: rcurtin
Date: 2012-08-06 16:37:01 -0400 (Mon, 06 Aug 2012)
New Revision: 13348

Modified:
   mlpack/trunk/src/mlpack/core/tree/binary_space_tree/dual_tree_traverser_impl.hpp
Log:
Check if we can prune individual points before performing computations.


Modified: mlpack/trunk/src/mlpack/core/tree/binary_space_tree/dual_tree_traverser_impl.hpp
===================================================================
--- mlpack/trunk/src/mlpack/core/tree/binary_space_tree/dual_tree_traverser_impl.hpp	2012-08-06 20:36:20 UTC (rev 13347)
+++ mlpack/trunk/src/mlpack/core/tree/binary_space_tree/dual_tree_traverser_impl.hpp	2012-08-06 20:37:01 UTC (rev 13348)
@@ -35,8 +35,17 @@
   {
     // Loop through each of the points in each node.
     for (size_t query = queryNode.Begin(); query < queryNode.End(); ++query)
-      for (size_t ref = referenceNode.Begin(); ref < referenceNode.End(); ++ref)
+    {
+      // See if we need to investigate this point (this function should be
+      // implemented for the single-tree recursion too).
+      const double score = rule.Score(query, referenceNode);
+
+      if (score == DBL_MAX)
+        continue; // We can't improve this particular point. 
+
+      for (size_t ref = referenceNode.Begin(); ref < referenceNode.End(); ++ref)  
         rule.BaseCase(query, ref);
+    }
   }
   else if ((!queryNode.IsLeaf()) && referenceNode.IsLeaf())
   {




More information about the mlpack-svn mailing list