[mlpack-git] master: Add a test to ensure that doing monochromatic dual-tree search resets bounds. (c818933)
gitdub at big.cc.gt.atl.ga.us
gitdub at big.cc.gt.atl.ga.us
Tue Oct 20 11:09:02 EDT 2015
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/00eccfdb0d315de3d94bfa1da84cc1dc65c8af39...c81893381e80d4ecae4283cec5fe5264bdf4f677
>---------------------------------------------------------------
commit c81893381e80d4ecae4283cec5fe5264bdf4f677
Author: ryan <ryan at ratml.org>
Date: Tue Oct 20 11:08:36 2015 -0400
Add a test to ensure that doing monochromatic dual-tree search resets bounds.
>---------------------------------------------------------------
c81893381e80d4ecae4283cec5fe5264bdf4f677
src/mlpack/tests/allknn_test.cpp | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/src/mlpack/tests/allknn_test.cpp b/src/mlpack/tests/allknn_test.cpp
index 82b8564..70fa802 100644
--- a/src/mlpack/tests/allknn_test.cpp
+++ b/src/mlpack/tests/allknn_test.cpp
@@ -1093,4 +1093,26 @@ BOOST_AUTO_TEST_CASE(KNNModelMonochromaticTest)
}
}
+/**
+ * If we search twice with the same reference tree, the bounds need to be reset
+ * before the second search. This test ensures that that happens, by making
+ * sure the number of scores and base cases are equivalent for each search.
+ */
+BOOST_AUTO_TEST_CASE(DoubleReferenceSearchTest)
+{
+ arma::mat dataset = arma::randu<arma::mat>(5, 500);
+ AllkNN knn(std::move(dataset));
+
+ arma::mat distances, secondDistances;
+ arma::Mat<size_t> neighbors, secondNeighbors;
+ knn.Search(3, neighbors, distances);
+ size_t baseCases = knn.BaseCases();
+ size_t scores = knn.Scores();
+
+ knn.Search(3, secondNeighbors, secondDistances);
+
+ BOOST_REQUIRE_EQUAL(knn.BaseCases(), baseCases);
+ BOOST_REQUIRE_EQUAL(knn.Scores(), scores);
+}
+
BOOST_AUTO_TEST_SUITE_END();
More information about the mlpack-git
mailing list