Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
conjugate.hpp File Reference

Read-only lazy conjugation views for tensor-level objects. More...

#include <uni20/core/runtime_precision.hpp>
#include <uni20/core/scalar_concepts.hpp>
#include <uni20/mdspan/conjugate_accessor.hpp>
#include <uni20/tensor/concepts.hpp>
#include <cstddef>
#include <memory>
#include <new>
#include <type_traits>
#include <utility>
Include dependency graph for conjugate.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  uni20::ConjugatedTensorView< Tensor >
 Non-owning tensor view whose immediate or deferred metadata presents conjugated values. More...
 
class  uni20::ConstTensorView< Tensor >
 Non-owning read-only view of a tensor-level object. More...
 

Namespaces

namespace  uni20
 

Functions

template<TensorView Tensor>
constexpr auto uni20::conj (ConjugatedTensorView< Tensor > &&view) noexcept
 Cancel a temporary tensor conjugation view and return its durable base tensor.
 
template<TensorView Tensor>
constexpr auto uni20::conj (ConjugatedTensorView< Tensor > &view) noexcept
 Cancel a tensor conjugation view and return the read-only base tensor.
 
template<TensorView Tensor>
constexpr auto uni20::conj (ConjugatedTensorView< Tensor > const &view) noexcept
 Cancel a const tensor conjugation view and return the read-only base tensor.
 
template<TensorView Tensor>
requires Complex<tensor_element_t<Tensor>>
constexpr auto uni20::conj (ConstTensorView< Tensor > &&view) noexcept
 Reapply conjugation to a temporary read-only complex tensor view.
 
template<TensorView Tensor>
requires Complex<tensor_element_t<Tensor>>
constexpr auto uni20::conj (ConstTensorView< Tensor > &view) noexcept
 Reapply conjugation to a read-only complex tensor view.
 
template<TensorView Tensor>
requires Complex<tensor_element_t<Tensor>>
constexpr auto uni20::conj (ConstTensorView< Tensor > const &view) noexcept
 Reapply conjugation to a const read-only complex tensor view.
 
template<TensorView Tensor>
requires (std::is_lvalue_reference_v<Tensor &&> && Complex<tensor_element_t<Tensor>>)
constexpr auto uni20::conj (Tensor &&tensor)
 Return a lazy read-only conjugating view of a complex tensor lvalue.
 
template<TensorView Tensor>
requires (std::is_lvalue_reference_v<Tensor &&> && !Complex<tensor_element_t<Tensor>>)
constexpr auto uni20::conj (Tensor &&tensor) noexcept -> std::remove_reference_t< Tensor > const &
 Return a read-only identity view of a non-complex tensor lvalue.
 

Detailed Description

Read-only lazy conjugation views for tensor-level objects.