From d398b6d47cc24e5af34e2e845fbe727e395339ec Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Fri, 2 Aug 2024 13:49:56 -0400 Subject: [PATCH] Remove SVD from Interpolation namespace --- ...ArborX_InterpDetailsMovingLeastSquaresCoefficients.hpp | 5 +++-- .../ArborX_SymmetricSVD.hpp} | 8 ++++---- test/CMakeLists.txt | 2 +- test/{tstInterpDetailsSVD.cpp => tstDetailsSVD.cpp} | 7 +++---- 4 files changed, 11 insertions(+), 11 deletions(-) rename src/{interpolation/detail/ArborX_InterpDetailsSymmetricPseudoInverseSVD.hpp => misc/ArborX_SymmetricSVD.hpp} (97%) rename test/{tstInterpDetailsSVD.cpp => tstDetailsSVD.cpp} (95%) diff --git a/src/interpolation/detail/ArborX_InterpDetailsMovingLeastSquaresCoefficients.hpp b/src/interpolation/detail/ArborX_InterpDetailsMovingLeastSquaresCoefficients.hpp index 7596c50d1..cb2c541df 100644 --- a/src/interpolation/detail/ArborX_InterpDetailsMovingLeastSquaresCoefficients.hpp +++ b/src/interpolation/detail/ArborX_InterpDetailsMovingLeastSquaresCoefficients.hpp @@ -17,8 +17,8 @@ #include #include #include -#include #include +#include #include #include @@ -110,7 +110,8 @@ class MovingLeastSquaresCoefficientsKernel // We need the inverse of P^T.PHI.P, and because it is symmetric, we can use // the symmetric SVD algorithm to get it. - symmetricPseudoInverseSVDKernel(moment, svd_diag, svd_unit); + ::ArborX::Details::symmetricPseudoInverseSVDKernel(moment, svd_diag, + svd_unit); // Now, the moment has [P^T.PHI.P]^-1 // Finally, the result is produced by computing p(0).[P^T.PHI.P]^-1.P^T.PHI diff --git a/src/interpolation/detail/ArborX_InterpDetailsSymmetricPseudoInverseSVD.hpp b/src/misc/ArborX_SymmetricSVD.hpp similarity index 97% rename from src/interpolation/detail/ArborX_InterpDetailsSymmetricPseudoInverseSVD.hpp rename to src/misc/ArborX_SymmetricSVD.hpp index 050351bb3..4c7184ce2 100644 --- a/src/interpolation/detail/ArborX_InterpDetailsSymmetricPseudoInverseSVD.hpp +++ b/src/misc/ArborX_SymmetricSVD.hpp @@ -9,8 +9,8 @@ * SPDX-License-Identifier: BSD-3-Clause * ****************************************************************************/ -#ifndef ARBORX_INTERP_SYMMETRIC_PSEUDO_INVERSE_SVD_HPP -#define ARBORX_INTERP_SYMMETRIC_PSEUDO_INVERSE_SVD_HPP +#ifndef ARBORX_SYMMETRIC_SVD_HPP +#define ARBORX_SYMMETRIC_SVD_HPP #include #include @@ -18,7 +18,7 @@ #include #include -namespace ArborX::Interpolation::Details +namespace ArborX::Details { template @@ -246,6 +246,6 @@ KOKKOS_FUNCTION void symmetricPseudoInverseSVDKernel(Matrix &mat, Diag &diag, } } -} // namespace ArborX::Interpolation::Details +} // namespace ArborX::Details #endif diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 6fdde05a8..ab79b388d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -49,6 +49,7 @@ add_executable(ArborX_Test_DetailsUtils.exe tstAttachIndices.cpp tstDetailsVector.cpp tstDetailsUtils.cpp + tstDetailsSVD.cpp tstDetailsGeometryReducer.cpp utf_main.cpp ) @@ -255,7 +256,6 @@ target_link_libraries(ArborX_Test_BoostAdapters.exe PRIVATE ArborX Boost::unit_t add_test(NAME ArborX_Test_BoostAdapters COMMAND ArborX_Test_BoostAdapters.exe) add_executable(ArborX_Test_InterpMovingLeastSquares.exe - tstInterpDetailsSVD.cpp tstInterpDetailsCompactRadialBasisFunction.cpp tstInterpDetailsPolyBasis.cpp tstInterpDetailsMLSCoefficients.cpp diff --git a/test/tstInterpDetailsSVD.cpp b/test/tstDetailsSVD.cpp similarity index 95% rename from test/tstInterpDetailsSVD.cpp rename to test/tstDetailsSVD.cpp index f1c94c0dd..d95400baf 100644 --- a/test/tstInterpDetailsSVD.cpp +++ b/test/tstDetailsSVD.cpp @@ -11,7 +11,7 @@ #include "ArborX_EnableDeviceTypes.hpp" #include "ArborX_EnableViewComparison.hpp" -#include +#include #include "BoostTest_CUDA_clang_workarounds.hpp" #include @@ -45,7 +45,7 @@ void makeCase(ExecutionSpace const &exec, Value const (&src_arr)[M][N][N], Kokkos::parallel_for( "Testing::run_svd", Kokkos::RangePolicy(exec, 0, 1), KOKKOS_LAMBDA(int) { - ArborX::Interpolation::Details::symmetricSVDKernel(inv, diag, unit); + ArborX::Details::symmetricSVDKernel(inv, diag, unit); for (int p = 0; p < N; ++p) for (int q = 0; q < N; ++q) { @@ -61,8 +61,7 @@ void makeCase(ExecutionSpace const &exec, Value const (&src_arr)[M][N][N], Kokkos::parallel_for( "Testing::run_inverse", Kokkos::RangePolicy(exec, 0, 1), KOKKOS_LAMBDA(int) { - ArborX::Interpolation::Details::symmetricPseudoInverseSVDKernel( - inv, diag, unit); + ArborX::Details::symmetricPseudoInverseSVDKernel(inv, diag, unit); }); ARBORX_MDVIEW_TEST_TOL(ref, inv, Kokkos::Experimental::epsilon_v); }