Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType > Class Template Reference

#include <TensorContraction.h>

+ Inheritance diagram for Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >:

Public Types

typedef Eigen::internal::traits< TensorContractionOp >::Scalar Scalar
 
typedef internal::gebp_traits< typename LhsXprType::CoeffReturnType, typename RhsXprType::CoeffReturnType >::ResScalar CoeffReturnType
 
typedef Eigen::internal::nested< TensorContractionOp >::type Nested
 
typedef Eigen::internal::traits< TensorContractionOp >::StorageKind StorageKind
 
typedef Eigen::internal::traits< TensorContractionOp >::Index Index
 
- Public Types inherited from Eigen::TensorBase< TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel >, ReadOnlyAccessors >
typedef TensorBase< TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel >, ReadOnlyAccessors > Base
 
typedef internal::traits< TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > DerivedTraits
 
typedef DerivedTraits::Scalar Scalar
 
typedef DerivedTraits::Index Index
 
typedef Scalar CoeffReturnType
 

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp (const LhsXprType &lhs, const RhsXprType &rhs, const Indices &dims, const OutputKernelType &output_kernel=OutputKernelType())
 
EIGEN_DEVICE_FUNC const Indices & indices () const
 
EIGEN_DEVICE_FUNC const internal::remove_all_t< typename LhsXprType::Nested > & lhsExpression () const
 
EIGEN_DEVICE_FUNC const internal::remove_all_t< typename RhsXprType::Nested > & rhsExpression () const
 
EIGEN_DEVICE_FUNC const OutputKernelType & outputKernel () const
 
- Public Member Functions inherited from Eigen::TensorBase< TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel >, ReadOnlyAccessors >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & setZero ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & setConstant (const Scalar &val)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & setRandom ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & setRandom ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & setValues (const typename internal::Initializer< TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel >, NumDimensions >::InitList &vals)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & operator+= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & operator-= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & operator*= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & operator/= (const OtherDerived &other)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorLayoutSwapOp< const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > swap_layout () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorLayoutSwapOp< TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > swap_layout ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorConcatenationOp< const Axis, const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel >, const OtherDerived > concatenate (const OtherDerived &other, const Axis &axis) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorConcatenationOp< const Axis, TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel >, OtherDerived > concatenate (const OtherDerived &other, const Axis &axis)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorReshapingOp< const NewDimensions, const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > reshape (const NewDimensions &newDimensions) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorReshapingOp< const NewDimensions, TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > reshape (const NewDimensions &newDimensions)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorSlicingOp< const StartIndices, const Sizes, const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > slice (const StartIndices &startIndices, const Sizes &sizes) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorSlicingOp< const StartIndices, const Sizes, TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > slice (const StartIndices &startIndices, const Sizes &sizes)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorStridingSlicingOp< const StartIndices, const StopIndices, const Strides, const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > stridedSlice (const StartIndices &startIndices, const StopIndices &stopIndices, const Strides &strides) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorStridingSlicingOp< const StartIndices, const StopIndices, const Strides, TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > stridedSlice (const StartIndices &startIndices, const StopIndices &stopIndices, const Strides &strides)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorChippingOp< DimId, const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > chip (const Index offset) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorChippingOp< DimId, TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > chip (const Index offset)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorChippingOp< Dynamic, const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > chip (const Index offset, const Index dim) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorChippingOp< Dynamic, TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > chip (const Index offset, const Index dim)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorReverseOp< const ReverseDimensions, const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > reverse (const ReverseDimensions &rev) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorReverseOp< const ReverseDimensions, TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > reverse (const ReverseDimensions &rev)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorRollOp< const Rolls, const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > roll (const Rolls &roll) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorRollOp< const Rolls, TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > roll (const Rolls &roll)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorShufflingOp< const Shuffle, const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > shuffle (const Shuffle &shfl) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorShufflingOp< const Shuffle, TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > shuffle (const Shuffle &shfl)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorStridingOp< const Strides, const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > stride (const Strides &strides) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorStridingOp< const Strides, TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > > stride (const Strides &strides)
 
TensorDevice< TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel >, DeviceType > device (const DeviceType &dev)
 
TensorAsyncDevice< TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel >, DeviceType, DoneCallback > device (const DeviceType &dev, DoneCallback done)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & derived ()
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & derived () const
 

Protected Attributes

LhsXprType::Nested m_lhs_xpr
 
RhsXprType::Nested m_rhs_xpr
 
const Indices m_indices
 
const OutputKernelType m_output_kernel
 

Additional Inherited Members

- Static Public Attributes inherited from Eigen::TensorBase< TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel >, ReadOnlyAccessors >
static constexpr int NumDimensions
 
- Protected Member Functions inherited from Eigen::TensorBase< TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel >, ReadOnlyAccessors >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorContractionOp< Indices, LhsXprType, RhsXprType, const NoOpOutputKernel > & operator= (const OtherDerived &other)
 

Member Typedef Documentation

◆ CoeffReturnType

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
typedef internal::gebp_traits<typename LhsXprType::CoeffReturnType, typename RhsXprType::CoeffReturnType>::ResScalar Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::CoeffReturnType

◆ Index

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
typedef Eigen::internal::traits<TensorContractionOp>::Index Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::Index

◆ Nested

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
typedef Eigen::internal::nested<TensorContractionOp>::type Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::Nested

◆ Scalar

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
typedef Eigen::internal::traits<TensorContractionOp>::Scalar Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::Scalar

◆ StorageKind

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
typedef Eigen::internal::traits<TensorContractionOp>::StorageKind Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::StorageKind

Constructor & Destructor Documentation

◆ TensorContractionOp()

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::TensorContractionOp ( const LhsXprType &  lhs,
const RhsXprType &  rhs,
const Indices &  dims,
const OutputKernelType &  output_kernel = OutputKernelType() 
)
inline
319  : m_lhs_xpr(lhs), m_rhs_xpr(rhs), m_indices(dims), m_output_kernel(output_kernel) {}
const OutputKernelType m_output_kernel
Definition: TensorContraction.h:338
const Indices m_indices
Definition: TensorContraction.h:337
LhsXprType::Nested m_lhs_xpr
Definition: TensorContraction.h:335
RhsXprType::Nested m_rhs_xpr
Definition: TensorContraction.h:336

Member Function Documentation

◆ indices()

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
EIGEN_DEVICE_FUNC const Indices& Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::indices ( ) const
inline

◆ lhsExpression()

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
EIGEN_DEVICE_FUNC const internal::remove_all_t<typename LhsXprType::Nested>& Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::lhsExpression ( ) const
inline
Returns
the nested expressions
324  {
325  return m_lhs_xpr;
326  }

References Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::m_lhs_xpr.

◆ outputKernel()

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
EIGEN_DEVICE_FUNC const OutputKernelType& Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::outputKernel ( ) const
inline

◆ rhsExpression()

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
EIGEN_DEVICE_FUNC const internal::remove_all_t<typename RhsXprType::Nested>& Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::rhsExpression ( ) const
inline

Member Data Documentation

◆ m_indices

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
const Indices Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::m_indices
protected

◆ m_lhs_xpr

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
LhsXprType::Nested Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::m_lhs_xpr
protected

◆ m_output_kernel

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
const OutputKernelType Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::m_output_kernel
protected

◆ m_rhs_xpr

template<typename Indices , typename LhsXprType , typename RhsXprType , typename OutputKernelType = const NoOpOutputKernel>
RhsXprType::Nested Eigen::TensorContractionOp< Indices, LhsXprType, RhsXprType, OutputKernelType >::m_rhs_xpr
protected

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