|
TDLS 0.4.0
Tiny Device-callable Linear Solvers
|
Block k of a recomputed solve (solve_inplace_recomputed, solve_inplace_recomputed_or_tangent): a StreamedBlock, the same accessors, and whether the solver asks for the block again, in its recovery. A provider taking a StreamedBlock& serves too; one taking a RecomputedBlock&, or auto&, reads the flag. The streamed entry points keep the StreamedBlock alone, so that their code is that of a solver without the recomputed ones. More...
#include <solver_static.hpp>
Public Attributes | |
| bool | recovery = false |
Public Attributes inherited from tdls::detail::ArrowheadStreamedBlock< T, S, B, col, diag > | |
| T | Dl [S *S] |
| D_k in the layout of the factorization. | |
| T | W [(B+1) *S] |
| [A_kb | y_k], column c at c * S | |
| T | Abk [diag ? S :B *S] |
Additional Inherited Members | |
Public Member Functions inherited from tdls::detail::ArrowheadStreamedBlock< T, S, B, col, diag > | |
| TDLS_HOST_DEVICE TDLS_FORCE_INLINE_ALL constexpr T & | d (const int i, const int j) noexcept |
| TDLS_HOST_DEVICE TDLS_FORCE_INLINE_ALL constexpr T & | akb (const int i, const int c) noexcept |
| TDLS_HOST_DEVICE TDLS_FORCE_INLINE_ALL constexpr T & | y (const int i) noexcept |
| TDLS_HOST_DEVICE TDLS_FORCE_INLINE_ALL constexpr T & | coupling (const int i) noexcept |
| TDLS_HOST_DEVICE TDLS_FORCE_INLINE_ALL constexpr T & | abk (const int r, const int i) noexcept |
Block k of a recomputed solve (solve_inplace_recomputed, solve_inplace_recomputed_or_tangent): a StreamedBlock, the same accessors, and whether the solver asks for the block again, in its recovery. A provider taking a StreamedBlock& serves too; one taking a RecomputedBlock&, or auto&, reads the flag. The streamed entry points keep the StreamedBlock alone, so that their code is that of a solver without the recomputed ones.
| T | scalar type |
| S | unknowns of a block |
| B | border unknowns |
| col | column-major layout |
| diag | diagonal coupling |
| bool tdls::detail::ArrowheadRecomputedBlock< T, S, B, col, diag >::recovery = false |
Set when the solver asks for the block again, in its recovery: the provider may then skip what it accumulates once per pass, a residual for instance. False while it condenses the block.