Classes | Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device > Struct Template Reference

#include <TensorShuffling.h>

Inheritance diagram for Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >:
Inheritance graph
[legend]

Classes

struct  PacketLoader
 
struct  PacketLoader< LoadMode, Self, true >
 

Public Types

enum  {
  IsAligned = false, PacketAccess = (PacketType<CoeffReturnType, Device>::size > 1), BlockAccess = TensorEvaluator<ArgType, Device>::RawAccess, PreferBlockAccess = true,
  Layout = TensorEvaluator<ArgType, Device>::Layout, CoordAccess = false, RawAccess = false
}
 
typedef XprType::CoeffReturnType CoeffReturnType
 
typedef DSizes< Index, NumDimsDimensions
 
typedef Storage::Type EvaluatorPointerType
 
typedef XprType::Index Index
 
typedef PacketType< CoeffReturnType, Device >::type PacketReturnType
 
typedef XprType::Scalar Scalar
 
typedef internal::remove_const< Scalar >::type ScalarNoConst
 
typedef TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device > Self
 
typedef StorageMemory< CoeffReturnType, Device > Storage
 
typedef internal::TensorMaterializedBlock< ScalarNoConst, NumDims, Layout, IndexTensorBlock
 
typedef internal::TensorBlockDescriptor< NumDims, IndexTensorBlockDesc
 
typedef internal::TensorBlockScratchAllocator< Device > TensorBlockScratch
 
typedef TensorShufflingOp< Shuffle, ArgType > XprType
 

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorBlock block (TensorBlockDesc &desc, TensorBlockScratch &scratch, bool root_of_expr_ast=false) const
 
EIGEN_STRONG_INLINE void cleanup ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorOpCost costPerCoeff (bool vectorized) const
 
EIGEN_DEVICE_FUNC Storage::Type data () const
 
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Dimensionsdimensions () const
 
EIGEN_STRONG_INLINE bool evalSubExprsIfNeeded (EvaluatorPointerType)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::TensorBlockResourceRequirements getResourceRequirements () const
 
template<int LoadMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketReturnType packet (Index index) const
 
EIGEN_STRONG_INLINE TensorEvaluator (const XprType &op, const Device &device)
 

Static Public Attributes

static const int NumDims = internal::array_size<typename TensorEvaluator<ArgType, Device>::Dimensions>::value
 
static const int PacketSize = PacketType<CoeffReturnType, Device>::size
 

Protected Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index GetBlockOutputIndex (Index input_index, const DSizes< Index, NumDims > &input_block_strides, const DSizes< Index, NumDims > &output_block_strides, const DSizes< internal::TensorIntDivisor< Index >, NumDims > &fast_input_block_strides) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index srcCoeff (Index index) const
 

Protected Attributes

const Device EIGEN_DEVICE_REF m_device
 
Dimensions m_dimensions
 
array< internal::TensorIntDivisor< Index >, NumDimsm_fastOutputStrides
 
TensorEvaluator< ArgType, Device > m_impl
 
array< Index, NumDimsm_inputStrides
 
array< Index, NumDimsm_inverseShuffle
 
bool m_is_identity
 
array< Index, NumDimsm_outputStrides
 
array< int, NumDimsm_shuffle
 
array< Index, NumDimsm_unshuffledInputStrides
 

Detailed Description

template<typename Shuffle, typename ArgType, typename Device>
struct Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >

Definition at line 86 of file TensorShuffling.h.

Member Typedef Documentation

◆ CoeffReturnType

template<typename Shuffle , typename ArgType , typename Device >
typedef XprType::CoeffReturnType Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::CoeffReturnType

Definition at line 94 of file TensorShuffling.h.

◆ Dimensions

template<typename Shuffle , typename ArgType , typename Device >
typedef DSizes<Index, NumDims> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::Dimensions

Definition at line 92 of file TensorShuffling.h.

◆ EvaluatorPointerType

template<typename Shuffle , typename ArgType , typename Device >
typedef Storage::Type Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::EvaluatorPointerType

Definition at line 98 of file TensorShuffling.h.

◆ Index

template<typename Shuffle , typename ArgType , typename Device >
typedef XprType::Index Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::Index

Definition at line 90 of file TensorShuffling.h.

◆ PacketReturnType

template<typename Shuffle , typename ArgType , typename Device >
typedef PacketType<CoeffReturnType, Device>::type Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::PacketReturnType

Definition at line 95 of file TensorShuffling.h.

◆ Scalar

template<typename Shuffle , typename ArgType , typename Device >
typedef XprType::Scalar Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::Scalar

Definition at line 93 of file TensorShuffling.h.

◆ ScalarNoConst

template<typename Shuffle , typename ArgType , typename Device >
typedef internal::remove_const<Scalar>::type Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::ScalarNoConst

Definition at line 110 of file TensorShuffling.h.

◆ Self

template<typename Shuffle , typename ArgType , typename Device >
typedef TensorEvaluator<const TensorShufflingOp<Shuffle, ArgType>, Device> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::Self

Definition at line 88 of file TensorShuffling.h.

◆ Storage

template<typename Shuffle , typename ArgType , typename Device >
typedef StorageMemory<CoeffReturnType, Device> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::Storage

Definition at line 97 of file TensorShuffling.h.

◆ TensorBlock

template<typename Shuffle , typename ArgType , typename Device >
typedef internal::TensorMaterializedBlock<ScalarNoConst, NumDims, Layout, Index> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::TensorBlock

Definition at line 118 of file TensorShuffling.h.

◆ TensorBlockDesc

template<typename Shuffle , typename ArgType , typename Device >
typedef internal::TensorBlockDescriptor<NumDims, Index> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::TensorBlockDesc

Definition at line 113 of file TensorShuffling.h.

◆ TensorBlockScratch

template<typename Shuffle , typename ArgType , typename Device >
typedef internal::TensorBlockScratchAllocator<Device> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::TensorBlockScratch

Definition at line 114 of file TensorShuffling.h.

◆ XprType

template<typename Shuffle , typename ArgType , typename Device >
typedef TensorShufflingOp<Shuffle, ArgType> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::XprType

Definition at line 89 of file TensorShuffling.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename Shuffle , typename ArgType , typename Device >
anonymous enum
Enumerator
IsAligned 
PacketAccess 
BlockAccess 
PreferBlockAccess 
Layout 
CoordAccess 
RawAccess 

Definition at line 100 of file TensorShuffling.h.

Constructor & Destructor Documentation

◆ TensorEvaluator()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_STRONG_INLINE Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::TensorEvaluator ( const XprType op,
const Device &  device 
)
inline

Definition at line 121 of file TensorShuffling.h.

Member Function Documentation

◆ block()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorBlock Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::block ( TensorBlockDesc desc,
TensorBlockScratch scratch,
bool  root_of_expr_ast = false 
) const
inline

Definition at line 256 of file TensorShuffling.h.

◆ cleanup()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_STRONG_INLINE void Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::cleanup ( )
inline

Definition at line 180 of file TensorShuffling.h.

◆ coeff()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::coeff ( Index  index) const
inline

Definition at line 184 of file TensorShuffling.h.

◆ costPerCoeff()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorOpCost Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::costPerCoeff ( bool  vectorized) const
inline

Definition at line 281 of file TensorShuffling.h.

◆ data()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_DEVICE_FUNC Storage::Type Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::data ( ) const
inline

Definition at line 290 of file TensorShuffling.h.

◆ dimensions()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Dimensions& Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::dimensions ( ) const
inline

Definition at line 165 of file TensorShuffling.h.

◆ evalSubExprsIfNeeded()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_STRONG_INLINE bool Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::evalSubExprsIfNeeded ( EvaluatorPointerType  )
inline

Definition at line 167 of file TensorShuffling.h.

◆ GetBlockOutputIndex()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::GetBlockOutputIndex ( Index  input_index,
const DSizes< Index, NumDims > &  input_block_strides,
const DSizes< Index, NumDims > &  output_block_strides,
const DSizes< internal::TensorIntDivisor< Index >, NumDims > &  fast_input_block_strides 
) const
inlineprotected

Definition at line 299 of file TensorShuffling.h.

◆ getResourceRequirements()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::TensorBlockResourceRequirements Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::getResourceRequirements ( ) const
inline

Definition at line 234 of file TensorShuffling.h.

◆ packet()

template<typename Shuffle , typename ArgType , typename Device >
template<int LoadMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketReturnType Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::packet ( Index  index) const
inline

Definition at line 226 of file TensorShuffling.h.

◆ srcCoeff()

template<typename Shuffle , typename ArgType , typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::srcCoeff ( Index  index) const
inlineprotected

Definition at line 324 of file TensorShuffling.h.

Member Data Documentation

◆ m_device

template<typename Shuffle , typename ArgType , typename Device >
const Device EIGEN_DEVICE_REF Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::m_device
protected

Definition at line 352 of file TensorShuffling.h.

◆ m_dimensions

template<typename Shuffle , typename ArgType , typename Device >
Dimensions Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::m_dimensions
protected

Definition at line 343 of file TensorShuffling.h.

◆ m_fastOutputStrides

template<typename Shuffle , typename ArgType , typename Device >
array<internal::TensorIntDivisor<Index>, NumDims> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::m_fastOutputStrides
protected

Definition at line 348 of file TensorShuffling.h.

◆ m_impl

template<typename Shuffle , typename ArgType , typename Device >
TensorEvaluator<ArgType, Device> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::m_impl
protected

Definition at line 353 of file TensorShuffling.h.

◆ m_inputStrides

template<typename Shuffle , typename ArgType , typename Device >
array<Index, NumDims> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::m_inputStrides
protected

Definition at line 349 of file TensorShuffling.h.

◆ m_inverseShuffle

template<typename Shuffle , typename ArgType , typename Device >
array<Index, NumDims> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::m_inverseShuffle
protected

Definition at line 346 of file TensorShuffling.h.

◆ m_is_identity

template<typename Shuffle , typename ArgType , typename Device >
bool Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::m_is_identity
protected

Definition at line 344 of file TensorShuffling.h.

◆ m_outputStrides

template<typename Shuffle , typename ArgType , typename Device >
array<Index, NumDims> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::m_outputStrides
protected

Definition at line 347 of file TensorShuffling.h.

◆ m_shuffle

template<typename Shuffle , typename ArgType , typename Device >
array<int, NumDims> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::m_shuffle
protected

Definition at line 345 of file TensorShuffling.h.

◆ m_unshuffledInputStrides

template<typename Shuffle , typename ArgType , typename Device >
array<Index, NumDims> Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::m_unshuffledInputStrides
protected

Definition at line 350 of file TensorShuffling.h.

◆ NumDims

template<typename Shuffle , typename ArgType , typename Device >
const int Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::NumDims = internal::array_size<typename TensorEvaluator<ArgType, Device>::Dimensions>::value
static

Definition at line 91 of file TensorShuffling.h.

◆ PacketSize

template<typename Shuffle , typename ArgType , typename Device >
const int Eigen::TensorEvaluator< const TensorShufflingOp< Shuffle, ArgType >, Device >::PacketSize = PacketType<CoeffReturnType, Device>::size
static

Definition at line 96 of file TensorShuffling.h.


The documentation for this struct was generated from the following file:


gtsam
Author(s):
autogenerated on Sat Jun 1 2024 03:11:20