diff --git a/CMakeLists.txt b/CMakeLists.txt index 27fcd9c3..ab55e202 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ # Algebra plugins library, part of the ACTS project (R&D line) # -# (c) 2021-2024 CERN for the benefit of the ACTS project +# (c) 2021-2026 CERN for the benefit of the ACTS project # # Mozilla Public License Version 2.0 @@ -243,9 +243,8 @@ endif() # Set up the Algebra Plugin libraries. add_subdirectory(common) -add_subdirectory(frontend) -add_subdirectory(math) -add_subdirectory(storage) +add_subdirectory(plugins) +add_subdirectory(generic) add_subdirectory(utils) # Set up the test(s). diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt index 73dfff21..def496b2 100644 --- a/benchmarks/CMakeLists.txt +++ b/benchmarks/CMakeLists.txt @@ -29,7 +29,7 @@ target_include_directories( ) target_link_libraries( algebra_bench_array - INTERFACE algebra::array algebra::common_storage + INTERFACE algebra::array algebra::common ) algebra_add_benchmark( array_getter "array/array_getter.cpp" @@ -60,7 +60,7 @@ if(ALGEBRA_PLUGINS_INCLUDE_EIGEN) ) target_link_libraries( algebra_bench_eigen - INTERFACE algebra::eigen algebra::common_storage + INTERFACE algebra::eigen algebra::common ) algebra_add_benchmark(eigen_getter "eigen/eigen_getter.cpp" @@ -93,7 +93,7 @@ if(ALGEBRA_PLUGINS_INCLUDE_VC) ) target_link_libraries( algebra_bench_vc_aos - INTERFACE algebra::vc_aos algebra::common_storage + INTERFACE algebra::vc_aos algebra::common ) algebra_add_benchmark(vc_aos_getter "vc_aos/vc_aos_getter.cpp" @@ -124,7 +124,7 @@ if(ALGEBRA_PLUGINS_INCLUDE_VC) ) target_link_libraries( algebra_bench_vc_soa - INTERFACE algebra::vc_soa algebra::common_storage + INTERFACE algebra::vc_soa algebra::common ) algebra_add_benchmark(vc_soa_getter "vc_soa/vc_soa_getter.cpp" @@ -161,7 +161,7 @@ if(ALGEBRA_PLUGINS_INCLUDE_FASTOR) ) target_link_libraries( algebra_bench_fastor - INTERFACE algebra::fastor algebra::common_storage + INTERFACE algebra::fastor algebra::common ) algebra_add_benchmark(fastor_getter "fastor/fastor_getter.cpp" diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 53722aeb..09337212 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -4,17 +4,29 @@ # # Mozilla Public License Version 2.0 -# Set up the library. +# Set up the common library. algebra_add_library( algebra_common common + "include/algebra/array_operators.hpp" "include/algebra/assert.hpp" + "include/algebra/boolean.hpp" "include/algebra/concepts.hpp" + "include/algebra/math.hpp" + "include/algebra/matrix_getter.hpp" + "include/algebra/matrix.hpp" "include/algebra/qualifiers.hpp" "include/algebra/type_traits.hpp" + "include/algebra/vector.hpp" ) algebra_test_public_headers( algebra_common + "algebra/array_operators.hpp" "algebra/assert.hpp" + "algebra/boolean.hpp" "algebra/concepts.hpp" + "algebra/math.hpp" + "algebra/matrix_getter.hpp" + "algebra/matrix.hpp" "algebra/qualifiers.hpp" "algebra/type_traits.hpp" + "algebra/vector.hpp" ) diff --git a/storage/common/include/algebra/storage/array_operators.hpp b/common/include/algebra/array_operators.hpp similarity index 97% rename from storage/common/include/algebra/storage/array_operators.hpp rename to common/include/algebra/array_operators.hpp index f9f8a59d..51b04c24 100644 --- a/storage/common/include/algebra/storage/array_operators.hpp +++ b/common/include/algebra/array_operators.hpp @@ -1,6 +1,6 @@ /** Algebra plugins, part of the ACTS project * - * (c) 2023 CERN for the benefit of the ACTS project + * (c) 2023-2026 CERN for the benefit of the ACTS project * * Mozilla Public License Version 2.0 */ diff --git a/common/include/algebra/assert.hpp b/common/include/algebra/assert.hpp index eddbd30b..8af9b8b9 100644 --- a/common/include/algebra/assert.hpp +++ b/common/include/algebra/assert.hpp @@ -1,7 +1,7 @@ /** * ALGEBRA PLUGIN library, part of the ACTS project (R&D line) * - * (c) 2025 CERN for the benefit of the ACTS project + * (c) 2025-2026 CERN for the benefit of the ACTS project * * Mozilla Public License Version 2.0 */ diff --git a/math/common/include/algebra/math/boolean.hpp b/common/include/algebra/boolean.hpp similarity index 86% rename from math/common/include/algebra/math/boolean.hpp rename to common/include/algebra/boolean.hpp index ba8e9792..d2e0eac2 100644 --- a/math/common/include/algebra/math/boolean.hpp +++ b/common/include/algebra/boolean.hpp @@ -1,6 +1,6 @@ /** Detray library, part of the ACTS project (R&D line) * - * (c) 2024 CERN for the benefit of the ACTS project + * (c) 2024-2026 CERN for the benefit of the ACTS project * * Mozilla Public License Version 2.0 */ diff --git a/common/include/algebra/concepts.hpp b/common/include/algebra/concepts.hpp index d212dec4..8ed0a33c 100644 --- a/common/include/algebra/concepts.hpp +++ b/common/include/algebra/concepts.hpp @@ -1,6 +1,6 @@ /** Algebra plugins library, part of the ACTS project * - * (c) 2024 CERN for the benefit of the ACTS project + * (c) 2024-2026 CERN for the benefit of the ACTS project * * Mozilla Public License Version 2.0 */ @@ -144,7 +144,7 @@ concept transform3D = requires(T trf) { template concept algebra = (concepts::value && concepts::scalar && - concepts::index && + concepts::index && concepts::vector3D && concepts::point2D && concepts::point3D && diff --git a/math/common/include/algebra/math/common.hpp b/common/include/algebra/math.hpp similarity index 90% rename from math/common/include/algebra/math/common.hpp rename to common/include/algebra/math.hpp index 8109318c..488c887e 100644 --- a/math/common/include/algebra/math/common.hpp +++ b/common/include/algebra/math.hpp @@ -1,6 +1,6 @@ /** Algebra plugins library, part of the ACTS project * - * (c) 2022-2024 CERN for the benefit of the ACTS project + * (c) 2022-2026 CERN for the benefit of the ACTS project * * Mozilla Public License Version 2.0 */ diff --git a/storage/common/include/algebra/storage/matrix.hpp b/common/include/algebra/matrix.hpp similarity index 97% rename from storage/common/include/algebra/storage/matrix.hpp rename to common/include/algebra/matrix.hpp index 02046a7f..65af3016 100644 --- a/storage/common/include/algebra/storage/matrix.hpp +++ b/common/include/algebra/matrix.hpp @@ -1,6 +1,6 @@ /** Algebra plugins, part of the ACTS project * - * (c) 2024 CERN for the benefit of the ACTS project + * (c) 2024-2026 CERN for the benefit of the ACTS project * * Mozilla Public License Version 2.0 */ @@ -8,8 +8,8 @@ // Project include(s). #include "algebra/concepts.hpp" -#include "algebra/storage/vector.hpp" #include "algebra/type_traits.hpp" +#include "algebra/vector.hpp" // System include(s). #include @@ -20,10 +20,11 @@ namespace algebra::storage { /// Generic matrix type that can take vectors as columns template