Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::ForceAlignedAccess< ExpressionType > Class Template Reference

Enforce aligned packet loads and stores regardless of what is requested. More...

#include <src/eigen/Eigen/src/Core/ForceAlignedAccess.h>

+ Inheritance diagram for Eigen::ForceAlignedAccess< ExpressionType >:
+ Collaboration diagram for Eigen::ForceAlignedAccess< ExpressionType >:

Public Types

typedef internal::dense_xpr_base< ForceAlignedAccess >::type Base
 

Public Member Functions

EIGEN_DEVICE_FUNC ForceAlignedAccess (const ExpressionType &matrix)
 
EIGEN_DEVICE_FUNC Index rows () const
 
EIGEN_DEVICE_FUNC Index cols () const
 
EIGEN_DEVICE_FUNC Index outerStride () const
 
EIGEN_DEVICE_FUNC Index innerStride () const
 
EIGEN_DEVICE_FUNC const CoeffReturnType coeff (Index row, Index col) const
 
EIGEN_DEVICE_FUNC Scalar & coeffRef (Index row, Index col)
 
EIGEN_DEVICE_FUNC const CoeffReturnType coeff (Index index) const
 
EIGEN_DEVICE_FUNC Scalar & coeffRef (Index index)
 
template<int LoadMode>
const PacketScalar packet (Index row, Index col) const
 
template<int LoadMode>
void writePacket (Index row, Index col, const PacketScalar &x)
 
template<int LoadMode>
const PacketScalar packet (Index index) const
 
template<int LoadMode>
void writePacket (Index index, const PacketScalar &x)
 
EIGEN_DEVICE_FUNC operator const ExpressionType & () const
 

Protected Attributes

const ExpressionType & m_expression
 

Private Member Functions

ForceAlignedAccessoperator= (const ForceAlignedAccess &)
 

Detailed Description

template<typename ExpressionType>
class Eigen::ForceAlignedAccess< ExpressionType >

Enforce aligned packet loads and stores regardless of what is requested.

Parameters
ExpressionTypethe type of the object of which we are forcing aligned packet access

This class is the return type of MatrixBase::forceAlignedAccess() and most of the time this is the only way it is used.

See also
MatrixBase::forceAlignedAccess()

Member Typedef Documentation

◆ Base

template<typename ExpressionType >
typedef internal::dense_xpr_base<ForceAlignedAccess>::type Eigen::ForceAlignedAccess< ExpressionType >::Base

Constructor & Destructor Documentation

◆ ForceAlignedAccess()

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Eigen::ForceAlignedAccess< ExpressionType >::ForceAlignedAccess ( const ExpressionType &  matrix)
inlineexplicit
42: m_expression(matrix) {}
const ExpressionType & m_expression
Definition ForceAlignedAccess.h:96

Member Function Documentation

◆ coeff() [1/2]

template<typename ExpressionType >
EIGEN_DEVICE_FUNC const CoeffReturnType Eigen::ForceAlignedAccess< ExpressionType >::coeff ( Index  index) const
inline
60 {
61 return m_expression.coeff(index);
62 }

References Eigen::ForceAlignedAccess< ExpressionType >::m_expression.

◆ coeff() [2/2]

template<typename ExpressionType >
EIGEN_DEVICE_FUNC const CoeffReturnType Eigen::ForceAlignedAccess< ExpressionType >::coeff ( Index  row,
Index  col 
) const
inline
50 {
51 return m_expression.coeff(row, col);
52 }
EIGEN_DEVICE_FUNC RowXpr row(Index i)
This is the const version of row(). *‍/.
Definition BlockMethods.h:859
EIGEN_DEVICE_FUNC ColXpr col(Index i)
This is the const version of col().
Definition BlockMethods.h:838

References col(), Eigen::ForceAlignedAccess< ExpressionType >::m_expression, and row().

+ Here is the call graph for this function:

◆ coeffRef() [1/2]

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Scalar & Eigen::ForceAlignedAccess< ExpressionType >::coeffRef ( Index  index)
inline
65 {
66 return m_expression.const_cast_derived().coeffRef(index);
67 }

References Eigen::ForceAlignedAccess< ExpressionType >::m_expression.

◆ coeffRef() [2/2]

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Scalar & Eigen::ForceAlignedAccess< ExpressionType >::coeffRef ( Index  row,
Index  col 
)
inline
55 {
56 return m_expression.const_cast_derived().coeffRef(row, col);
57 }

References col(), Eigen::ForceAlignedAccess< ExpressionType >::m_expression, and row().

+ Here is the call graph for this function:

◆ cols()

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Index Eigen::ForceAlignedAccess< ExpressionType >::cols ( ) const
inline

◆ innerStride()

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Index Eigen::ForceAlignedAccess< ExpressionType >::innerStride ( ) const
inline

◆ operator const ExpressionType &()

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Eigen::ForceAlignedAccess< ExpressionType >::operator const ExpressionType & ( ) const
inline

◆ operator=()

template<typename ExpressionType >
ForceAlignedAccess & Eigen::ForceAlignedAccess< ExpressionType >::operator= ( const ForceAlignedAccess< ExpressionType > &  )
private

◆ outerStride()

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Index Eigen::ForceAlignedAccess< ExpressionType >::outerStride ( ) const
inline

◆ packet() [1/2]

template<typename ExpressionType >
template<int LoadMode>
const PacketScalar Eigen::ForceAlignedAccess< ExpressionType >::packet ( Index  index) const
inline
83 {
84 return m_expression.template packet<Aligned>(index);
85 }

References Eigen::ForceAlignedAccess< ExpressionType >::m_expression.

◆ packet() [2/2]

template<typename ExpressionType >
template<int LoadMode>
const PacketScalar Eigen::ForceAlignedAccess< ExpressionType >::packet ( Index  row,
Index  col 
) const
inline
71 {
72 return m_expression.template packet<Aligned>(row, col);
73 }

References col(), Eigen::ForceAlignedAccess< ExpressionType >::m_expression, and row().

+ Here is the call graph for this function:

◆ rows()

template<typename ExpressionType >
EIGEN_DEVICE_FUNC Index Eigen::ForceAlignedAccess< ExpressionType >::rows ( ) const
inline

◆ writePacket() [1/2]

template<typename ExpressionType >
template<int LoadMode>
void Eigen::ForceAlignedAccess< ExpressionType >::writePacket ( Index  index,
const PacketScalar &  x 
)
inline
89 {
90 m_expression.const_cast_derived().template writePacket<Aligned>(index, x);
91 }

References Eigen::ForceAlignedAccess< ExpressionType >::m_expression.

◆ writePacket() [2/2]

template<typename ExpressionType >
template<int LoadMode>
void Eigen::ForceAlignedAccess< ExpressionType >::writePacket ( Index  row,
Index  col,
const PacketScalar &  x 
)
inline
77 {
78 m_expression.const_cast_derived().template writePacket<Aligned>(row, col, x);
79 }

References col(), Eigen::ForceAlignedAccess< ExpressionType >::m_expression, and row().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_expression


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