[mlpack-svn] r16225 - mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies
fastlab-svn at coffeetalk-1.cc.gatech.edu
fastlab-svn at coffeetalk-1.cc.gatech.edu
Thu Feb 6 15:16:28 EST 2014
Author: rcurtin
Date: Thu Feb 6 15:16:28 2014
New Revision: 16225
Log:
Minor changes to SortDistance().
Modified:
mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/furthest_neighbor_sort.cpp
mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/furthest_neighbor_sort.hpp
mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/nearest_neighbor_sort.cpp
mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/nearest_neighbor_sort.hpp
Modified: mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/furthest_neighbor_sort.cpp
==============================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/furthest_neighbor_sort.cpp (original)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/furthest_neighbor_sort.cpp Thu Feb 6 15:16:28 2014
@@ -9,6 +9,7 @@
using namespace mlpack::neighbor;
size_t FurthestNeighborSort::SortDistance(const arma::vec& list,
+ const arma::Col<size_t>& indices,
double newDistance)
{
// The first element in the list is the nearest neighbor. We only want to
@@ -17,9 +18,9 @@
return (size_t() - 1); // Do not insert.
// Search from the beginning. This may not be the best way.
- for (size_t i = 0; i < list.n_elem; i++)
- if (newDistance >= list[i])
- return i;
+ for (size_t i = 0; i < list.n_elem; i++)
+ if (newDistance >= list[i] || indices[i] == (size_t() - 1))
+ return i;
// Control should never reach here.
return (size_t() - 1);
Modified: mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/furthest_neighbor_sort.hpp
==============================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/furthest_neighbor_sort.hpp (original)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/furthest_neighbor_sort.hpp Thu Feb 6 15:16:28 2014
@@ -36,7 +36,9 @@
* @return size_t containing the position to insert into, or (size_t() - 1)
* if the new distance should not be inserted.
*/
- static size_t SortDistance(const arma::vec& list, double newDistance);
+ static size_t SortDistance(const arma::vec& list,
+ const arma::Col<size_t>& indices,
+ double newDistance);
/**
* Return whether or not value is "better" than ref. In this case, that means
Modified: mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/nearest_neighbor_sort.cpp
==============================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/nearest_neighbor_sort.cpp (original)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/nearest_neighbor_sort.cpp Thu Feb 6 15:16:28 2014
@@ -9,6 +9,7 @@
using namespace mlpack::neighbor;
size_t NearestNeighborSort::SortDistance(const arma::vec& list,
+ const arma::Col<size_t>& indices,
double newDistance)
{
// The first element in the list is the nearest neighbor. We only want to
@@ -18,8 +19,8 @@
// Search from the beginning. This may not be the best way.
for (size_t i = 0; i < list.n_elem; i++)
- if (newDistance <= list[i])
- return i;
+ if (newDistance <= list[i] || indices[i] == (size_t() - 1))
+ return i;
// Control should never reach here.
return (size_t() - 1);
Modified: mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/nearest_neighbor_sort.hpp
==============================================================================
--- mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/nearest_neighbor_sort.hpp (original)
+++ mlpack/trunk/src/mlpack/methods/neighbor_search/sort_policies/nearest_neighbor_sort.hpp Thu Feb 6 15:16:28 2014
@@ -40,7 +40,9 @@
* @return size_t containing the position to insert into, or (size_t() - 1)
* if the new distance should not be inserted.
*/
- static size_t SortDistance(const arma::vec& list, double newDistance);
+ static size_t SortDistance(const arma::vec& list,
+ const arma::Col<size_t>& indices,
+ double newDistance);
/**
* Return whether or not value is "better" than ref. In this case, that means
More information about the mlpack-svn
mailing list