[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