Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Namespaces | Typedefs | Enumerations | Functions
block_tensor_repartition.hpp File Reference

Defines zero-copy bosonic edge repartition views. More...

#include <uni20/symmetry/block_tensor_concepts.hpp>
#include <uni20/symmetry/block_tensor_mapped_view.hpp>
#include <array>
#include <concepts>
#include <cstddef>
#include <tuple>
#include <type_traits>
#include <utility>
Include dependency graph for block_tensor_repartition.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  uni20
 

Typedefs

template<class SourceTensor , MorphismSide Side, BoundaryEnd End>
using uni20::BlockTensorRepartitionView = typename detail::RepartitionViewTraits< SourceTensor, Side, End >::type
 Zero-copy view of one bosonic edge leg bent across a morphism boundary.
 

Enumerations

enum class  uni20::BoundaryEnd { uni20::Left , uni20::Right }
 Planar boundary end at which repartition bends one leg. More...
 
enum class  uni20::MorphismSide { uni20::Domain , uni20::Codomain }
 Morphism side from which repartition bends one edge leg. More...
 

Functions

template<MorphismSide Side, BoundaryEnd End, class Tensor >
requires (!std::is_lvalue_reference_v<Tensor &&> && detail::RepartitionSourceHasLeg<Tensor, Side> && !BorrowedBlockTensorView<Tensor>)
auto uni20::repartition (Tensor &&)=delete
 Repartition a temporary borrowed BlockTensor view without retaining the intermediate view.
 
template<MorphismSide Side, BoundaryEnd End, BorrowedBlockTensorView Tensor>
requires (!std::is_lvalue_reference_v<Tensor &&> && detail::RepartitionSourceHasLeg<Tensor, Side>)
auto uni20::repartition (Tensor &&tensor)
 Repartition a temporary borrowed BlockTensor view without retaining the intermediate view.
 
template<MorphismSide Side, BoundaryEnd End, class Tensor >
requires detail::RepartitionSourceHasLeg<Tensor, Side>
auto uni20::repartition (Tensor &tensor) -> BlockTensorRepartitionView< Tensor, Side, End >
 Bend one planar edge leg across a BlockTensor morphism boundary.
 

Detailed Description

Defines zero-copy bosonic edge repartition views.