|
TDLS 0.2.0
Tiny Device-callable Linear Solvers
|
Compile-time configuration of the TiledLUpp solver family. More...
#include <limits>#include <type_traits>#include <tdls/core/macros.hpp>#include <tdls/core/structural_real.hpp>#include <tdls/solvers/options.hpp>Go to the source code of this file.
Classes | |
| struct | tdls::TiledLUppConfig< T > |
| Compile-time knobs of the TiledLUpp solvers, carrying the tuned defaults. More... | |
Compile-time configuration of the TiledLUpp solver family.
Every knob is a member of the TiledLUppConfig aggregate. A constexpr instance of it is passed as the Config non-type template argument of the TiledLUpp solvers. The default-constructed value carries the tuned defaults; a caller overrides individual knobs with designated initializers, in declaration order:
constexpr auto config = tdls::TiledLUppConfig<double>{.tile_size = 4};
The aggregate is a structural type, as class-type non-type template parameters require: every member is public, and two configurations with equal members name the same solver instantiation. The two floating-point knobs are held as tdls::StructuralReal values: exact, built and read back implicitly, and admissible as template arguments on every compiler supporting class-type template parameters (a plain floating-point member would need P1907R1, absent from GCC 10 and from every nvcc before CUDA 13.0).