tesseract++ 0.0.1
N-dimensional tensor library for embedded systems
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
PermutedView< Tensor, N > Class Template Reference

#include <permuted_view.h>

Inheritance diagram for PermutedView< Tensor, N >:
Inheritance graph
[legend]
Collaboration diagram for PermutedView< Tensor, N >:
Collaboration graph
[legend]

Public Types

using value_type = typename Tensor::value_type
 

Public Member Functions

 PermutedView (const Tensor &t, const my_size_t perm[NumDims])
 
 PermutedView (const PermutedView &)=delete
 
PermutedViewoperator= (const PermutedView &)=delete
 
 PermutedView (PermutedView &&)=delete
 
PermutedViewoperator= (PermutedView &&)=delete
 
template<typename Output >
bool may_alias (const Output &output) const noexcept
 
template<typename... Indices>
requires (sizeof...(Indices) == NumDims)
FORCE_INLINE const value_typeoperator() (Indices... indices) const noexcept
 
FORCE_INLINE const value_typeoperator() (my_size_t(&indices)[NumDims]) const noexcept
 
FORCE_INLINE const value_typeoperator() (const my_size_t *indices) const noexcept
 
template<typename T , my_size_t Bits, typename Arch >
FORCE_INLINE Microkernel< T, Bits, Arch >::VecType evalu (my_size_t flat) const noexcept
 
FORCE_INLINE constexpr my_size_t getNumDims () const noexcept
 
FORCE_INLINE constexpr my_size_t getDim (my_size_t i) const
 
FORCE_INLINE constexpr my_size_t getTotalSize () const noexcept
 
FORCE_INLINE const Tensor & transpose () const noexcept
 
std::string getShape () const
 
- Public Member Functions inherited from BaseExpr< PermutedView< Tensor, N > >
const PermutedView< Tensor, N > & derived () const
 

Static Public Attributes

static constexpr my_size_t NumDims = N
 
static constexpr const my_size_tDim = Tensor::Dim
 
static constexpr my_size_t TotalSize = Tensor::TotalSize
 

Member Typedef Documentation

◆ value_type

template<typename Tensor , my_size_t N>
using PermutedView< Tensor, N >::value_type = typename Tensor::value_type

Constructor & Destructor Documentation

◆ PermutedView() [1/3]

template<typename Tensor , my_size_t N>
PermutedView< Tensor, N >::PermutedView ( const Tensor &  t,
const my_size_t  perm[NumDims] 
)
inlineexplicit
Here is the call graph for this function:

◆ PermutedView() [2/3]

template<typename Tensor , my_size_t N>
PermutedView< Tensor, N >::PermutedView ( const PermutedView< Tensor, N > &  )
delete

◆ PermutedView() [3/3]

template<typename Tensor , my_size_t N>
PermutedView< Tensor, N >::PermutedView ( PermutedView< Tensor, N > &&  )
delete

Member Function Documentation

◆ evalu()

template<typename Tensor , my_size_t N>
template<typename T , my_size_t Bits, typename Arch >
FORCE_INLINE Microkernel< T, Bits, Arch >::VecType PermutedView< Tensor, N >::evalu ( my_size_t  flat) const
inlinenoexcept
Here is the call graph for this function:

◆ getDim()

template<typename Tensor , my_size_t N>
FORCE_INLINE constexpr my_size_t PermutedView< Tensor, N >::getDim ( my_size_t  i) const
inlineconstexpr
Here is the call graph for this function:

◆ getNumDims()

template<typename Tensor , my_size_t N>
FORCE_INLINE constexpr my_size_t PermutedView< Tensor, N >::getNumDims ( ) const
inlineconstexprnoexcept

◆ getShape()

template<typename Tensor , my_size_t N>
std::string PermutedView< Tensor, N >::getShape ( ) const
inline
Here is the call graph for this function:

◆ getTotalSize()

template<typename Tensor , my_size_t N>
FORCE_INLINE constexpr my_size_t PermutedView< Tensor, N >::getTotalSize ( ) const
inlineconstexprnoexcept

◆ may_alias()

template<typename Tensor , my_size_t N>
template<typename Output >
bool PermutedView< Tensor, N >::may_alias ( const Output &  output) const
inlinenoexcept

◆ operator()() [1/3]

template<typename Tensor , my_size_t N>
FORCE_INLINE const value_type & PermutedView< Tensor, N >::operator() ( const my_size_t indices) const
inlinenoexcept
Here is the call graph for this function:

◆ operator()() [2/3]

template<typename Tensor , my_size_t N>
template<typename... Indices>
requires (sizeof...(Indices) == NumDims)
FORCE_INLINE const value_type & PermutedView< Tensor, N >::operator() ( Indices...  indices) const
inlinenoexcept
Here is the call graph for this function:

◆ operator()() [3/3]

template<typename Tensor , my_size_t N>
FORCE_INLINE const value_type & PermutedView< Tensor, N >::operator() ( my_size_t(&)  indices[NumDims]) const
inlinenoexcept
Here is the call graph for this function:

◆ operator=() [1/2]

template<typename Tensor , my_size_t N>
PermutedView & PermutedView< Tensor, N >::operator= ( const PermutedView< Tensor, N > &  )
delete

◆ operator=() [2/2]

template<typename Tensor , my_size_t N>
PermutedView & PermutedView< Tensor, N >::operator= ( PermutedView< Tensor, N > &&  )
delete

◆ transpose()

template<typename Tensor , my_size_t N>
FORCE_INLINE const Tensor & PermutedView< Tensor, N >::transpose ( ) const
inlinenoexcept

Member Data Documentation

◆ Dim

template<typename Tensor , my_size_t N>
constexpr const my_size_t* PermutedView< Tensor, N >::Dim = Tensor::Dim
staticconstexpr

◆ NumDims

template<typename Tensor , my_size_t N>
constexpr my_size_t PermutedView< Tensor, N >::NumDims = N
staticconstexpr

◆ TotalSize

template<typename Tensor , my_size_t N>
constexpr my_size_t PermutedView< Tensor, N >::TotalSize = Tensor::TotalSize
staticconstexpr

The documentation for this class was generated from the following files: