diff options
author | ROUVREAU Vincent <vincent.rouvreau@inria.fr> | 2021-04-21 11:22:18 +0200 |
---|---|---|
committer | ROUVREAU Vincent <vincent.rouvreau@inria.fr> | 2021-04-21 11:22:18 +0200 |
commit | 130c3057bfef7c4c1e0ee0b1940c34bc2f9d6c33 (patch) | |
tree | 62040b56c2be36855961198ec62c53689e7ec470 | |
parent | fb2aca88ba373868fc3e67683258b1b98467d10d (diff) |
coxeter requires eigen3. random_orthogonal_matrix requires CGAL
6 files changed, 92 insertions, 54 deletions
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 $<TARGET_FILE:Coxeter_triangulation_manifold_tracing_flat_torus_with_boundary_example>) - -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 $<TARGET_FILE:Coxeter_triangulation_manifold_tracing_custom_function_example>) - -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 $<TARGET_FILE:Coxeter_triangulation_cell_complex_from_basic_circle_manifold_example>) +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 $<TARGET_FILE:Coxeter_triangulation_manifold_tracing_flat_torus_with_boundary_example>) + 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 $<TARGET_FILE:Coxeter_triangulation_manifold_tracing_custom_function_example>) + + 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 $<TARGET_FILE:Coxeter_triangulation_cell_complex_from_basic_circle_manifold_example>) +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 <gudhi/Implicit_manifold_intersection_oracle.h> #include <gudhi/Manifold_tracing.h> #include <gudhi/Cell_complex.h> -#include <gudhi/Functions/random_orthogonal_matrix.h> #include <gudhi/Functions/Linear_transformation.h> #include <gudhi/IO/build_mesh_from_cell_complex.h> 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 <gudhi/Implicit_manifold_intersection_oracle.h> #include <gudhi/Manifold_tracing.h> #include <gudhi/Cell_complex.h> -#include <gudhi/Functions/random_orthogonal_matrix.h> +#include <gudhi/Functions/random_orthogonal_matrix.h> // requires CGAL #include <gudhi/IO/build_mesh_from_cell_complex.h> #include <gudhi/IO/output_meshes_to_medit.h> 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 <gudhi/Functions/Function_lemniscate_revolution_in_R3.h> #include <gudhi/Functions/Function_iron_in_R3.h> #include <gudhi/Functions/Function_moment_curve_in_Rd.h> -#include <gudhi/Functions/random_orthogonal_matrix.h> #include <gudhi/Functions/Embed_in_Rd.h> #include <gudhi/Functions/Translate.h> #include <gudhi/Functions/Linear_transformation.h> @@ -111,17 +110,6 @@ BOOST_AUTO_TEST_CASE(function) { 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; auto fun_embed = make_embedding(fun_iron, 5); 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 <boost/test/unit_test.hpp> +#include <gudhi/Unitary_tests_utils.h> + +#include <gudhi/Functions/random_orthogonal_matrix.h> + +#include <string> + +#include <random> +#include <cstdlib> + +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); +} |