From 8d602087d1cd03cbc39cb7df0c6a56a1a3b227d4 Mon Sep 17 00:00:00 2001 From: Saurabh7 Date: Fri, 12 Aug 2016 10:07:53 +0530 Subject: [PATCH] fix guards KNN --- src/shogun/multiclass/KNN.cpp | 10 +++++++++- src/shogun/multiclass/KNN.h | 6 ++++++ tests/unit/multiclass/KNN_unittest.cc | 3 +++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/shogun/multiclass/KNN.cpp b/src/shogun/multiclass/KNN.cpp index 36288a1c4f5..2b813f9e324 100644 --- a/src/shogun/multiclass/KNN.cpp +++ b/src/shogun/multiclass/KNN.cpp @@ -20,8 +20,12 @@ #include #include #include -#include #include + +#ifdef HAVE_CXX11 +#include +#endif + //#define DEBUG_KNN using namespace shogun; @@ -60,8 +64,10 @@ void CKNN::init() m_num_classes=0; m_leaf_size=1; m_knn_solver=KNN_BRUTE; +#ifdef HAVE_CXX11 m_lsh_l = 0; m_lsh_t = 0; +#endif /* use the method classify_multiply_k to experiment with different values * of k */ @@ -291,6 +297,7 @@ CMulticlassLabels* CKNN::apply_multiclass(CFeatures* data) SG_UNREF(query); break; } +#ifdef HAVE_CXX11 case KNN_LSH: { CDenseFeatures* features = dynamic_cast*>(distance->get_lhs()); @@ -347,6 +354,7 @@ CMulticlassLabels* CKNN::apply_multiclass(CFeatures* data) SG_UNREF(query_features); break; } +#endif /* HAVE_CXX11 */ } SG_FREE(classes); diff --git a/src/shogun/multiclass/KNN.h b/src/shogun/multiclass/KNN.h index 11d68c01242..437c7294c14 100644 --- a/src/shogun/multiclass/KNN.h +++ b/src/shogun/multiclass/KNN.h @@ -29,7 +29,9 @@ namespace shogun KNN_BRUTE, KNN_KDTREE, KNN_COVER_TREE, +#ifdef HAVE_CXX11 KNN_LSH +#endif }; class CDistanceMachine; @@ -197,6 +199,7 @@ class CKNN : public CDistanceMachine m_knn_solver = knn_solver; } +#ifdef HAVE_CXX11 /** set parameters for LSH solver * @param l number of hash tables for LSH * @param t number of probes per query for LSH @@ -206,6 +209,7 @@ class CKNN : public CDistanceMachine m_lsh_l = l; m_lsh_t = t; } +#endif protected: /** Stores feature data of underlying model. @@ -285,11 +289,13 @@ class CKNN : public CDistanceMachine int32_t m_leaf_size; +#ifdef HAVE_CXX11 /* Number of hash tables for LSH */ int32_t m_lsh_l; /* Number of probes per query for LSH */ int32_t m_lsh_t; +#endif }; } diff --git a/tests/unit/multiclass/KNN_unittest.cc b/tests/unit/multiclass/KNN_unittest.cc index a0bf180c2f5..08c2610f7f5 100644 --- a/tests/unit/multiclass/KNN_unittest.cc +++ b/tests/unit/multiclass/KNN_unittest.cc @@ -8,6 +8,7 @@ using namespace shogun; +#ifdef HAVE_LAPACK void generate_knn_data(SGMatrix& feat, SGVector& lab, int32_t num, int32_t classes, int32_t feats) { @@ -205,3 +206,5 @@ TEST(KNN, classify_multiple_kdtree) SG_UNREF(features_test); SG_UNREF(labels_test); } +#endif /* HAVE_LAPACK */ +