diff --git a/src/cpp/flann/algorithms/autotuned_index.h b/src/cpp/flann/algorithms/autotuned_index.h index 9b8b6d743a29a6a7deea1ba817df4cea0366abfe..ab641a419be82883da91e87016eee314ef1d3821 100644 --- a/src/cpp/flann/algorithms/autotuned_index.h +++ b/src/cpp/flann/algorithms/autotuned_index.h @@ -144,7 +144,7 @@ class AutotunedIndex : public NNIndex /** * Index parameters */ - const AutotunedIndexParams& index_params; + const AutotunedIndexParams index_params; Distance distance; public: @@ -161,9 +161,11 @@ public: { if (bestIndex!=NULL) { delete bestIndex; + bestIndex = NULL; } if (bestParams!=NULL) { delete bestParams; + bestParams = NULL; } }; diff --git a/src/cpp/flann/algorithms/composite_index.h b/src/cpp/flann/algorithms/composite_index.h index 64b45b16dfad060399ece6c4407fc04f07edc66c..8fa4699e2b3aa51cd1020ca955e37084c011248c 100644 --- a/src/cpp/flann/algorithms/composite_index.h +++ b/src/cpp/flann/algorithms/composite_index.h @@ -102,7 +102,7 @@ class CompositeIndex : public NNIndex const Matrix dataset; - const IndexParams& index_params; + const CompositeIndexParams index_params; Distance distance; diff --git a/src/cpp/flann/algorithms/kdtree_index.h b/src/cpp/flann/algorithms/kdtree_index.h index 9bcbf615635cf3a6251232e163c3d2d770ce3e70..b3740e33d454e4bd2e992684a481bee2b84abd6b 100644 --- a/src/cpp/flann/algorithms/kdtree_index.h +++ b/src/cpp/flann/algorithms/kdtree_index.h @@ -123,7 +123,7 @@ class KDTreeIndex : public NNIndex */ const Matrix dataset; - const IndexParams& index_params; + const KDTreeIndexParams index_params; size_t size_; size_t veclen_; diff --git a/src/cpp/flann/algorithms/kdtree_single_index.h b/src/cpp/flann/algorithms/kdtree_single_index.h index 73c0746e400b13dda00c50705f1d4a2b74aef2af..01f1728561b7b9055ccee1b940d787abf42951e2 100644 --- a/src/cpp/flann/algorithms/kdtree_single_index.h +++ b/src/cpp/flann/algorithms/kdtree_single_index.h @@ -102,7 +102,7 @@ class KDTreeSingleIndex : public NNIndex */ const Matrix dataset; - const IndexParams& index_params; + const KDTreeSingleIndexParams index_params; size_t size_; size_t veclen_; diff --git a/src/cpp/flann/algorithms/kmeans_index.h b/src/cpp/flann/algorithms/kmeans_index.h index 93a4493923fb425a6059eaef6eb6a91cc2dc7f9e..83c6a5c03997414f16f4e9475a89943e9a03e307 100644 --- a/src/cpp/flann/algorithms/kmeans_index.h +++ b/src/cpp/flann/algorithms/kmeans_index.h @@ -134,7 +134,7 @@ class KMeansIndex : public NNIndex */ const Matrix dataset; - const IndexParams& index_params; + const KMeansIndexParams index_params; /** * Number of features in the dataset. diff --git a/src/cpp/flann/algorithms/linear_index.h b/src/cpp/flann/algorithms/linear_index.h index d2f44d52898d7feaddeb1dc947e80b6a9d3a0c24..76b8c63e17051c1f3ff3ee7ae8148163a731b369 100644 --- a/src/cpp/flann/algorithms/linear_index.h +++ b/src/cpp/flann/algorithms/linear_index.h @@ -65,7 +65,7 @@ class LinearIndex : public NNIndex typedef typename Distance::ResultType DistanceType; const Matrix dataset; - const LinearIndexParams& index_params; + const LinearIndexParams index_params; Distance distance; diff --git a/src/cpp/flann/flann.cpp b/src/cpp/flann/flann.cpp index e15b8cc8a63c69f8ccfb3369718e1fb064190ca9..f7816534850da1765f9072fa9b3bf1f03c71b829 100644 --- a/src/cpp/flann/flann.cpp +++ b/src/cpp/flann/flann.cpp @@ -100,6 +100,7 @@ flann_index_t __flann_build_index(typename Distance::ElementType* dataset, int r *speedup = autotuned_index->getSpeedup(); } + delete params; return index; } catch (std::runtime_error& e) { @@ -620,9 +621,7 @@ int __flann_free_index(flann_index_t index_ptr, FLANNParameters* flann_params) throw FLANNException("Invalid index"); } Index* index = (Index*) index_ptr; - const IndexParams* index_params = index->getIndexParameters(); delete index; - delete index_params; return 0; } diff --git a/test/flann_simple_test.cpp b/test/flann_simple_test.cpp index 9796e2bf24e5f2e820ae6bd29107a0c3412cd851..a4dd22ccd4da329424da5d82f3bddd2ea7bfcbe6 100644 --- a/test/flann_simple_test.cpp +++ b/test/flann_simple_test.cpp @@ -309,7 +309,7 @@ TEST_F(Flann_SIFT100K_Test, KMeansTreeTest) TEST_F(Flann_SIFT100K_Test, AutotunedTest) { - flann::log_verbosity(LOG_INFO); + flann::log_verbosity(FLANN_LOG_INFO); Index > index(data, flann::AutotunedIndexParams(0.8,0.01,0,0.1)); // 80% precision start_timer("Building autotuned index...");