Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Eigen::TensorContractionEvaluatorBase< Derived > Struct Template Reference

#include <TensorContraction.h>

Public Types

enum  {
  IsAligned = true, PacketAccess = (internal::unpacket_traits<PacketReturnType>::size > 1), Layout = TensorEvaluator<LeftArgType, Device>::Layout, CoordAccess = false,
  RawAccess = true
}
 
typedef XprType::CoeffReturnType CoeffReturnType
 
typedef array< Index, ContractDimscontract_t
 
typedef internal::traits< Derived >::Device Device
 
typedef DSizes< Index, NumDimsDimensions
 
typedef internal::conditional< static_cast< int >Layout)==static_cast< int >ColMajor), LeftArgType, RightArgType >::type EvalLeftArgType
 
typedef internal::conditional< static_cast< int >Layout)==static_cast< int >ColMajor), RightArgType, LeftArgType >::type EvalRightArgType
 
typedef XprType::Index Index
 
typedef internal::traits< Derived >::Indices Indices
 
typedef array< Index, LDims-ContractDimsleft_nocontract_t
 
typedef internal::traits< Derived >::LeftArgType LeftArgType
 
typedef PacketType< CoeffReturnType, Device >::type PacketReturnType
 
typedef array< Index, RDims-ContractDimsright_nocontract_t
 
typedef internal::traits< Derived >::RightArgType RightArgType
 
typedef internal::remove_const< typename XprType::Scalar >::type Scalar
 
typedef TensorContractionOp< Indices, LeftArgType, RightArgTypeXprType
 

Public Member Functions

EIGEN_DEVICE_FUNC 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) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalardata () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensionsdimensions () const
 
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
EIGEN_DEVICE_FUNC void evalGemm (Scalar *buffer) const
 
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
EIGEN_DEVICE_FUNC void evalGemv (Scalar *buffer) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool evalSubExprsIfNeeded (Scalar *data)
 
EIGEN_DEVICE_FUNC void evalTo (Scalar *buffer) const
 
template<int LoadMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketReturnType packet (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionEvaluatorBase (const XprType &op, const Device &device)
 

Static Public Attributes

static const int ContractDims = internal::array_size<Indices>::value
 
static const int LDims
 
static const int NumDims = LDims + RDims - 2 * ContractDims
 
static const int RDims
 

Protected Member Functions

TensorContractionEvaluatorBaseoperator= (const TensorContractionEvaluatorBase &)
 

Protected Attributes

const Devicem_device
 
Dimensions m_dimensions
 
Index m_i_size
 
left_nocontract_t m_i_strides
 
Index m_j_size
 
right_nocontract_t m_j_strides
 
Index m_k_size
 
contract_t m_k_strides
 
contract_t m_left_contracting_strides
 
left_nocontract_t m_left_nocontract_strides
 
TensorEvaluator< EvalLeftArgType, Devicem_leftImpl
 
bool m_lhs_inner_dim_contiguous
 
Scalarm_result
 
bool m_rhs_inner_dim_contiguous
 
bool m_rhs_inner_dim_reordered
 
contract_t m_right_contracting_strides
 
right_nocontract_t m_right_nocontract_strides
 
TensorEvaluator< EvalRightArgType, Devicem_rightImpl
 

Detailed Description

template<typename Derived>
struct Eigen::TensorContractionEvaluatorBase< Derived >

Definition at line 109 of file TensorContraction.h.

Member Typedef Documentation

template<typename Derived>
typedef XprType::CoeffReturnType Eigen::TensorContractionEvaluatorBase< Derived >::CoeffReturnType

Definition at line 119 of file TensorContraction.h.

template<typename Derived>
typedef array<Index, ContractDims> Eigen::TensorContractionEvaluatorBase< Derived >::contract_t

Definition at line 146 of file TensorContraction.h.

template<typename Derived>
typedef internal::traits<Derived>::Device Eigen::TensorContractionEvaluatorBase< Derived >::Device

Definition at line 114 of file TensorContraction.h.

template<typename Derived>
typedef DSizes<Index, NumDims> Eigen::TensorContractionEvaluatorBase< Derived >::Dimensions

Definition at line 150 of file TensorContraction.h.

template<typename Derived>
typedef internal::conditional< static_cast<int>Layout) == static_cast<int>ColMajor), LeftArgType, RightArgType>::type Eigen::TensorContractionEvaluatorBase< Derived >::EvalLeftArgType

Definition at line 135 of file TensorContraction.h.

template<typename Derived>
typedef internal::conditional< static_cast<int>Layout) == static_cast<int>ColMajor), RightArgType, LeftArgType>::type Eigen::TensorContractionEvaluatorBase< Derived >::EvalRightArgType

Definition at line 137 of file TensorContraction.h.

template<typename Derived>
typedef XprType::Index Eigen::TensorContractionEvaluatorBase< Derived >::Index

Definition at line 118 of file TensorContraction.h.

template<typename Derived>
typedef internal::traits<Derived>::Indices Eigen::TensorContractionEvaluatorBase< Derived >::Indices

Definition at line 111 of file TensorContraction.h.

template<typename Derived>
typedef array<Index, LDims - ContractDims> Eigen::TensorContractionEvaluatorBase< Derived >::left_nocontract_t

Definition at line 147 of file TensorContraction.h.

template<typename Derived>
typedef internal::traits<Derived>::LeftArgType Eigen::TensorContractionEvaluatorBase< Derived >::LeftArgType

Definition at line 112 of file TensorContraction.h.

Definition at line 120 of file TensorContraction.h.

template<typename Derived>
typedef array<Index, RDims - ContractDims> Eigen::TensorContractionEvaluatorBase< Derived >::right_nocontract_t

Definition at line 148 of file TensorContraction.h.

template<typename Derived>
typedef internal::traits<Derived>::RightArgType Eigen::TensorContractionEvaluatorBase< Derived >::RightArgType

Definition at line 113 of file TensorContraction.h.

template<typename Derived>
typedef internal::remove_const<typename XprType::Scalar>::type Eigen::TensorContractionEvaluatorBase< Derived >::Scalar

Definition at line 117 of file TensorContraction.h.

Definition at line 116 of file TensorContraction.h.

Member Enumeration Documentation

template<typename Derived>
anonymous enum
Enumerator
IsAligned 
PacketAccess 
Layout 
CoordAccess 
RawAccess 

Definition at line 122 of file TensorContraction.h.

Constructor & Destructor Documentation

template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::TensorContractionEvaluatorBase< Derived >::TensorContractionEvaluatorBase ( const XprType op,
const Device device 
)
inline

Definition at line 153 of file TensorContraction.h.

Member Function Documentation

template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::TensorContractionEvaluatorBase< Derived >::cleanup ( )
inline

Definition at line 516 of file TensorContraction.h.

template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::TensorContractionEvaluatorBase< Derived >::coeff ( Index  index) const
inline

Definition at line 526 of file TensorContraction.h.

template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorOpCost Eigen::TensorContractionEvaluatorBase< Derived >::costPerCoeff ( bool  ) const
inline

Definition at line 530 of file TensorContraction.h.

template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar* Eigen::TensorContractionEvaluatorBase< Derived >::data ( ) const
inline

Definition at line 539 of file TensorContraction.h.

template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensions& Eigen::TensorContractionEvaluatorBase< Derived >::dimensions ( ) const
inline

Definition at line 328 of file TensorContraction.h.

template<typename Derived>
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
EIGEN_DEVICE_FUNC void Eigen::TensorContractionEvaluatorBase< Derived >::evalGemm ( Scalar buffer) const
inline

Definition at line 424 of file TensorContraction.h.

template<typename Derived>
template<bool lhs_inner_dim_contiguous, bool rhs_inner_dim_contiguous, bool rhs_inner_dim_reordered, int Alignment>
EIGEN_DEVICE_FUNC void Eigen::TensorContractionEvaluatorBase< Derived >::evalGemv ( Scalar buffer) const
inline

Definition at line 383 of file TensorContraction.h.

template<typename Derived>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool Eigen::TensorContractionEvaluatorBase< Derived >::evalSubExprsIfNeeded ( Scalar data)
inline

Definition at line 330 of file TensorContraction.h.

template<typename Derived>
EIGEN_DEVICE_FUNC void Eigen::TensorContractionEvaluatorBase< Derived >::evalTo ( Scalar buffer) const
inline

Definition at line 343 of file TensorContraction.h.

template<typename Derived>
TensorContractionEvaluatorBase& Eigen::TensorContractionEvaluatorBase< Derived >::operator= ( const TensorContractionEvaluatorBase< Derived > &  )
protected
template<typename Derived>
template<int LoadMode>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketReturnType Eigen::TensorContractionEvaluatorBase< Derived >::packet ( Index  index) const
inline

Definition at line 535 of file TensorContraction.h.

Member Data Documentation

template<typename Derived>
const int Eigen::TensorContractionEvaluatorBase< Derived >::ContractDims = internal::array_size<Indices>::value
static

Definition at line 143 of file TensorContraction.h.

template<typename Derived>
const int Eigen::TensorContractionEvaluatorBase< Derived >::LDims
static
Initial value:
=
internal::array_size<typename TensorEvaluator<EvalLeftArgType, Device>::Dimensions>::value

Definition at line 139 of file TensorContraction.h.

template<typename Derived>
const Device& Eigen::TensorContractionEvaluatorBase< Derived >::m_device
protected

Definition at line 565 of file TensorContraction.h.

template<typename Derived>
Dimensions Eigen::TensorContractionEvaluatorBase< Derived >::m_dimensions
protected

Definition at line 544 of file TensorContraction.h.

template<typename Derived>
Index Eigen::TensorContractionEvaluatorBase< Derived >::m_i_size
protected

Definition at line 559 of file TensorContraction.h.

template<typename Derived>
left_nocontract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_i_strides
protected

Definition at line 554 of file TensorContraction.h.

template<typename Derived>
Index Eigen::TensorContractionEvaluatorBase< Derived >::m_j_size
protected

Definition at line 560 of file TensorContraction.h.

template<typename Derived>
right_nocontract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_j_strides
protected

Definition at line 555 of file TensorContraction.h.

template<typename Derived>
Index Eigen::TensorContractionEvaluatorBase< Derived >::m_k_size
protected

Definition at line 561 of file TensorContraction.h.

template<typename Derived>
contract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_k_strides
protected

Definition at line 546 of file TensorContraction.h.

template<typename Derived>
contract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_left_contracting_strides
protected

Definition at line 547 of file TensorContraction.h.

template<typename Derived>
left_nocontract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_left_nocontract_strides
protected

Definition at line 556 of file TensorContraction.h.

template<typename Derived>
TensorEvaluator<EvalLeftArgType, Device> Eigen::TensorContractionEvaluatorBase< Derived >::m_leftImpl
protected

Definition at line 563 of file TensorContraction.h.

template<typename Derived>
bool Eigen::TensorContractionEvaluatorBase< Derived >::m_lhs_inner_dim_contiguous
protected

Definition at line 550 of file TensorContraction.h.

template<typename Derived>
Scalar* Eigen::TensorContractionEvaluatorBase< Derived >::m_result
protected

Definition at line 566 of file TensorContraction.h.

template<typename Derived>
bool Eigen::TensorContractionEvaluatorBase< Derived >::m_rhs_inner_dim_contiguous
protected

Definition at line 551 of file TensorContraction.h.

template<typename Derived>
bool Eigen::TensorContractionEvaluatorBase< Derived >::m_rhs_inner_dim_reordered
protected

Definition at line 552 of file TensorContraction.h.

template<typename Derived>
contract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_right_contracting_strides
protected

Definition at line 548 of file TensorContraction.h.

template<typename Derived>
right_nocontract_t Eigen::TensorContractionEvaluatorBase< Derived >::m_right_nocontract_strides
protected

Definition at line 557 of file TensorContraction.h.

template<typename Derived>
TensorEvaluator<EvalRightArgType, Device> Eigen::TensorContractionEvaluatorBase< Derived >::m_rightImpl
protected

Definition at line 564 of file TensorContraction.h.

template<typename Derived>
const int Eigen::TensorContractionEvaluatorBase< Derived >::NumDims = LDims + RDims - 2 * ContractDims
static

Definition at line 144 of file TensorContraction.h.

template<typename Derived>
const int Eigen::TensorContractionEvaluatorBase< Derived >::RDims
static
Initial value:
=
internal::array_size<typename TensorEvaluator<EvalRightArgType, Device>::Dimensions>::value

Definition at line 141 of file TensorContraction.h.


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


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:55:13