TDLS 0.2.0
Tiny Device-callable Linear Solvers
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 Ctdls::detail::adaptor_context< MatrixType, Config >Common compile-time context of the adaptor entry points: resolves the scalar type, the dimension and the TiledLUpp solvers from the matrix argument and the configuration value
 Cstd::bool_constant
 Ctdls::detail::has_pair_data< T, std::void_t< decltype(std::declval< const T & >().data().first), decltype(std::declval< const T & >().data().second)> >
 Ctdls::detail::const_data_pointer< T, bool >Element pointer type of a dense object, const flavour
 Ctdls::detail::const_data_pointer< T, true >Element pointer type of a dense object whose data() returns a (pointer, stride) pair, const flavour
 Cstd::false_type
 Ctdls::detail::has_data< T, typename >Detects a data() member returning a pointer
 Ctdls::detail::has_get_stride< T, typename >Detects a getStride() member
 Ctdls::detail::has_indexing_policy< T, typename >Detects a nested indexing_policy type
 Ctdls::detail::has_pair_data< T, typename >Detects a data() member returning a (pointer, stride) pair: the shape of strided views, whose data pointer must not be mistaken for contiguous storage
 Ctdls::detail::has_storage_traits< T, typename >Detects a complete storage_traits: the structural contract or a user specialization
 Ctdls::detail::has_stride< T, typename >Detects a stride() member
 Ctdls::detail::is_solver_config< ConfigType >Detects the configuration value types accepted by the entry points. Only the TiledLUpp family exists today; a specialization per family can join when another one lands
 Cstd::is_pointer
 Ctdls::detail::has_data< T, std::void_t< decltype(std::declval< const T & >().data())> >
 Ctdls::detail::matrix_scalar_of< MatrixType >Scalar type of a dense matrix argument, read from its storage description; a matrix argument without storage_traits is rejected here with an explicit message
 Ctdls::detail::mutable_data_pointer< T, bool >Element pointer type of a dense object, mutable flavour
 Ctdls::detail::mutable_data_pointer< T, true >Element pointer type of a dense object whose data() returns a (pointer, stride) pair, mutable flavour
 Ctdls::detail::pivot_access< PivotType, N >Pivot argument unwrapping: accepts a raw int pointer/array (treated as contiguous caller-local storage) or any int object with storage_traits, vector-like and of the system dimension when both are fixed-size
 Ctdls::storage_traits< DenseType, typename >Storage description of a dense object: element type, extents, element pointer and element stride
 Ctdls::storage_traits< DenseType, std::enable_if_t< detail::is_dense_v< DenseType > > >Storage description of dense objects matching the structural contract: a data() member (plain pointer or (pointer, stride) pair) and an indexing_policy type with constexpr extents
 Ctdls::StructuralReal< T >Floating-point value stored as an odd integer mantissa and a power-of-two exponent, admissible as a template argument on every compiler supporting class-type non-type template parameters
 Ctdls::TiledLUppConfig< T >Compile-time knobs of the TiledLUpp solvers, carrying the tuned defaults
 Ctdls::TiledLUppSolverDynamic< T, Config >Runtime-size tiled dense LU factorization with logical partial pivoting and out-of-tile pivot recovery, solving one n x n system per call
 Ctdls::TiledLUppSolverStatic< T, N, Config >Tiled dense LU factorization with logical partial pivoting and out-of-tile pivot recovery, solving one NxN system per call
 Ctdls::TileOperations< T, tile_size, unroll_inner >Tile_size x tile_size register-tile micro-kernels shared by the solver families
 Ctdls::TiledLUppTileOperations< T, tile_size, unroll_inner >Tile_size x tile_size register-tile micro-kernels of the TiledLUpp solvers: the shared kernels plus the LU column elimination
 Cstd::true_type
 Ctdls::detail::has_get_stride< T, std::void_t< decltype(std::declval< const T & >().getStride())> >
 Ctdls::detail::has_indexing_policy< T, std::void_t< typename T::indexing_policy > >
 Ctdls::detail::has_storage_traits< T, std::void_t< typename storage_traits< T >::value_type > >
 Ctdls::detail::has_stride< T, std::void_t< decltype(std::declval< const T & >().stride())> >
 Ctdls::detail::is_solver_config< TiledLUppConfig< Scalar > >TiledLUppConfig values are accepted