|
TDLS 0.4.0
Tiny Device-callable Linear Solvers
|
Block k of a streamed solve of ArrowheadLUppSolverStatic (ArrowheadLUppSolverStatic::StreamedBlock): the working arrays of the solver themselves, which the caller fills through the accessors when the solver asks for the block; the factorization and the solve then run in place. Only a save is copied (D_k, and [A_kb | y_k] when the column-major check reads the forward stage), to store a refused block as given. Entries in logical order whatever the layout and the storage. The arrays come uninitialized, or holding another block: the caller writes every entry, zeros included, by assignment. More...
#include <solver_static.hpp>
Public Member Functions | |
| 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 |
Public Attributes | |
| 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] |
Block k of a streamed solve of ArrowheadLUppSolverStatic (ArrowheadLUppSolverStatic::StreamedBlock): the working arrays of the solver themselves, which the caller fills through the accessors when the solver asks for the block; the factorization and the solve then run in place. Only a save is copied (D_k, and [A_kb | y_k] when the column-major check reads the forward stage), to store a refused block as given. Entries in logical order whatever the layout and the storage. The arrays come uninitialized, or holding another block: the caller writes every entry, zeros included, by assignment.
| T | scalar type |
| S | unknowns of a block |
| B | border unknowns |
| col | column-major layout |
| diag | diagonal coupling |
|
inlineconstexprnoexcept |
| [in] | r | border row |
| [in] | i | column of the block |
|
inlineconstexprnoexcept |
| [in] | i | row of the block |
| [in] | c | border column |
|
inlineconstexprnoexcept |
| [in] | i | row and column of the block |
|
inlineconstexprnoexcept |
| [in] | i | row of the block |
| [in] | j | column of the block |
|
inlineconstexprnoexcept |
| [in] | i | row of the block |
| T tdls::detail::ArrowheadStreamedBlock< T, S, B, col, diag >::Abk[diag ? S :B *S] |
A_bk: coupled rows (diagonal) or B x S (dense)