[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