[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