From 1e6ee1197eda9028afda82d84135050854ffcc97 Mon Sep 17 00:00:00 2001 From: shubham1206agra Date: Tue, 10 May 2022 12:49:42 +0530 Subject: [PATCH] converted unmap to .hpp --- .../methods/neighbor_search/CMakeLists.txt | 2 +- src/mlpack/methods/neighbor_search/unmap.hpp | 3 ++ .../{unmap.cpp => unmap_impl.hpp} | 33 +++++++++++-------- 3 files changed, 23 insertions(+), 15 deletions(-) rename src/mlpack/methods/neighbor_search/{unmap.cpp => unmap_impl.hpp} (66%) diff --git a/src/mlpack/methods/neighbor_search/CMakeLists.txt b/src/mlpack/methods/neighbor_search/CMakeLists.txt index b20b562d9c..1d7b76a452 100644 --- a/src/mlpack/methods/neighbor_search/CMakeLists.txt +++ b/src/mlpack/methods/neighbor_search/CMakeLists.txt @@ -14,7 +14,7 @@ set(SOURCES sort_policies/furthest_neighbor_sort_impl.hpp typedef.hpp unmap.hpp - unmap.cpp + unmap_impl.hpp ) # Add directory name to sources. diff --git a/src/mlpack/methods/neighbor_search/unmap.hpp b/src/mlpack/methods/neighbor_search/unmap.hpp index d0165e9005..7b0ec77780 100644 --- a/src/mlpack/methods/neighbor_search/unmap.hpp +++ b/src/mlpack/methods/neighbor_search/unmap.hpp @@ -63,4 +63,7 @@ void Unmap(const arma::Mat& neighbors, } // namespace neighbor } // namespace mlpack +// Include implementation. +#include "unmap_impl.hpp" + #endif diff --git a/src/mlpack/methods/neighbor_search/unmap.cpp b/src/mlpack/methods/neighbor_search/unmap_impl.hpp similarity index 66% rename from src/mlpack/methods/neighbor_search/unmap.cpp rename to src/mlpack/methods/neighbor_search/unmap_impl.hpp index a8efba8386..6d3b52b057 100644 --- a/src/mlpack/methods/neighbor_search/unmap.cpp +++ b/src/mlpack/methods/neighbor_search/unmap_impl.hpp @@ -1,5 +1,5 @@ /** - * @file methods/neighbor_search/unmap.cpp + * @file methods/neighbor_search/unmap_impl.hpp * @author Ryan Curtin * * Auxiliary function to unmap neighbor search results. @@ -9,19 +9,22 @@ * 3-clause BSD license along with mlpack. If not, see * http://www.opensource.org/licenses/BSD-3-Clause for more information. */ +#ifndef MLPACK_METHODS_NEIGHBOR_SEARCH_UNMAP_IMPL_HPP +#define MLPACK_METHODS_NEIGHBOR_SEARCH_UNMAP_IMPL_HPP + #include "unmap.hpp" namespace mlpack { namespace neighbor { // Useful in the dual-tree setting. -void Unmap(const arma::Mat& neighbors, - const arma::mat& distances, - const std::vector& referenceMap, - const std::vector& queryMap, - arma::Mat& neighborsOut, - arma::mat& distancesOut, - const bool squareRoot) +inline void Unmap(const arma::Mat& neighbors, + const arma::mat& distances, + const std::vector& referenceMap, + const std::vector& queryMap, + arma::Mat& neighborsOut, + arma::mat& distancesOut, + const bool squareRoot) { // Set matrices to correct size. neighborsOut.set_size(neighbors.n_rows, neighbors.n_cols); @@ -44,12 +47,12 @@ void Unmap(const arma::Mat& neighbors, } // Useful in the single-tree setting. -void Unmap(const arma::Mat& neighbors, - const arma::mat& distances, - const std::vector& referenceMap, - arma::Mat& neighborsOut, - arma::mat& distancesOut, - const bool squareRoot) +inline void Unmap(const arma::Mat& neighbors, + const arma::mat& distances, + const std::vector& referenceMap, + arma::Mat& neighborsOut, + arma::mat& distancesOut, + const bool squareRoot) { // Set matrices to correct size. neighborsOut.set_size(neighbors.n_rows, neighbors.n_cols); @@ -67,3 +70,5 @@ void Unmap(const arma::Mat& neighbors, } // namespace neighbor } // namespace mlpack + +#endif