|
Uni20
Asynchronous tensor and runtime library.
|
Accessor support for compressed generalized diagonal tensors. More...
#include <uni20/core/compiler_attributes.hpp>#include <uni20/core/types.hpp>#include <uni20/mdspan/concepts.hpp>#include <uni20/mdspan/generated_layout.hpp>#include <array>#include <cassert>#include <concepts>#include <cstddef>#include <stdexcept>#include <type_traits>#include <utility>Go to the source code of this file.
Classes | |
| class | uni20::diagonal_accessor< ElementType, Extents > |
| Mdspan accessor over a compressed rank-N generalized diagonal. More... | |
| struct | uni20::diagonal_accessor< ElementType, Extents >::component_index_result |
| Decoded component coordinate for one logical mapping offset. More... | |
| struct | uni20::diagonal_data_handle< ElementType > |
| Handle for one compressed generalized diagonal value sequence. More... | |
| class | uni20::diagonal_reference< ElementType > |
| Writable proxy for one structural diagonal or off-diagonal element. More... | |
| struct | uni20::remove_proxy_reference< diagonal_reference< ElementType > > |
| Recover the stored value type from a writable diagonal proxy. More... | |
Namespaces | |
| namespace | uni20 |
Functions | |
| template<class ElementType , class Extents > requires (!std::is_const_v<ElementType>) | |
| UNI20_HOST_DEVICE constexpr auto | uni20::const_accessor (diagonal_accessor< ElementType, Extents > const &accessor) |
| Convert a writable diagonal accessor to its read-only form. | |
| template<class ElementType , class Extents > requires std::is_const_v<ElementType> | |
| UNI20_HOST_DEVICE constexpr auto | uni20::const_accessor (diagonal_accessor< ElementType, Extents > const &accessor) |
| Return an already read-only diagonal accessor unchanged. | |
| template<class ElementType , class Extents , class LayoutPolicy , class AccessorExtents > requires (Extents::rank() == AccessorExtents::rank()) | |
| constexpr auto | uni20::diagonal_components (stdex::mdspan< ElementType, Extents, LayoutPolicy, diagonal_accessor< ElementType, AccessorExtents > > const &span) |
| Expose the physically stored values of a generalized-diagonal mdspan. | |
| template<class Extents , class Components > requires RankedStridedMdspanLike<Components, 1> && DefaultAccessorMdspanLike<Components> | |
| constexpr auto | uni20::make_diagonal_mdspan (Extents logical_extents, Components const &components) |
| Present rank-one strided components as a full generalized-diagonal mdspan. | |
Variables | |
| template<class ElementType , class Extents > | |
| constexpr bool | uni20::enable_accessor_in_domain< diagonal_accessor< ElementType, Extents >, host_access_domain > = true |
| Diagonal accessors may be evaluated by ordinary host code. | |
Accessor support for compressed generalized diagonal tensors.