|
mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
|
Reusable, non-shared storage for SVD deletion operations.
Call prepare() before a hot loop to allocate and query LAPACK once. A later operation reuses the storage whenever its dimensions and backend fit the prepared capacity. The workspace is noncopyable but movable, allowing callers to own one independent workspace per worker without sharing in-flight numerical state.
| realT | floating-point type; supported explicit instantiations are float and double. |
| abiT | type-level ABI tag; callers use the default. |
Definition at line 448 of file svdDowndate.hpp.
#include <math/svdDowndate.hpp>
Public Member Functions | |
| svdDeletionWorkspace () | |
| Construct an empty workspace. | |
| ~svdDeletionWorkspace () | |
| Release owned scratch storage. | |
| svdDeletionWorkspace (const svdDeletionWorkspace &other)=delete | |
| Workspaces cannot be copied. | |
| svdDeletionWorkspace & | operator= (const svdDeletionWorkspace &other)=delete |
| Workspaces cannot be copy-assigned. | |
| svdDeletionWorkspace (svdDeletionWorkspace &&other) noexcept | |
| Move owned storage and preparation state from another workspace. | |
| svdDeletionWorkspace & | operator= (svdDeletionWorkspace &&other) noexcept |
| Replace this workspace by moving owned storage and preparation state. | |
| MXLIB_SVD_DELETION_HEADER_ADAPTER svdDeletionStatus | prepare (Eigen::Index baseRank, Eigen::Index maximumDeleted, svdDeletionBackend backend) |
| Prepare reusable storage and LAPACK work arrays. | |
| void | clear () noexcept |
| Release all prepared storage and reset dimensions. | |
| bool | prepared () const noexcept |
| Report whether this workspace has completed preparation. | |
| std::int64_t | baseRank () const noexcept |
| Return the prepared base rank. | |
| std::int64_t | maximumDeleted () const noexcept |
| Return the prepared maximum deletion count. | |
| svdDeletionBackend | backend () const noexcept |
| Return the prepared numerical backend. | |
| MXLAPACK_INT | lapackInfo () const noexcept |
| Return the underlying LAPACK status from the most recent failed workspace query. | |
| mx::math::svdDeletionWorkspace< realT, abiT >::svdDeletionWorkspace | ( | ) |
Construct an empty workspace.
Definition at line 1842 of file svdDowndate.cpp.
| mx::math::svdDeletionWorkspace< realT, abiT >::~svdDeletionWorkspace | ( | ) |
Release owned scratch storage.
Definition at line 1847 of file svdDowndate.cpp.
|
delete |
Workspaces cannot be copied.
| [in] | other | workspace that copying is forbidden from |
|
defaultnoexcept |
Move owned storage and preparation state from another workspace.
| [in,out] | other | workspace to move from |
|
noexcept |
Return the prepared numerical backend.
Definition at line 2181 of file svdDowndate.cpp.
References stableCore.
Referenced by unitTest::math_svdDowndate_test::TEST_CASE().
|
noexcept |
Return the prepared base rank.
Definition at line 2169 of file svdDowndate.cpp.
Referenced by unitTest::math_svdDowndate_test::TEST_CASE().
|
noexcept |
Release all prepared storage and reset dimensions.
Definition at line 2121 of file svdDowndate.cpp.
References stableCore.
Referenced by unitTest::math_svdDowndate_test::TEST_CASE().
|
noexcept |
Return the underlying LAPACK status from the most recent failed workspace query.
Definition at line 2187 of file svdDowndate.cpp.
Referenced by unitTest::math_svdDowndate_test::TEST_CASE(), and unitTest::math_svdDowndate_test::TEST_CASE().
|
noexcept |
Return the prepared maximum deletion count.
Definition at line 2175 of file svdDowndate.cpp.
Referenced by unitTest::math_svdDowndate_test::TEST_CASE(), and unitTest::math_svdDowndate_test::TEST_CASE().
|
delete |
Workspaces cannot be copy-assigned.
| [in] | other | workspace that copy assignment is forbidden from |
|
defaultnoexcept |
Replace this workspace by moving owned storage and preparation state.
| [in,out] | other | workspace to move from |
|
inline |
Prepare reusable storage and LAPACK work arrays.
| [in] | baseRank | maximum supplied singular rank |
| [in] | maximumDeleted | maximum rows of the deleted-side factor |
| [in] | backend | numerical backend to prepare |
Definition at line 476 of file svdDowndate.hpp.
Referenced by unitTest::math_svdDowndate_test::TEST_CASE(), unitTest::math_svdDowndate_test::TEST_CASE(), unitTest::math_svdDowndate_test::TEST_CASE(), unitTest::math_svdDowndate_test::TEST_CASE(), unitTest::math_svdDowndate_test::TEST_CASE(), and unitTest::math_svdDowndate_test::TEST_CASE().
|
noexcept |
Report whether this workspace has completed preparation.
Definition at line 2163 of file svdDowndate.cpp.
Referenced by unitTest::math_svdDowndate_test::TEST_CASE(), unitTest::math_svdDowndate_test::TEST_CASE(), and unitTest::math_svdDowndate_test::TEST_CASE().