diff options
Diffstat (limited to 'src/Subsampling/test/test_choose_farthest_point.cpp')
-rw-r--r-- | src/Subsampling/test/test_choose_farthest_point.cpp | 65 |
1 files changed, 15 insertions, 50 deletions
diff --git a/src/Subsampling/test/test_choose_farthest_point.cpp b/src/Subsampling/test/test_choose_farthest_point.cpp index dff2cd4e..5f705de6 100644 --- a/src/Subsampling/test/test_choose_farthest_point.cpp +++ b/src/Subsampling/test/test_choose_farthest_point.cpp @@ -24,15 +24,14 @@ // # define TBB_USE_THREADING_TOOL // #endif -// #define BOOST_TEST_DYN_LINK -// #define BOOST_TEST_MODULE "test_choose_farthest_point" -//#include <boost/test/unit_test.hpp> -//#include <boost/mpl/list.hpp> +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MODULE "witness_complex_points" +#include <boost/test/unit_test.hpp> +#include <boost/mpl/list.hpp> #include <gudhi/choose_by_farthest_point.h> #include <vector> #include <iterator> -#include <gudhi/Clock.h> #include <CGAL/Epick_d.h> @@ -41,52 +40,18 @@ typedef typename K::FT FT; typedef typename K::Point_d Point_d; -//BOOST_AUTO_TEST_CASE(test_choose_farthest_point) -int main() { - std::vector< Point_d > points, results, results2; - K k; - Clock t; - // Add grid points (810000 points) - for (FT i = 0; i < 30; i += 1.0) - for (FT j = 0; j < 30; j += 1.0) - for (FT k = 0; k < 30; k += 1.0) - for (FT l = 0; l < 30; l += 1.0) +BOOST_AUTO_TEST_CASE(test_choose_farthest_point) { + std::vector< Point_d > points, landmarks; + // Add grid points (625 points) + for (FT i = 0; i < 5; i += 1.0) + for (FT j = 0; j < 5; j += 1.0) + for (FT k = 0; k < 5; k += 1.0) + for (FT l = 0; l < 5; l += 1.0) points.push_back(Point_d(std::vector<FT>({i, j, k, l}))); - unsigned final_size = 100, numeral = 1; - std::cout << "Test New Old\n"; - while (final_size < 100001) { - std::cout << final_size << ": "; - results.clear(); - t.begin(); - Gudhi::subsampling::choose_by_farthest_point(k, points, final_size, 0, std::back_inserter(results)); - t.end(); - std::cout << t.num_seconds() << " s, "; - - // std::cout << "New algorithm result:\n"; - // for (auto p: results) - // std::cout << p << std::endl; - - results2.clear(); - t.begin(); - Gudhi::subsampling::choose_by_farthest_point_old(k, points, final_size, 0, std::back_inserter(results2)); - t.end(); - std::cout << t.num_seconds() << " s" << std::endl; - - - // std::cout << "Old algorithm result:\n"; - // for (auto p: results2) - // std::cout << p << std::endl; + landmarks.clear(); + K k; + Gudhi::subsampling::choose_by_farthest_point(k, points, 100, std::back_inserter(landmarks)); - assert(results.size() == final_size); - assert(results2.size() == final_size); - assert(results == results2); - - switch (numeral) { - case 1: numeral = 2; final_size *= 2; break; - case 2: numeral = 5; final_size = final_size/2*5; break; - case 5: numeral = 1; final_size *= 2; break; - default: assert(false); - } - } + assert(landmarks.size() == 100); } |