[mlpack-git] master: Update template name. (ae84513)
gitdub at mlpack.org
gitdub at mlpack.org
Thu Aug 18 10:56:06 EDT 2016
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/0f4b25acd6aaa14294c044874ba6cc0751712baa...0a19d07bd39e6223991976474bc79671ba8aa0f0
>---------------------------------------------------------------
commit ae84513ffb748760abfbf7866d539ddd883ba1d8
Author: MarcosPividori <marcos.pividori at gmail.com>
Date: Thu Aug 18 11:56:06 2016 -0300
Update template name.
>---------------------------------------------------------------
ae84513ffb748760abfbf7866d539ddd883ba1d8
.../methods/neighbor_search/neighbor_search.hpp | 8 +-
.../neighbor_search/neighbor_search_impl.hpp | 111 +++++++++++----------
2 files changed, 64 insertions(+), 55 deletions(-)
diff --git a/src/mlpack/methods/neighbor_search/neighbor_search.hpp b/src/mlpack/methods/neighbor_search/neighbor_search.hpp
index 71e064c..1c2cace 100644
--- a/src/mlpack/methods/neighbor_search/neighbor_search.hpp
+++ b/src/mlpack/methods/neighbor_search/neighbor_search.hpp
@@ -48,8 +48,10 @@ class TrainVisitor;
* @tparam MetricType The metric to use for computation.
* @tparam MatType The type of data matrix.
* @tparam TreeType The tree type to use; must adhere to the TreeType API.
- * @tparam TraversalType The type of traversal to use (defaults to the tree's
- * default traverser).
+ * @tparam DualTreeTraversalType The type of dual tree traversal to use
+ * (defaults to the tree's default traverser).
+ * @tparam SingleTreeTraversalType The type of single tree traversal to use
+ * (defaults to the tree's default traverser).
*/
template<typename SortPolicy = NearestNeighborSort,
typename MetricType = mlpack::metric::EuclideanDistance,
@@ -57,7 +59,7 @@ template<typename SortPolicy = NearestNeighborSort,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType = tree::KDTree,
- template<typename RuleType> class TraversalType =
+ template<typename RuleType> class DualTreeTraversalType =
TreeType<MetricType,
NeighborSearchStat<SortPolicy>,
MatType>::template DualTreeTraverser,
diff --git a/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp b/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp
index 3cbeaed..d95a992 100644
--- a/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp
+++ b/src/mlpack/methods/neighbor_search/neighbor_search_impl.hpp
@@ -71,9 +71,9 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
+NeighborSearch<SortPolicy, MetricType, MatType, TreeType, DualTreeTraversalType,
SingleTreeTraversalType>::NeighborSearch(const MatType& referenceSetIn,
const bool naive,
const bool singleMode,
@@ -103,9 +103,9 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
+NeighborSearch<SortPolicy, MetricType, MatType, TreeType, DualTreeTraversalType,
SingleTreeTraversalType>::NeighborSearch(MatType&& referenceSetIn,
const bool naive,
const bool singleMode,
@@ -137,9 +137,9 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
+NeighborSearch<SortPolicy, MetricType, MatType, TreeType, DualTreeTraversalType,
SingleTreeTraversalType>::NeighborSearch(Tree* referenceTree,
const bool singleMode,
const double epsilon,
@@ -167,9 +167,9 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
+NeighborSearch<SortPolicy, MetricType, MatType, TreeType, DualTreeTraversalType,
SingleTreeTraversalType>::NeighborSearch(const bool naive,
const bool singleMode,
const double epsilon,
@@ -204,9 +204,9 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
+NeighborSearch<SortPolicy, MetricType, MatType, TreeType, DualTreeTraversalType,
SingleTreeTraversalType>::~NeighborSearch()
{
if (treeOwner && referenceTree)
@@ -221,10 +221,11 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-void NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
-SingleTreeTraversalType>::Train(const MatType& referenceSet)
+void NeighborSearch<SortPolicy, MetricType, MatType, TreeType,
+DualTreeTraversalType, SingleTreeTraversalType>::Train(
+ const MatType& referenceSet)
{
// Clean up the old tree, if we built one.
if (treeOwner && referenceTree)
@@ -259,10 +260,10 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-void NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
-SingleTreeTraversalType>::Train(MatType&& referenceSetIn)
+void NeighborSearch<SortPolicy, MetricType, MatType, TreeType,
+DualTreeTraversalType, SingleTreeTraversalType>::Train(MatType&& referenceSetIn)
{
// Clean up the old tree, if we built one.
if (treeOwner && referenceTree)
@@ -302,10 +303,10 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-void NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
-SingleTreeTraversalType>::Train(Tree* referenceTree)
+void NeighborSearch<SortPolicy, MetricType, MatType, TreeType,
+DualTreeTraversalType, SingleTreeTraversalType>::Train(Tree* referenceTree)
{
if (naive)
throw std::invalid_argument("cannot train on given reference tree when "
@@ -332,13 +333,14 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-void NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
-SingleTreeTraversalType>::Search(const MatType& querySet,
- const size_t k,
- arma::Mat<size_t>& neighbors,
- arma::mat& distances)
+void NeighborSearch<SortPolicy, MetricType, MatType, TreeType,
+DualTreeTraversalType, SingleTreeTraversalType>::Search(
+ const MatType& querySet,
+ const size_t k,
+ arma::Mat<size_t>& neighbors,
+ arma::mat& distances)
{
if (k > referenceSet->n_cols)
{
@@ -430,7 +432,7 @@ SingleTreeTraversalType>::Search(const MatType& querySet,
RuleType rules(*referenceSet, queryTree->Dataset(), k, metric, epsilon);
// Create the traverser.
- TraversalType<RuleType> traverser(rules);
+ DualTreeTraversalType<RuleType> traverser(rules);
traverser.Traverse(*queryTree, *referenceTree);
@@ -515,14 +517,15 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-void NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
-SingleTreeTraversalType>::Search(Tree* queryTree,
- const size_t k,
- arma::Mat<size_t>& neighbors,
- arma::mat& distances,
- bool sameSet)
+void NeighborSearch<SortPolicy, MetricType, MatType, TreeType,
+DualTreeTraversalType, SingleTreeTraversalType>::Search(
+ Tree* queryTree,
+ const size_t k,
+ arma::Mat<size_t>& neighbors,
+ arma::mat& distances,
+ bool sameSet)
{
if (k > referenceSet->n_cols)
{
@@ -559,7 +562,7 @@ SingleTreeTraversalType>::Search(Tree* queryTree,
RuleType rules(*referenceSet, querySet, k, metric, epsilon, sameSet);
// Create the traverser.
- TraversalType<RuleType> traverser(rules);
+ DualTreeTraversalType<RuleType> traverser(rules);
traverser.Traverse(*queryTree, *referenceTree);
scores += rules.Scores();
@@ -597,12 +600,13 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-void NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
-SingleTreeTraversalType>::Search(const size_t k,
- arma::Mat<size_t>& neighbors,
- arma::mat& distances)
+void NeighborSearch<SortPolicy, MetricType, MatType, TreeType,
+DualTreeTraversalType, SingleTreeTraversalType>::Search(
+ const size_t k,
+ arma::Mat<size_t>& neighbors,
+ arma::mat& distances)
{
if (k > referenceSet->n_cols)
{
@@ -685,7 +689,7 @@ SingleTreeTraversalType>::Search(const size_t k,
}
// Create the traverser.
- TraversalType<RuleType> traverser(rules);
+ DualTreeTraversalType<RuleType> traverser(rules);
if (tree::IsSpillTree<Tree>::value)
{
@@ -744,11 +748,12 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-double NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
-SingleTreeTraversalType>::EffectiveError(arma::mat& foundDistances,
- arma::mat& realDistances)
+double NeighborSearch<SortPolicy, MetricType, MatType, TreeType,
+DualTreeTraversalType, SingleTreeTraversalType>::EffectiveError(
+ arma::mat& foundDistances,
+ arma::mat& realDistances)
{
if (foundDistances.n_rows != realDistances.n_rows ||
foundDistances.n_cols != realDistances.n_cols)
@@ -781,11 +786,12 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
-double NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
-SingleTreeTraversalType>::Recall(arma::Mat<size_t>& foundNeighbors,
- arma::Mat<size_t>& realNeighbors)
+double NeighborSearch<SortPolicy, MetricType, MatType, TreeType,
+DualTreeTraversalType, SingleTreeTraversalType>::Recall(
+ arma::Mat<size_t>& foundNeighbors,
+ arma::Mat<size_t>& realNeighbors)
{
if (foundNeighbors.n_rows != realNeighbors.n_rows ||
foundNeighbors.n_cols != realNeighbors.n_cols)
@@ -811,12 +817,13 @@ template<typename SortPolicy,
template<typename TreeMetricType,
typename TreeStatType,
typename TreeMatType> class TreeType,
- template<typename> class TraversalType,
+ template<typename> class DualTreeTraversalType,
template<typename> class SingleTreeTraversalType>
template<typename Archive>
-void NeighborSearch<SortPolicy, MetricType, MatType, TreeType, TraversalType,
-SingleTreeTraversalType>::Serialize(Archive& ar,
- const unsigned int /* version */)
+void NeighborSearch<SortPolicy, MetricType, MatType, TreeType,
+DualTreeTraversalType, SingleTreeTraversalType>::Serialize(
+ Archive& ar,
+ const unsigned int /* version */)
{
using data::CreateNVP;
More information about the mlpack-git
mailing list