[mlpack-git] master: Fix trees ordering. (65df1ea)

gitdub at mlpack.org gitdub at mlpack.org
Wed May 4 11:06:43 EDT 2016


Repository : https://github.com/mlpack/mlpack
On branch  : master
Link       : https://github.com/mlpack/mlpack/compare/4c8a8d1ccbc33916794fe0f6142fa5378ff8503d...93eb34cc4daf08cc331d1a22fccf44950b276daa

>---------------------------------------------------------------

commit 65df1ea29a700fff54e386acd76eeaa6cb85b0df
Author: Mikhail Lozhnikov <lozhnikovma at gmail.com>
Date:   Thu Apr 7 18:01:42 2016 +0300

    Fix trees ordering.


>---------------------------------------------------------------

65df1ea29a700fff54e386acd76eeaa6cb85b0df
 src/mlpack/methods/neighbor_search/allkfn_main.cpp |  4 +-
 src/mlpack/methods/neighbor_search/allknn_main.cpp |  4 +-
 src/mlpack/methods/neighbor_search/ns_model.hpp    |  2 +-
 .../methods/neighbor_search/ns_model_impl.hpp      | 72 +++++++++++-----------
 .../methods/range_search/range_search_main.cpp     |  4 +-
 src/mlpack/methods/range_search/rs_model.cpp       | 40 ++++++------
 src/mlpack/methods/range_search/rs_model.hpp       |  4 +-
 src/mlpack/methods/range_search/rs_model_impl.hpp  | 28 ++++-----
 8 files changed, 79 insertions(+), 79 deletions(-)

diff --git a/src/mlpack/methods/neighbor_search/allkfn_main.cpp b/src/mlpack/methods/neighbor_search/allkfn_main.cpp
index 975b23f..3902259 100644
--- a/src/mlpack/methods/neighbor_search/allkfn_main.cpp
+++ b/src/mlpack/methods/neighbor_search/allkfn_main.cpp
@@ -158,10 +158,10 @@ int main(int argc, char *argv[])
       tree = KFNModel::R_TREE;
     else if (treeType == "r-star")
       tree = KFNModel::R_STAR_TREE;
-    else if (treeType == "x")
-      tree = KFNModel::X_TREE;
     else if (treeType == "ball")
       tree = KFNModel::BALL_TREE;
+    else if (treeType == "x")
+      tree = KFNModel::X_TREE;
     else
       Log::Fatal << "Unknown tree type '" << treeType << "'; valid choices are "
           << "'kd', 'cover', 'r', 'r-star', 'x' and 'ball'." << endl;
diff --git a/src/mlpack/methods/neighbor_search/allknn_main.cpp b/src/mlpack/methods/neighbor_search/allknn_main.cpp
index 5440e26..1bc3996 100644
--- a/src/mlpack/methods/neighbor_search/allknn_main.cpp
+++ b/src/mlpack/methods/neighbor_search/allknn_main.cpp
@@ -162,10 +162,10 @@ int main(int argc, char *argv[])
       tree = KNNModel::R_TREE;
     else if (treeType == "r-star")
       tree = KNNModel::R_STAR_TREE;
-    else if (treeType == "x")
-      tree = KNNModel::X_TREE;
     else if (treeType == "ball")
       tree = KNNModel::BALL_TREE;
+    else if (treeType == "x")
+      tree = KNNModel::X_TREE;
     else
       Log::Fatal << "Unknown tree type '" << treeType << "'; valid choices are "
           << "'kd', 'cover', 'r', 'r-star', 'x' and 'ball'." << endl;
diff --git a/src/mlpack/methods/neighbor_search/ns_model.hpp b/src/mlpack/methods/neighbor_search/ns_model.hpp
index 2b1b1d7..3de4d12 100644
--- a/src/mlpack/methods/neighbor_search/ns_model.hpp
+++ b/src/mlpack/methods/neighbor_search/ns_model.hpp
@@ -75,8 +75,8 @@ class NSModel
   NSType<tree::StandardCoverTree>* coverTreeNS;
   NSType<tree::RTree>* rTreeNS;
   NSType<tree::RStarTree>* rStarTreeNS;
-  NSType<tree::XTree>* xTreeNS;
   NSType<tree::BallTree>* ballTreeNS;
+  NSType<tree::XTree>* xTreeNS;
 
  public:
   /**
diff --git a/src/mlpack/methods/neighbor_search/ns_model_impl.hpp b/src/mlpack/methods/neighbor_search/ns_model_impl.hpp
index 8155eda..2571967 100644
--- a/src/mlpack/methods/neighbor_search/ns_model_impl.hpp
+++ b/src/mlpack/methods/neighbor_search/ns_model_impl.hpp
@@ -28,8 +28,8 @@ NSModel<SortPolicy>::NSModel(int treeType, bool randomBasis) :
     coverTreeNS(NULL),
     rTreeNS(NULL),
     rStarTreeNS(NULL),
-    xTreeNS(NULL),
-    ballTreeNS(NULL)
+    ballTreeNS(NULL),
+    xTreeNS(NULL)
 {
   // Nothing to do.
 }
@@ -46,10 +46,10 @@ NSModel<SortPolicy>::~NSModel()
     delete rTreeNS;
   if (rStarTreeNS)
     delete rStarTreeNS;
-  if (xTreeNS)
-    delete xTreeNS;
   if (ballTreeNS)
     delete ballTreeNS;
+  if (xTreeNS)
+    delete xTreeNS;
 }
 
 //! Serialize the kNN model.
@@ -73,18 +73,18 @@ void NSModel<SortPolicy>::Serialize(Archive& ar,
       delete rTreeNS;
     if (rStarTreeNS)
       delete rStarTreeNS;
-    if (xTreeNS)
-      delete xTreeNS;
     if (ballTreeNS)
       delete ballTreeNS;
+    if (xTreeNS)
+      delete xTreeNS;
 
     // Set all the pointers to NULL.
     kdTreeNS = NULL;
     coverTreeNS = NULL;
     rTreeNS = NULL;
     rStarTreeNS = NULL;
-    xTreeNS = NULL;
     ballTreeNS = NULL;
+    xTreeNS = NULL;
   }
 
   // We'll only need to serialize one of the kNN objects, based on the type.
@@ -103,12 +103,12 @@ void NSModel<SortPolicy>::Serialize(Archive& ar,
     case R_STAR_TREE:
       ar & data::CreateNVP(rStarTreeNS, name);
       break;
-    case X_TREE:
-      ar & data::CreateNVP(xTreeNS, name);
-      break;
     case BALL_TREE:
       ar & data::CreateNVP(ballTreeNS, name);
       break;
+    case X_TREE:
+      ar & data::CreateNVP(xTreeNS, name);
+      break;
   }
 }
 
@@ -123,10 +123,10 @@ const arma::mat& NSModel<SortPolicy>::Dataset() const
     return rTreeNS->ReferenceSet();
   else if (rStarTreeNS)
     return rStarTreeNS->ReferenceSet();
-  else if (xTreeNS)
-    return xTreeNS->ReferenceSet();
   else if (ballTreeNS)
     return ballTreeNS->ReferenceSet();
+  else if (xTreeNS)
+    return xTreeNS->ReferenceSet();
 
   throw std::runtime_error("no neighbor search model initialized");
 }
@@ -143,10 +143,10 @@ bool NSModel<SortPolicy>::SingleMode() const
     return rTreeNS->SingleMode();
   else if (rStarTreeNS)
     return rStarTreeNS->SingleMode();
-  else if (xTreeNS)
-    return xTreeNS->SingleMode();
   else if (ballTreeNS)
     return ballTreeNS->SingleMode();
+  else if (xTreeNS)
+    return xTreeNS->SingleMode();
 
   throw std::runtime_error("no neighbor search model initialized");
 }
@@ -162,10 +162,10 @@ bool& NSModel<SortPolicy>::SingleMode()
     return rTreeNS->SingleMode();
   else if (rStarTreeNS)
     return rStarTreeNS->SingleMode();
-  else if (xTreeNS)
-    return xTreeNS->SingleMode();
   else if (ballTreeNS)
     return ballTreeNS->SingleMode();
+  else if (xTreeNS)
+    return xTreeNS->SingleMode();
 
   throw std::runtime_error("no neighbor search model initialized");
 }
@@ -181,10 +181,10 @@ bool NSModel<SortPolicy>::Naive() const
     return rTreeNS->Naive();
   else if (rStarTreeNS)
     return rStarTreeNS->Naive();
-  else if (xTreeNS)
-    return xTreeNS->Naive();
   else if (ballTreeNS)
     return ballTreeNS->Naive();
+  else if (xTreeNS)
+    return xTreeNS->Naive();
 
   throw std::runtime_error("no neighbor search model initialized");
 }
@@ -200,10 +200,10 @@ bool& NSModel<SortPolicy>::Naive()
     return rTreeNS->Naive();
   else if (rStarTreeNS)
     return rStarTreeNS->Naive();
-  else if (xTreeNS)
-    return xTreeNS->Naive();
   else if (ballTreeNS)
     return ballTreeNS->Naive();
+  else if (xTreeNS)
+    return xTreeNS->Naive();
 
   throw std::runtime_error("no neighbor search model initialized");
 }
@@ -256,10 +256,10 @@ void NSModel<SortPolicy>::BuildModel(arma::mat&& referenceSet,
     delete rTreeNS;
   if (rStarTreeNS)
     delete rStarTreeNS;
-  if (xTreeNS)
-    delete xTreeNS;
   if (ballTreeNS)
     delete ballTreeNS;
+  if (xTreeNS)
+    delete xTreeNS;
 
   // Do we need to modify the reference set?
   if (randomBasis)
@@ -309,11 +309,6 @@ void NSModel<SortPolicy>::BuildModel(arma::mat&& referenceSet,
       rStarTreeNS = new NSType<tree::RStarTree>(std::move(referenceSet), naive,
           singleMode);
       break;
-    case X_TREE:
-      // If necessary, build the X tree.
-      xTreeNS = new NSType<tree::XTree>(std::move(referenceSet), naive,
-          singleMode);
-      break;
     case BALL_TREE:
       // If necessary, build the ball tree.
       if (naive)
@@ -335,6 +330,11 @@ void NSModel<SortPolicy>::BuildModel(arma::mat&& referenceSet,
       }
 
       break;
+    case X_TREE:
+      // If necessary, build the X tree.
+      xTreeNS = new NSType<tree::XTree>(std::move(referenceSet), naive,
+          singleMode);
+      break;
   }
 
   if (!naive)
@@ -408,10 +408,6 @@ void NSModel<SortPolicy>::Search(arma::mat&& querySet,
       // No mapping necessary.
       rStarTreeNS->Search(querySet, k, neighbors, distances);
       break;
-    case X_TREE:
-      // No mapping necessary.
-      xTreeNS->Search(querySet, k, neighbors, distances);
-      break;
     case BALL_TREE:
       if (!ballTreeNS->Naive() && !ballTreeNS->SingleMode())
       {
@@ -444,6 +440,10 @@ void NSModel<SortPolicy>::Search(arma::mat&& querySet,
       }
 
       break;
+    case X_TREE:
+      // No mapping necessary.
+      xTreeNS->Search(querySet, k, neighbors, distances);
+      break;
   }
 }
 
@@ -475,12 +475,12 @@ void NSModel<SortPolicy>::Search(const size_t k,
     case R_STAR_TREE:
       rStarTreeNS->Search(k, neighbors, distances);
       break;
-    case X_TREE:
-      xTreeNS->Search(k, neighbors, distances);
-      break;
     case BALL_TREE:
       ballTreeNS->Search(k, neighbors, distances);
       break;
+    case X_TREE:
+      xTreeNS->Search(k, neighbors, distances);
+      break;
   }
 }
 
@@ -498,10 +498,10 @@ std::string NSModel<SortPolicy>::TreeName() const
       return "R tree";
     case R_STAR_TREE:
       return "R* tree";
-    case X_TREE:
-      return "X tree";
     case BALL_TREE:
       return "ball tree";
+    case X_TREE:
+      return "X tree";
     default:
       return "unknown tree";
   }
diff --git a/src/mlpack/methods/range_search/range_search_main.cpp b/src/mlpack/methods/range_search/range_search_main.cpp
index fe870c4..48fd2ed 100644
--- a/src/mlpack/methods/range_search/range_search_main.cpp
+++ b/src/mlpack/methods/range_search/range_search_main.cpp
@@ -169,10 +169,10 @@ int main(int argc, char *argv[])
       tree = RSModel::R_TREE;
     else if (treeType == "r-star")
       tree = RSModel::R_STAR_TREE;
-    else if (treeType == "x")
-      tree = RSModel::X_TREE;
     else if (treeType == "ball")
       tree = RSModel::BALL_TREE;
+    else if (treeType == "x")
+      tree = RSModel::X_TREE;
     else
       Log::Fatal << "Unknown tree type '" << treeType << "; valid choices are "
           << "'kd', 'cover', 'r', 'r-star', 'x' and 'ball'." << endl;
diff --git a/src/mlpack/methods/range_search/rs_model.cpp b/src/mlpack/methods/range_search/rs_model.cpp
index 27f05ad..7ffc97d 100644
--- a/src/mlpack/methods/range_search/rs_model.cpp
+++ b/src/mlpack/methods/range_search/rs_model.cpp
@@ -21,8 +21,8 @@ RSModel::RSModel(int treeType, bool randomBasis) :
     coverTreeRS(NULL),
     rTreeRS(NULL),
     rStarTreeRS(NULL),
-    xTreeRS(NULL),
-    ballTreeRS(NULL)
+    ballTreeRS(NULL),
+    xTreeRS(NULL)
 {
   // Nothing to do.
 }
@@ -96,11 +96,6 @@ void RSModel::BuildModel(arma::mat&& referenceSet,
           singleMode);
       break;
 
-    case X_TREE:
-      xTreeRS = new RSType<tree::XTree>(move(referenceSet), naive,
-          singleMode);
-      break;
-
     case BALL_TREE:
       // If necessary, build the ball tree.
       if (naive)
@@ -122,6 +117,11 @@ void RSModel::BuildModel(arma::mat&& referenceSet,
       }
 
       break;
+
+    case X_TREE:
+      xTreeRS = new RSType<tree::XTree>(move(referenceSet), naive,
+          singleMode);
+      break;
   }
 
   if (!naive)
@@ -196,10 +196,6 @@ void RSModel::Search(arma::mat&& querySet,
       rStarTreeRS->Search(querySet, range, neighbors, distances);
       break;
 
-    case X_TREE:
-      xTreeRS->Search(querySet, range, neighbors, distances);
-      break;
-
     case BALL_TREE:
       if (!ballTreeRS->Naive() && !ballTreeRS->SingleMode())
       {
@@ -231,6 +227,10 @@ void RSModel::Search(arma::mat&& querySet,
         ballTreeRS->Search(querySet, range, neighbors, distances);
       }
       break;
+
+    case X_TREE:
+      xTreeRS->Search(querySet, range, neighbors, distances);
+      break;
   }
 }
 
@@ -266,13 +266,13 @@ void RSModel::Search(const math::Range& range,
       rStarTreeRS->Search(range, neighbors, distances);
       break;
 
-    case X_TREE:
-      xTreeRS->Search(range, neighbors, distances);
-      break;
-
     case BALL_TREE:
       ballTreeRS->Search(range, neighbors, distances);
       break;
+
+    case X_TREE:
+      xTreeRS->Search(range, neighbors, distances);
+      break;
   }
 }
 
@@ -289,10 +289,10 @@ std::string RSModel::TreeName() const
       return "R tree";
     case R_STAR_TREE:
       return "R* tree";
-    case X_TREE:
-      return "X tree";
     case BALL_TREE:
       return "ball tree";
+    case X_TREE:
+      return "X tree";
     default:
       return "unknown tree";
   }
@@ -309,15 +309,15 @@ void RSModel::CleanMemory()
     delete rTreeRS;
   if (rStarTreeRS)
     delete rStarTreeRS;
-  if (xTreeRS)
-    delete xTreeRS;
   if (ballTreeRS)
     delete ballTreeRS;
+  if (xTreeRS)
+    delete xTreeRS;
 
   kdTreeRS = NULL;
   coverTreeRS = NULL;
   rTreeRS = NULL;
   rStarTreeRS = NULL;
-  xTreeRS = NULL;
   ballTreeRS = NULL;
+  xTreeRS = NULL;
 }
diff --git a/src/mlpack/methods/range_search/rs_model.hpp b/src/mlpack/methods/range_search/rs_model.hpp
index e88f6ea..80d600e 100644
--- a/src/mlpack/methods/range_search/rs_model.hpp
+++ b/src/mlpack/methods/range_search/rs_model.hpp
@@ -56,10 +56,10 @@ class RSModel
   RSType<tree::RTree>* rTreeRS;
   //! R* tree based range search object (NULL if not in use).
   RSType<tree::RStarTree>* rStarTreeRS;
-  //! X tree based range search object (NULL if not in use).
-  RSType<tree::XTree>* xTreeRS;
   //! Ball tree based range search object (NULL if not in use).
   RSType<tree::BallTree>* ballTreeRS;
+  //! X tree based range search object (NULL if not in use).
+  RSType<tree::XTree>* xTreeRS;
 
  public:
   /**
diff --git a/src/mlpack/methods/range_search/rs_model_impl.hpp b/src/mlpack/methods/range_search/rs_model_impl.hpp
index 77a8068..ed1087e 100644
--- a/src/mlpack/methods/range_search/rs_model_impl.hpp
+++ b/src/mlpack/methods/range_search/rs_model_impl.hpp
@@ -46,13 +46,13 @@ void RSModel::Serialize(Archive& ar, const unsigned int /* version */)
       ar & CreateNVP(rStarTreeRS, "range_search_model");
       break;
 
-    case X_TREE:
-      ar & CreateNVP(xTreeRS, "range_search_model");
-      break;
-
     case BALL_TREE:
       ar & CreateNVP(ballTreeRS, "range_search_model");
       break;
+
+    case X_TREE:
+      ar & CreateNVP(xTreeRS, "range_search_model");
+      break;
   }
 }
 
@@ -66,10 +66,10 @@ inline const arma::mat& RSModel::Dataset() const
     return rTreeRS->ReferenceSet();
   else if (rStarTreeRS)
     return rStarTreeRS->ReferenceSet();
-  else if (xTreeRS)
-    return xTreeRS->ReferenceSet();
   else if (ballTreeRS)
     return ballTreeRS->ReferenceSet();
+  else if (xTreeRS)
+    return xTreeRS->ReferenceSet();
 
   throw std::runtime_error("no range search model initialized");
 }
@@ -84,10 +84,10 @@ inline bool RSModel::SingleMode() const
     return rTreeRS->SingleMode();
   else if (rStarTreeRS)
     return rStarTreeRS->SingleMode();
-  else if (xTreeRS)
-    return xTreeRS->SingleMode();
   else if (ballTreeRS)
     return ballTreeRS->SingleMode();
+  else if (xTreeRS)
+    return xTreeRS->SingleMode();
 
   throw std::runtime_error("no range search model initialized");
 }
@@ -102,10 +102,10 @@ inline bool& RSModel::SingleMode()
     return rTreeRS->SingleMode();
   else if (rStarTreeRS)
     return rStarTreeRS->SingleMode();
-  else if (xTreeRS)
-    return xTreeRS->SingleMode();
   else if (ballTreeRS)
     return ballTreeRS->SingleMode();
+  else if (xTreeRS)
+    return xTreeRS->SingleMode();
 
   throw std::runtime_error("no range search model initialized");
 }
@@ -120,10 +120,10 @@ inline bool RSModel::Naive() const
     return rTreeRS->Naive();
   else if (rStarTreeRS)
     return rStarTreeRS->Naive();
-  else if (xTreeRS)
-    return xTreeRS->Naive();
   else if (ballTreeRS)
     return ballTreeRS->Naive();
+  else if (xTreeRS)
+    return xTreeRS->Naive();
 
   throw std::runtime_error("no range search model initialized");
 }
@@ -138,10 +138,10 @@ inline bool& RSModel::Naive()
     return rTreeRS->Naive();
   else if (rStarTreeRS)
     return rStarTreeRS->Naive();
-  else if (xTreeRS)
-    return xTreeRS->Naive();
   else if (ballTreeRS)
     return ballTreeRS->Naive();
+  else if (xTreeRS)
+    return xTreeRS->Naive();
 
   throw std::runtime_error("no range search model initialized");
 }




More information about the mlpack-git mailing list