|
TDLS 0.4.0
Tiny Device-callable Linear Solvers
|
Position of every entry of an arrowhead matrix in its storage. More...
#include <tdls/core/macros.hpp>#include <tdls/solvers/arrowhead_lupp/config.hpp>#include <tdls/solvers/options.hpp>Go to the source code of this file.
Classes | |
| struct | tdls::ArrowheadStorageMap< Storage, Coupling, Layout > |
| Index of every entry of an arrowhead matrix in its storage. More... | |
Position of every entry of an arrowhead matrix in its storage.
The pattern of an arrowhead matrix follows from its shape, so the index of every entry in a storage is a function of the shape, the storage, the coupling and the layout: ArrowheadStorageMap computes it. The caller fills its matrix through it, and the solvers read through the same functions. With a compile-time shape every index folds to a constant.
Row-major storages compress or order by rows, column-major ones by columns:
block entries, stored by rows or by columns, block rows (block columns) in increasing order.Indices are ints: the dimension and the number of stored entries must stay below 2^31, which valid() checks.