[mlpack-git] master: Remove implementation from header file to avoid duplicate symbol error. (543142a)
gitdub at mlpack.org
gitdub at mlpack.org
Wed Jul 6 15:30:09 EDT 2016
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/98babfc774bce91170df994763b670b9abd20917...e7b9b042d1d6e2d9895d5fa141e9c135b2d2ea57
>---------------------------------------------------------------
commit 543142a858e1766739f12a750af4759bf0fe104b
Author: Marcus Edel <marcus.edel at fu-berlin.de>
Date: Wed Jul 6 01:02:09 2016 +0200
Remove implementation from header file to avoid duplicate symbol error.
>---------------------------------------------------------------
543142a858e1766739f12a750af4759bf0fe104b
src/mlpack/methods/quic_svd/CMakeLists.txt | 2 +-
src/mlpack/methods/quic_svd/{quic_svd_impl.hpp => quic_svd.cpp} | 7 +++----
src/mlpack/methods/quic_svd/quic_svd.hpp | 7 +------
3 files changed, 5 insertions(+), 11 deletions(-)
diff --git a/src/mlpack/methods/quic_svd/CMakeLists.txt b/src/mlpack/methods/quic_svd/CMakeLists.txt
index ae7a36a..ef7def2 100644
--- a/src/mlpack/methods/quic_svd/CMakeLists.txt
+++ b/src/mlpack/methods/quic_svd/CMakeLists.txt
@@ -2,7 +2,7 @@
# Anything not in this list will not be compiled into mlpack.
set(SOURCES
quic_svd.hpp
- quic_svd_impl.hpp
+ quic_svd.cpp
)
# Add directory name to sources.
diff --git a/src/mlpack/methods/quic_svd/quic_svd_impl.hpp b/src/mlpack/methods/quic_svd/quic_svd.cpp
similarity index 95%
rename from src/mlpack/methods/quic_svd/quic_svd_impl.hpp
rename to src/mlpack/methods/quic_svd/quic_svd.cpp
index 20aaba1..4640d48 100644
--- a/src/mlpack/methods/quic_svd/quic_svd_impl.hpp
+++ b/src/mlpack/methods/quic_svd/quic_svd.cpp
@@ -4,8 +4,6 @@
*
* An implementation of QUIC-SVD.
*/
-#ifndef MLPACK_METHODS_QUIC_SVD_QUIC_SVD_IMPL_HPP
-#define MLPACK_METHODS_QUIC_SVD_QUIC_SVD_IMPL_HPP
// In case it hasn't been included yet.
#include "quic_svd.hpp"
@@ -34,6 +32,9 @@ QUIC_SVD::QUIC_SVD(const arma::mat& dataset,
// Get subspace basis by creating the cosine tree.
ctree->GetFinalBasis(basis);
+ // Delete cosine tree.
+ delete ctree;
+
// Use the ExtractSVD algorithm mentioned in the paper to extract the SVD of
// the original dataset in the obtained subspace.
ExtractSVD(u, v, sigma);
@@ -76,5 +77,3 @@ void QUIC_SVD::ExtractSVD(arma::mat& u,
} // namespace svd
} // namespace mlpack
-
-#endif
diff --git a/src/mlpack/methods/quic_svd/quic_svd.hpp b/src/mlpack/methods/quic_svd/quic_svd.hpp
index 3fe9e6d..d470bfe 100644
--- a/src/mlpack/methods/quic_svd/quic_svd.hpp
+++ b/src/mlpack/methods/quic_svd/quic_svd.hpp
@@ -77,9 +77,7 @@ class QUIC_SVD
* @param v Second unitary matrix.
* @param sigma Diagonal matrix of singular values.
*/
- void ExtractSVD(arma::mat& u,
- arma::mat& v,
- arma::mat& sigma);
+ void ExtractSVD(arma::mat& u, arma::mat& v, arma::mat& sigma);
private:
//! Matrix for which cosine tree is constructed.
@@ -91,7 +89,4 @@ class QUIC_SVD
} // namespace svd
} // namespace mlpack
-// Include implementation.
-#include "quic_svd_impl.hpp"
-
#endif
More information about the mlpack-git
mailing list