[mlpack-git] master: Define SearchMode outside NeighborSearch class, to it can be used by NSModel. (a9e24a9)
gitdub at mlpack.org
gitdub at mlpack.org
Sat Aug 20 14:56:07 EDT 2016
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/3274b05fcc545c3b36f783316fea2e22f79c3d03...1c77230c7d3b9c45fb102cd3c632d9c7248e085e
>---------------------------------------------------------------
commit a9e24a9d0c0cefb448d4b23e606fa31f7b236c9f
Author: MarcosPividori <marcos.pividori at gmail.com>
Date: Tue Aug 16 05:03:49 2016 -0300
Define SearchMode outside NeighborSearch class, to it can be used by NSModel.
>---------------------------------------------------------------
a9e24a9d0c0cefb448d4b23e606fa31f7b236c9f
.../methods/neighbor_search/neighbor_search.hpp | 32 ++++++++++++----------
.../neighbor_search/neighbor_search_impl.hpp | 10 +++----
2 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/src/mlpack/methods/neighbor_search/neighbor_search.hpp b/src/mlpack/methods/neighbor_search/neighbor_search.hpp
index beac1bf..6c799f6 100644
--- a/src/mlpack/methods/neighbor_search/neighbor_search.hpp
+++ b/src/mlpack/methods/neighbor_search/neighbor_search.hpp
@@ -30,6 +30,15 @@ namespace neighbor /** Neighbor-search routines. These include
template<typename SortPolicy>
class TrainVisitor;
+//! NeighborSearchMode represents the different neighbor search modes available.
+enum NeighborSearchMode
+{
+ NAIVE_MODE,
+ SINGLE_TREE_MODE,
+ DUAL_TREE_MODE,
+ GREEDY_SINGLE_TREE_MODE
+};
+
/**
* The NeighborSearch class is a template class for performing distance-based
* neighbor searches. It takes a query dataset and a reference dataset (or just
@@ -73,15 +82,6 @@ class NeighborSearch
//! Convenience typedef.
typedef TreeType<MetricType, NeighborSearchStat<SortPolicy>, MatType> Tree;
- //! SearchMode represents the different neighbor search modes available.
- enum SearchMode
- {
- NAIVE_MODE,
- SINGLE_TREE_MODE,
- DUAL_TREE_MODE,
- GREEDY_SINGLE_TREE_MODE
- };
-
/**
* Initialize the NeighborSearch object, passing a reference dataset (this is
* the dataset which is searched). Optionally, perform the computation in
@@ -100,7 +100,7 @@ class NeighborSearch
* @param metric An optional instance of the MetricType class.
*/
NeighborSearch(const MatType& referenceSet,
- const SearchMode mode = DUAL_TREE_MODE,
+ const NeighborSearchMode mode = DUAL_TREE_MODE,
const double epsilon = 0,
const MetricType metric = MetricType());
@@ -122,7 +122,7 @@ class NeighborSearch
* @param metric An optional instance of the MetricType class.
*/
NeighborSearch(MatType&& referenceSet,
- const SearchMode mode = DUAL_TREE_MODE,
+ const NeighborSearchMode mode = DUAL_TREE_MODE,
const double epsilon = 0,
const MetricType metric = MetricType());
@@ -151,7 +151,7 @@ class NeighborSearch
* @param metric Instantiated distance metric.
*/
NeighborSearch(Tree* referenceTree,
- const SearchMode mode = DUAL_TREE_MODE,
+ const NeighborSearchMode mode = DUAL_TREE_MODE,
const double epsilon = 0,
const MetricType metric = MetricType());
@@ -164,7 +164,7 @@ class NeighborSearch
* @param epsilon Relative approximate error (non-negative).
* @param metric Instantiated metric.
*/
- NeighborSearch(const SearchMode mode = DUAL_TREE_MODE,
+ NeighborSearch(const NeighborSearchMode mode = DUAL_TREE_MODE,
const double epsilon = 0,
const MetricType metric = MetricType());
@@ -412,8 +412,10 @@ class NeighborSearch
//! Return the number of node combination scores during the last search.
size_t Scores() const { return scores; }
+ //! Access the search mode.
+ NeighborSearchMode SearchMode() const { return searchMode; }
//! Modify the search mode.
- void SetSearchMode(const SearchMode mode);
+ void SetSearchMode(const NeighborSearchMode mode);
//! Access whether or not search is done in naive linear scan mode.
bool Naive() const { return naive; }
@@ -453,7 +455,7 @@ class NeighborSearch
bool setOwner;
//! Indicates the neighbor search mode.
- SearchMode searchMode;
+ NeighborSearchMode searchMode;
//! Indicates if O(n^2) naive search is being used.
bool naive;
//! Indicates if single-tree search is being used (as opposed to dual-tree).
diff --git a/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp b/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp
index 7bb1589..55e99cd 100644
--- a/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp
+++ b/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp
@@ -75,7 +75,7 @@ template<typename SortPolicy,
template<typename> class SingleTreeTraversalType>
NeighborSearch<SortPolicy, MetricType, MatType, TreeType, DualTreeTraversalType,
SingleTreeTraversalType>::NeighborSearch(const MatType& referenceSetIn,
- const SearchMode mode,
+ const NeighborSearchMode mode,
const double epsilon,
const MetricType metric) :
referenceTree(mode == NAIVE_MODE ? NULL :
@@ -106,7 +106,7 @@ template<typename SortPolicy,
template<typename> class SingleTreeTraversalType>
NeighborSearch<SortPolicy, MetricType, MatType, TreeType, DualTreeTraversalType,
SingleTreeTraversalType>::NeighborSearch(MatType&& referenceSetIn,
- const SearchMode mode,
+ const NeighborSearchMode mode,
const double epsilon,
const MetricType metric) :
referenceTree(mode == NAIVE_MODE ? NULL :
@@ -138,7 +138,7 @@ template<typename SortPolicy,
template<typename> class SingleTreeTraversalType>
NeighborSearch<SortPolicy, MetricType, MatType, TreeType, DualTreeTraversalType,
SingleTreeTraversalType>::NeighborSearch(Tree* referenceTree,
- const SearchMode mode,
+ const NeighborSearchMode mode,
const double epsilon,
const MetricType metric) :
referenceTree(referenceTree),
@@ -168,7 +168,7 @@ template<typename SortPolicy,
template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
NeighborSearch<SortPolicy, MetricType, MatType, TreeType, DualTreeTraversalType,
-SingleTreeTraversalType>::NeighborSearch(const SearchMode mode,
+SingleTreeTraversalType>::NeighborSearch(const NeighborSearchMode mode,
const double epsilon,
const MetricType metric) :
referenceTree(NULL),
@@ -1129,7 +1129,7 @@ template<typename SortPolicy,
template<typename> class SingleTreeTraversalType>
void NeighborSearch<SortPolicy, MetricType, MatType, TreeType,
DualTreeTraversalType, SingleTreeTraversalType>::SetSearchMode(
- const SearchMode mode)
+ const NeighborSearchMode mode)
{
searchMode = mode;
switch (mode)
More information about the mlpack-git
mailing list