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

Public Types

enum  {
  IsAligned = true, PacketAccess = (internal::unpacket_traits<PacketReturnType>::size > 1), Layout = TensorEvaluator<LeftArgType, Device>::Layout, CoordAccess = false,
  RawAccess = true
}
 
typedef internal::traits< Derived >::Indices Indices
 
typedef internal::traits< Derived >::LeftArgType LeftArgType
 
typedef internal::traits< Derived >::RightArgType RightArgType
 
typedef internal::traits< Derived >::Device Device
 
typedef TensorContractionOp< Indices, LeftArgType, RightArgType > XprType
 
typedef internal::remove_const< typename XprType::Scalar >::type Scalar
 
typedef XprType::Index Index
 
typedef XprType::CoeffReturnType CoeffReturnType
 
typedef PacketType< CoeffReturnType, Device >::type PacketReturnType
 
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 array< Index, ContractDims > contract_t
 
typedef array< Index, LDims - ContractDims > left_nocontract_t
 
typedef array< Index, RDims - ContractDims > right_nocontract_t
 
typedef DSizes< Index, NumDims > Dimensions
 

Public Member Functions

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

Static Public Attributes

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

Protected Member Functions

TensorContractionEvaluatorBaseoperator= (const TensorContractionEvaluatorBase &)
 

Protected Attributes

Dimensions m_dimensions
 
contract_t m_k_strides
 
contract_t m_left_contracting_strides
 
contract_t m_right_contracting_strides
 
bool m_lhs_inner_dim_contiguous
 
bool m_rhs_inner_dim_contiguous
 
bool m_rhs_inner_dim_reordered
 
left_nocontract_t m_i_strides
 
right_nocontract_t m_j_strides
 
left_nocontract_t m_left_nocontract_strides
 
right_nocontract_t m_right_nocontract_strides
 
Index m_i_size
 
Index m_j_size
 
Index m_k_size
 
TensorEvaluator< EvalLeftArgType, Device > m_leftImpl
 
TensorEvaluator< EvalRightArgType, Device > m_rightImpl
 
const Device & m_device
 
Scalarm_result
 

Member Data Documentation

§ LDims

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

§ RDims

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

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