Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device > Struct Template Reference

#include <TensorConvolution.h>

Public Types

enum  {
  IsAligned = int(TensorEvaluator<InputArgType, Device>::IsAligned) & int(TensorEvaluator<KernelArgType, Device>::IsAligned), PacketAccess = int(TensorEvaluator<InputArgType, Device>::PacketAccess) & int(TensorEvaluator<KernelArgType, Device>::PacketAccess), BlockAccess = false, PreferBlockAccess = false,
  Layout = TensorEvaluator<InputArgType, 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 StorageMemory< Scalar, Device > Storage
 
typedef internal::TensorBlockNotImplemented TensorBlock
 
typedef TensorConvolutionOp< Indices, InputArgType, KernelArgType > XprType
 

Public Member Functions

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 EvaluatorPointerType data () const
 
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Dimensionsdimensions () const
 
EIGEN_STRONG_INLINE bool evalSubExprsIfNeeded (Scalar *)
 
void evalTo (typename XprType::Scalar *buffer)
 
template<int LoadMode>
EIGEN_DEVICE_FUNC PacketReturnType packet (const 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<InputArgType, Device>::Dimensions>::value
 
static const int NumKernelDims = internal::array_size<Indices>::value
 
static const int PacketSize = PacketType<CoeffReturnType, Device>::size
 

Private Member Functions

EIGEN_DEVICE_FUNC void convolve (Index firstIndex, Index firstKernel, int DimIndex, CoeffReturnType &accum) const
 
template<typename Packet >
EIGEN_DEVICE_FUNC void convolvePacket (Index firstIndex, Index firstKernel, int DimIndex, Packet &accum) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index firstInput (Index index) const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void preloadKernel ()
 

Private Attributes

const Device EIGEN_DEVICE_REF m_device
 
Dimensions m_dimensions
 
array< Index, NumKernelDimsm_indexStride
 
TensorEvaluator< InputArgType, Device > m_inputImpl
 
array< Index, NumDimsm_inputStride
 
const Scalarm_kernel
 
KernelArgType m_kernelArg
 
TensorEvaluator< KernelArgType, Device > m_kernelImpl
 
array< Index, NumKernelDimsm_kernelStride
 
bool m_local_kernel
 
array< Index, NumDimsm_outputStride
 

Detailed Description

template<typename Indices, typename InputArgType, typename KernelArgType, typename Device>
struct Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >

Definition at line 293 of file TensorConvolution.h.

Member Typedef Documentation

◆ CoeffReturnType

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
typedef XprType::CoeffReturnType Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::CoeffReturnType

Definition at line 303 of file TensorConvolution.h.

◆ Dimensions

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
typedef DSizes<Index, NumDims> Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::Dimensions

Definition at line 300 of file TensorConvolution.h.

◆ EvaluatorPointerType

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
typedef Storage::Type Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::EvaluatorPointerType

Definition at line 307 of file TensorConvolution.h.

◆ Index

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
typedef XprType::Index Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::Index

Definition at line 299 of file TensorConvolution.h.

◆ PacketReturnType

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
typedef PacketType<CoeffReturnType, Device>::type Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::PacketReturnType

Definition at line 304 of file TensorConvolution.h.

◆ Scalar

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
typedef XprType::Scalar Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::Scalar

Definition at line 302 of file TensorConvolution.h.

◆ Storage

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
typedef StorageMemory<Scalar, Device> Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::Storage

Definition at line 306 of file TensorConvolution.h.

◆ TensorBlock

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
typedef internal::TensorBlockNotImplemented Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::TensorBlock

Definition at line 320 of file TensorConvolution.h.

◆ XprType

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
typedef TensorConvolutionOp<Indices, InputArgType, KernelArgType> Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::XprType

Definition at line 295 of file TensorConvolution.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
anonymous enum
Enumerator
IsAligned 
PacketAccess 
BlockAccess 
PreferBlockAccess 
Layout 
CoordAccess 
RawAccess 

Definition at line 309 of file TensorConvolution.h.

Constructor & Destructor Documentation

◆ TensorEvaluator()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
EIGEN_STRONG_INLINE Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::TensorEvaluator ( const XprType op,
const Device &  device 
)
inline

Definition at line 323 of file TensorConvolution.h.

Member Function Documentation

◆ cleanup()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
EIGEN_STRONG_INLINE void Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::cleanup ( )
inline

Definition at line 392 of file TensorConvolution.h.

◆ coeff()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::coeff ( Index  index) const
inline

Definition at line 409 of file TensorConvolution.h.

◆ convolve()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
EIGEN_DEVICE_FUNC void Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::convolve ( Index  firstIndex,
Index  firstKernel,
int  DimIndex,
CoeffReturnType accum 
) const
inlineprivate

Definition at line 500 of file TensorConvolution.h.

◆ convolvePacket()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
template<typename Packet >
EIGEN_DEVICE_FUNC void Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::convolvePacket ( Index  firstIndex,
Index  firstKernel,
int  DimIndex,
Packet accum 
) const
inlineprivate

Definition at line 513 of file TensorConvolution.h.

◆ costPerCoeff()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorOpCost Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::costPerCoeff ( bool  vectorized) const
inline

Definition at line 462 of file TensorConvolution.h.

◆ data()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
EIGEN_DEVICE_FUNC EvaluatorPointerType Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::data ( ) const
inline

Definition at line 478 of file TensorConvolution.h.

◆ dimensions()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Dimensions& Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::dimensions ( ) const
inline

Definition at line 385 of file TensorConvolution.h.

◆ evalSubExprsIfNeeded()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
EIGEN_STRONG_INLINE bool Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::evalSubExprsIfNeeded ( Scalar )
inline

Definition at line 387 of file TensorConvolution.h.

◆ evalTo()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
void Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::evalTo ( typename XprType::Scalar buffer)
inline

Definition at line 401 of file TensorConvolution.h.

◆ firstInput()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::firstInput ( Index  index) const
inlineprivate

Definition at line 481 of file TensorConvolution.h.

◆ packet()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
template<int LoadMode>
EIGEN_DEVICE_FUNC PacketReturnType Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::packet ( const Index  index) const
inline

Definition at line 417 of file TensorConvolution.h.

◆ preloadKernel()

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::preloadKernel ( )
inlineprivate

Definition at line 525 of file TensorConvolution.h.

Member Data Documentation

◆ m_device

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
const Device EIGEN_DEVICE_REF Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_device
private

Definition at line 557 of file TensorConvolution.h.

◆ m_dimensions

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
Dimensions Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_dimensions
private

Definition at line 552 of file TensorConvolution.h.

◆ m_indexStride

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
array<Index, NumKernelDims> Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_indexStride
private

Definition at line 548 of file TensorConvolution.h.

◆ m_inputImpl

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
TensorEvaluator<InputArgType, Device> Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_inputImpl
private

Definition at line 550 of file TensorConvolution.h.

◆ m_inputStride

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
array<Index, NumDims> Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_inputStride
private

Definition at line 545 of file TensorConvolution.h.

◆ m_kernel

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
const Scalar* Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_kernel
private

Definition at line 555 of file TensorConvolution.h.

◆ m_kernelArg

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
KernelArgType Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_kernelArg
private

Definition at line 554 of file TensorConvolution.h.

◆ m_kernelImpl

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
TensorEvaluator<KernelArgType, Device> Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_kernelImpl
private

Definition at line 551 of file TensorConvolution.h.

◆ m_kernelStride

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
array<Index, NumKernelDims> Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_kernelStride
private

Definition at line 549 of file TensorConvolution.h.

◆ m_local_kernel

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
bool Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_local_kernel
private

Definition at line 556 of file TensorConvolution.h.

◆ m_outputStride

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
array<Index, NumDims> Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::m_outputStride
private

Definition at line 546 of file TensorConvolution.h.

◆ NumDims

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
const int Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::NumDims = internal::array_size<typename TensorEvaluator<InputArgType, Device>::Dimensions>::value
static

Definition at line 297 of file TensorConvolution.h.

◆ NumKernelDims

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
const int Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::NumKernelDims = internal::array_size<Indices>::value
static

Definition at line 298 of file TensorConvolution.h.

◆ PacketSize

template<typename Indices , typename InputArgType , typename KernelArgType , typename Device >
const int Eigen::TensorEvaluator< const TensorConvolutionOp< Indices, InputArgType, KernelArgType >, Device >::PacketSize = PacketType<CoeffReturnType, Device>::size
static

Definition at line 305 of file TensorConvolution.h.


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


gtsam
Author(s):
autogenerated on Wed May 15 2024 15:29:46