|
Uni20
Asynchronous tensor and runtime library.
|
Mdspan accessor adaptor for lazy complex conjugation. More...
#include <uni20/core/compiler_attributes.hpp>#include <uni20/core/math.hpp>#include <uni20/mdspan/concepts.hpp>#include <uni20/mdspan/mdspec.hpp>#include <concepts>#include <type_traits>#include <utility>Go to the source code of this file.
Classes | |
| struct | uni20::accessor_applies_conjugation< Accessor > |
| Trait used by mdspan accessors that present conjugated values on read. More... | |
| struct | uni20::accessor_applies_conjugation< conjugated_accessor< Accessor > > |
| class | uni20::conjugated_accessor< Accessor > |
Read-only accessor that returns uni20::conj of the wrapped accessor value. More... | |
Namespaces | |
| namespace | uni20 |
Functions | |
| template<MdspanLike Span> requires (uni20::Complex<std::remove_cv_t<typename Span::element_type>> && !accessor_applies_conjugation_v<typename std::remove_cvref_t<Span>::accessor_type>) | |
| constexpr auto | uni20::conj (Span const &span) |
| Return a read-only mdspan view that presents conjugated complex values. | |
| template<MdspecLike Span> requires (!MdspanLike<Span> && uni20::Complex<std::remove_cv_t<typename Span::element_type>> && !accessor_applies_conjugation_v<typename std::remove_cvref_t<Span>::accessor_type>) | |
| constexpr auto | uni20::conj (Span const &span) |
| Return a read-only deferred view that presents conjugated complex values. | |
| template<MdspanLike Span> requires (uni20::Complex<std::remove_cv_t<typename Span::element_type>> && accessor_applies_conjugation_v<typename std::remove_cvref_t<Span>::accessor_type>) | |
| constexpr auto | uni20::conj (Span const &span) |
| Cancel a conjugating mdspan accessor and return the underlying view. | |
| template<MdspecLike Span> requires (!MdspanLike<Span> && uni20::Complex<std::remove_cv_t<typename Span::element_type>> && accessor_applies_conjugation_v<typename std::remove_cvref_t<Span>::accessor_type>) | |
| constexpr auto | uni20::conj (Span const &span) |
| Cancel conjugation on a deferred multidimensional view. | |
| template<MdspanLike Span> requires (!uni20::Complex<std::remove_cv_t<typename Span::element_type>>) | |
| constexpr auto | uni20::conj (Span const &span) |
| Return a read-only identity view for non-complex mdspan-like views. | |
| template<MdspecLike Span> requires (!MdspanLike<Span> && !uni20::Complex<std::remove_cv_t<typename Span::element_type>>) | |
| constexpr auto | uni20::conj (Span const &span) |
| Return a read-only identity view for a non-complex deferred view. | |
Variables | |
| template<class Accessor > | |
| constexpr bool | uni20::accessor_applies_conjugation_v |
| True when an accessor presents conjugated values. | |
| template<AccessorPolicy Accessor, class Domain > | |
| constexpr bool | uni20::enable_accessor_in_domain< conjugated_accessor< Accessor >, Domain > |
| Conjugation preserves the execution domains of the wrapped accessor. | |
| template<class Mdspan > | |
| constexpr bool | uni20::mdspan_needs_conjugation_v |
| True when an mdspan-like type's accessor presents conjugated values. | |
Mdspan accessor adaptor for lazy complex conjugation.