From fa23d377cee71d66f368cff72f21c4518df22c8f Mon Sep 17 00:00:00 2001 From: Jun An Date: Mon, 26 Mar 2018 01:34:50 +0800 Subject: [PATCH] Remove setOwner from range_search. --- .../methods/range_search/range_search.hpp | 2 -- .../range_search/range_search_impl.hpp | 25 +++++-------------- 2 files changed, 6 insertions(+), 21 deletions(-) diff --git a/src/mlpack/methods/range_search/range_search.hpp b/src/mlpack/methods/range_search/range_search.hpp index d328daa7e1..4b0c08f0b4 100644 --- a/src/mlpack/methods/range_search/range_search.hpp +++ b/src/mlpack/methods/range_search/range_search.hpp @@ -298,8 +298,6 @@ class RangeSearch //! If true, this object is responsible for deleting the trees. bool treeOwner; - //! If true, we own the reference set. - bool setOwner; //! If true, O(n^2) naive computation is used. bool naive; diff --git a/src/mlpack/methods/range_search/range_search_impl.hpp b/src/mlpack/methods/range_search/range_search_impl.hpp index 3f023ac2da..b7a441232a 100644 --- a/src/mlpack/methods/range_search/range_search_impl.hpp +++ b/src/mlpack/methods/range_search/range_search_impl.hpp @@ -57,7 +57,6 @@ RangeSearch::RangeSearch( referenceSet(naive ? new MatType(std::move(referenceSet)) : &referenceTree->Dataset()), treeOwner(!naive), - setOwner(naive), naive(naive), singleMode(!naive && singleMode), metric(metric), @@ -79,7 +78,6 @@ RangeSearch::RangeSearch( referenceTree(referenceTree), referenceSet(&referenceTree->Dataset()), treeOwner(false), - setOwner(false), naive(false), singleMode(singleMode), metric(metric), @@ -101,7 +99,6 @@ RangeSearch::RangeSearch( referenceTree(NULL), referenceSet(new MatType()), // Empty matrix. treeOwner(false), - setOwner(true), naive(naive), singleMode(singleMode), metric(metric), @@ -129,7 +126,6 @@ RangeSearch::RangeSearch( referenceSet(other.referenceTree ? &referenceTree->Dataset() : new MatType(*other.referenceSet)), treeOwner(other.referenceTree), - setOwner(!other.referenceTree), naive(other.naive), singleMode(other.singleMode), metric(other.metric), @@ -149,7 +145,6 @@ RangeSearch::RangeSearch(RangeSearch&& other) : referenceTree(other.referenceTree), referenceSet(other.referenceSet), treeOwner(other.treeOwner), - setOwner(other.setOwner), naive(other.naive), singleMode(other.singleMode), metric(std::move(other.metric)), @@ -162,7 +157,6 @@ RangeSearch::RangeSearch(RangeSearch&& other) : BuildTree(const_cast(*other.referenceSet), other.oldFromNewReferences); other.treeOwner = true; - other.setOwner = true; other.naive = false; other.singleMode = false; other.baseCases = 0; @@ -180,7 +174,7 @@ RangeSearch::operator=(RangeSearch other) // Clean memory first. if (treeOwner) delete referenceTree; - if (setOwner) + if (naive) delete referenceSet; // Move the other model. @@ -188,7 +182,6 @@ RangeSearch::operator=(RangeSearch other) referenceTree = other.referenceTree; referenceSet = other.referenceSet; treeOwner = other.treeOwner; - setOwner = other.setOwner; naive = other.naive; singleMode = other.singleMode; metric = std::move(other.metric); @@ -207,7 +200,7 @@ RangeSearch::~RangeSearch() { if (treeOwner && referenceTree) delete referenceTree; - if (setOwner && referenceSet) + if (naive && referenceSet) delete referenceSet; } @@ -236,18 +229,16 @@ void RangeSearch::Train( } // Delete the old reference set, if we owned it. - if (setOwner && this->referenceSet) + if (naive && this->referenceSet) delete this->referenceSet; if (!naive) { this->referenceSet = &referenceTree->Dataset(); - setOwner = false; } else { this->referenceSet = new MatType(std::move(referenceSet)); - setOwner = true; } } @@ -265,13 +256,12 @@ void RangeSearch::Train( if (treeOwner && referenceTree) delete this->referenceTree; - if (setOwner && referenceSet) + if (naive && referenceSet) delete this->referenceSet; this->referenceTree = referenceTree; this->referenceSet = &referenceTree->Dataset(); treeOwner = false; - setOwner = false; } template::serialize( { if (Archive::is_loading::value) { - if (setOwner && referenceSet) + if (naive && referenceSet) delete referenceSet; - - setOwner = true; } ar & BOOST_SERIALIZATION_NVP(referenceSet); @@ -696,12 +684,11 @@ void RangeSearch::serialize( // necessary. if (Archive::is_loading::value) { - if (setOwner && referenceSet) + if (naive && referenceSet) delete referenceSet; referenceSet = &referenceTree->Dataset(); metric = referenceTree->Metric(); // Get the metric from the tree. - setOwner = false; } } }