From 130c3057bfef7c4c1e0ee0b1940c34bc2f9d6c33 Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Wed, 21 Apr 2021 11:22:18 +0200 Subject: coxeter requires eigen3. random_orthogonal_matrix requires CGAL --- src/Coxeter_triangulation/example/CMakeLists.txt | 46 +++++++++++--------- .../example/manifold_tracing_custom_function.cpp | 1 - .../manifold_tracing_flat_torus_with_boundary.cpp | 2 +- src/Coxeter_triangulation/test/CMakeLists.txt | 49 +++++++++++++--------- src/Coxeter_triangulation/test/function_test.cpp | 12 ------ .../random_orthogonal_matrix_function_test.cpp | 36 ++++++++++++++++ 6 files changed, 92 insertions(+), 54 deletions(-) create mode 100644 src/Coxeter_triangulation/test/random_orthogonal_matrix_function_test.cpp (limited to 'src') diff --git a/src/Coxeter_triangulation/example/CMakeLists.txt b/src/Coxeter_triangulation/example/CMakeLists.txt index e7822ff7..840e24e4 100644 --- a/src/Coxeter_triangulation/example/CMakeLists.txt +++ b/src/Coxeter_triangulation/example/CMakeLists.txt @@ -1,22 +1,28 @@ project(Coxeter_triangulation_example) -add_executable ( Coxeter_triangulation_manifold_tracing_flat_torus_with_boundary_example manifold_tracing_flat_torus_with_boundary.cpp ) -if (TBB_FOUND) - target_link_libraries(Coxeter_triangulation_manifold_tracing_flat_torus_with_boundary_example ${TBB_LIBRARIES}) -endif() -add_test(NAME Coxeter_triangulation_manifold_tracing_flat_torus_with_boundary_example - COMMAND $) - -add_executable ( Coxeter_triangulation_manifold_tracing_custom_function_example manifold_tracing_custom_function.cpp ) -if (TBB_FOUND) - target_link_libraries(Coxeter_triangulation_manifold_tracing_custom_function_example ${TBB_LIBRARIES}) -endif() -add_test(NAME Coxeter_triangulation_manifold_tracing_custom_function_example - COMMAND $) - -add_executable ( Coxeter_triangulation_cell_complex_from_basic_circle_manifold_example cell_complex_from_basic_circle_manifold.cpp ) -if (TBB_FOUND) - target_link_libraries(Coxeter_triangulation_cell_complex_from_basic_circle_manifold_example ${TBB_LIBRARIES}) -endif() -add_test(NAME Coxeter_triangulation_cell_complex_from_basic_circle_manifold_example - COMMAND $) +if (NOT EIGEN3_VERSION VERSION_LESS 3.1.0) + # because of random_orthogonal_matrix inclusion + if (NOT CGAL_VERSION VERSION_LESS 4.11.0) + add_executable ( Coxeter_triangulation_manifold_tracing_flat_torus_with_boundary_example manifold_tracing_flat_torus_with_boundary.cpp ) + target_link_libraries(Coxeter_triangulation_manifold_tracing_flat_torus_with_boundary_example ${CGAL_LIBRARY}) + if (TBB_FOUND) + target_link_libraries(Coxeter_triangulation_manifold_tracing_flat_torus_with_boundary_example ${TBB_LIBRARIES}) + endif() + add_test(NAME Coxeter_triangulation_manifold_tracing_flat_torus_with_boundary_example + COMMAND $) + endif() + + add_executable ( Coxeter_triangulation_manifold_tracing_custom_function_example manifold_tracing_custom_function.cpp ) + if (TBB_FOUND) + target_link_libraries(Coxeter_triangulation_manifold_tracing_custom_function_example ${TBB_LIBRARIES}) + endif() + add_test(NAME Coxeter_triangulation_manifold_tracing_custom_function_example + COMMAND $) + + add_executable ( Coxeter_triangulation_cell_complex_from_basic_circle_manifold_example cell_complex_from_basic_circle_manifold.cpp ) + if (TBB_FOUND) + target_link_libraries(Coxeter_triangulation_cell_complex_from_basic_circle_manifold_example ${TBB_LIBRARIES}) + endif() + add_test(NAME Coxeter_triangulation_cell_complex_from_basic_circle_manifold_example + COMMAND $) +endif() \ No newline at end of file diff --git a/src/Coxeter_triangulation/example/manifold_tracing_custom_function.cpp b/src/Coxeter_triangulation/example/manifold_tracing_custom_function.cpp index a15756c6..3a36aed4 100644 --- a/src/Coxeter_triangulation/example/manifold_tracing_custom_function.cpp +++ b/src/Coxeter_triangulation/example/manifold_tracing_custom_function.cpp @@ -5,7 +5,6 @@ #include #include #include -#include #include #include diff --git a/src/Coxeter_triangulation/example/manifold_tracing_flat_torus_with_boundary.cpp b/src/Coxeter_triangulation/example/manifold_tracing_flat_torus_with_boundary.cpp index 2260e692..4b5e29fc 100644 --- a/src/Coxeter_triangulation/example/manifold_tracing_flat_torus_with_boundary.cpp +++ b/src/Coxeter_triangulation/example/manifold_tracing_flat_torus_with_boundary.cpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include // requires CGAL #include #include diff --git a/src/Coxeter_triangulation/test/CMakeLists.txt b/src/Coxeter_triangulation/test/CMakeLists.txt index 175601f9..3da2410f 100644 --- a/src/Coxeter_triangulation/test/CMakeLists.txt +++ b/src/Coxeter_triangulation/test/CMakeLists.txt @@ -2,23 +2,32 @@ project(Coxeter_triangulation_test) include(GUDHI_boost_test) -add_executable ( Coxeter_triangulation_permutahedral_representation_test perm_rep_test.cpp ) -gudhi_add_boost_test(Coxeter_triangulation_permutahedral_representation_test) - -add_executable ( Coxeter_triangulation_freudenthal_triangulation_test freud_triang_test.cpp ) -gudhi_add_boost_test(Coxeter_triangulation_freudenthal_triangulation_test) - -add_executable ( Coxeter_triangulation_functions_test function_test.cpp ) -gudhi_add_boost_test(Coxeter_triangulation_functions_test) - -add_executable ( Coxeter_triangulation_oracle_test oracle_test.cpp ) -gudhi_add_boost_test(Coxeter_triangulation_oracle_test) - -add_executable ( Coxeter_triangulation_manifold_tracing_test manifold_tracing_test.cpp ) -gudhi_add_boost_test(Coxeter_triangulation_manifold_tracing_test) - -add_executable ( Coxeter_triangulation_cell_complex_test cell_complex_test.cpp ) -if (TBB_FOUND) - target_link_libraries(Coxeter_triangulation_cell_complex_test ${TBB_LIBRARIES}) -endif() -gudhi_add_boost_test(Coxeter_triangulation_cell_complex_test) \ No newline at end of file +if (NOT EIGEN3_VERSION VERSION_LESS 3.1.0) + add_executable ( Coxeter_triangulation_permutahedral_representation_test perm_rep_test.cpp ) + gudhi_add_boost_test(Coxeter_triangulation_permutahedral_representation_test) + + add_executable ( Coxeter_triangulation_freudenthal_triangulation_test freud_triang_test.cpp ) + gudhi_add_boost_test(Coxeter_triangulation_freudenthal_triangulation_test) + + add_executable ( Coxeter_triangulation_functions_test function_test.cpp ) + gudhi_add_boost_test(Coxeter_triangulation_functions_test) + + # because of random_orthogonal_matrix inclusion + if (NOT CGAL_VERSION VERSION_LESS 4.11.0) + add_executable ( Coxeter_triangulation_random_orthogonal_matrix_function_test random_orthogonal_matrix_function_test.cpp ) + target_link_libraries(Coxeter_triangulation_random_orthogonal_matrix_function_test ${CGAL_LIBRARY}) + gudhi_add_boost_test(Coxeter_triangulation_random_orthogonal_matrix_function_test) + endif() + + add_executable ( Coxeter_triangulation_oracle_test oracle_test.cpp ) + gudhi_add_boost_test(Coxeter_triangulation_oracle_test) + + add_executable ( Coxeter_triangulation_manifold_tracing_test manifold_tracing_test.cpp ) + gudhi_add_boost_test(Coxeter_triangulation_manifold_tracing_test) + + add_executable ( Coxeter_triangulation_cell_complex_test cell_complex_test.cpp ) + if (TBB_FOUND) + target_link_libraries(Coxeter_triangulation_cell_complex_test ${TBB_LIBRARIES}) + endif() + gudhi_add_boost_test(Coxeter_triangulation_cell_complex_test) +endif() \ No newline at end of file diff --git a/src/Coxeter_triangulation/test/function_test.cpp b/src/Coxeter_triangulation/test/function_test.cpp index d3c8d46c..43dbcb75 100644 --- a/src/Coxeter_triangulation/test/function_test.cpp +++ b/src/Coxeter_triangulation/test/function_test.cpp @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -110,17 +109,6 @@ BOOST_AUTO_TEST_CASE(function) { Function_moment_curve_in_Rd fun_moment_curve(3, 5); test_function(fun_moment_curve); } - { - // random orthogonal matrix - Eigen::MatrixXd matrix = random_orthogonal_matrix(5); - Eigen::MatrixXd id_matrix = matrix.transpose() * matrix; - for (std::size_t i = 0; i < 5; ++i) - for (std::size_t j = 0; j < 5; ++j) - if (i == j) - GUDHI_TEST_FLOAT_EQUALITY_CHECK(id_matrix(i, j), 1.0, 1e-10); - else - GUDHI_TEST_FLOAT_EQUALITY_CHECK(id_matrix(i, j), 0.0, 1e-10); - } { // function embedding Function_iron_in_R3 fun_iron; diff --git a/src/Coxeter_triangulation/test/random_orthogonal_matrix_function_test.cpp b/src/Coxeter_triangulation/test/random_orthogonal_matrix_function_test.cpp new file mode 100644 index 00000000..84178741 --- /dev/null +++ b/src/Coxeter_triangulation/test/random_orthogonal_matrix_function_test.cpp @@ -0,0 +1,36 @@ +/* This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT. + * See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details. + * Author(s): Siargey Kachanovich + * + * Copyright (C) 2019 Inria + * + * Modification(s): + * - YYYY/MM Author: Description of the modification + */ + +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MODULE "random_orthogonal_matrix_function" +#include +#include + +#include + +#include + +#include +#include + +using namespace Gudhi::coxeter_triangulation; + +// this test is separated as it requires CGAL +BOOST_AUTO_TEST_CASE(random_orthogonal_matrix_function) { + // random orthogonal matrix + Eigen::MatrixXd matrix = random_orthogonal_matrix(5); + Eigen::MatrixXd id_matrix = matrix.transpose() * matrix; + for (std::size_t i = 0; i < 5; ++i) + for (std::size_t j = 0; j < 5; ++j) + if (i == j) + GUDHI_TEST_FLOAT_EQUALITY_CHECK(id_matrix(i, j), 1.0, 1e-10); + else + GUDHI_TEST_FLOAT_EQUALITY_CHECK(id_matrix(i, j), 0.0, 1e-10); +} -- cgit v1.2.3