Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version > Class Template Reference

#include <AssignEvaluator.h>

Public Types

typedef DstEvaluatorTypeT DstEvaluatorType
 
typedef SrcEvaluatorTypeT SrcEvaluatorType
 
typedef DstEvaluatorType::Scalar Scalar
 
typedef copy_using_evaluator_traits< DstEvaluatorTypeT, SrcEvaluatorTypeT, FunctorAssignmentTraits
 
typedef AssignmentTraits::PacketType PacketType
 

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE generic_dense_assignment_kernel (DstEvaluatorType &dst, const SrcEvaluatorType &src, const Functor &func, DstXprType &dstExpr)
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index size () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index innerSize () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerSize () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerStride () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC DstEvaluatorTypedstEvaluator () EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC const SrcEvaluatorTypesrcEvaluator () const EIGEN_NOEXCEPT
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff (Index row, Index col)
 Assign src(row,col) to dst(row,col) through the assignment functor. More...
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff (Index index)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeffByOuterInner (Index outer, Index inner)
 
template<int StoreMode, int LoadMode, typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacket (Index row, Index col)
 
template<int StoreMode, int LoadMode, typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacket (Index index)
 
template<int StoreMode, int LoadMode, typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacketByOuterInner (Index outer, Index inner)
 
EIGEN_DEVICE_FUNC const ScalardstDataPtr () const
 

Static Public Member Functions

static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rowIndexByOuterInner (Index outer, Index inner)
 
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index colIndexByOuterInner (Index outer, Index inner)
 

Protected Types

typedef DstEvaluatorTypeT::XprType DstXprType
 
typedef SrcEvaluatorTypeT::XprType SrcXprType
 

Protected Attributes

DstEvaluatorTypem_dst
 
const SrcEvaluatorTypem_src
 
const Functorm_functor
 
DstXprTypem_dstExpr
 

Member Typedef Documentation

◆ AssignmentTraits

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef copy_using_evaluator_traits<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor> Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::AssignmentTraits

◆ DstEvaluatorType

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef DstEvaluatorTypeT Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::DstEvaluatorType

◆ DstXprType

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef DstEvaluatorTypeT::XprType Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::DstXprType
protected

◆ PacketType

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef AssignmentTraits::PacketType Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::PacketType

◆ Scalar

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef DstEvaluatorType::Scalar Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::Scalar

◆ SrcEvaluatorType

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef SrcEvaluatorTypeT Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::SrcEvaluatorType

◆ SrcXprType

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef SrcEvaluatorTypeT::XprType Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::SrcXprType
protected

Constructor & Destructor Documentation

◆ generic_dense_assignment_kernel()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::generic_dense_assignment_kernel ( DstEvaluatorType dst,
const SrcEvaluatorType src,
const Functor func,
DstXprType dstExpr 
)
inline
600  : m_dst(dst), m_src(src), m_functor(func), m_dstExpr(dstExpr) {
601 #ifdef EIGEN_DEBUG_ASSIGN
602  AssignmentTraits::debug();
603 #endif
604  }
DstXprType & m_dstExpr
Definition: AssignEvaluator.h:674
const SrcEvaluatorType & m_src
Definition: AssignEvaluator.h:671
DstEvaluatorType & m_dst
Definition: AssignEvaluator.h:670
const Functor & m_functor
Definition: AssignEvaluator.h:672
Definition: benchGeometry.cpp:21

Member Function Documentation

◆ assignCoeff() [1/2]

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::assignCoeff ( Index  index)
inline
See also
assignCoeff(Index,Index)
622  {
623  m_functor.assignCoeff(m_dst.coeffRef(index), m_src.coeff(index));
624  }

◆ assignCoeff() [2/2]

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::assignCoeff ( Index  row,
Index  col 
)
inline

Assign src(row,col) to dst(row,col) through the assignment functor.

617  {
618  m_functor.assignCoeff(m_dst.coeffRef(row, col), m_src.coeff(row, col));
619  }
m col(1)
m row(1)

References col(), and row().

◆ assignCoeffByOuterInner()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::assignCoeffByOuterInner ( Index  outer,
Index  inner 
)
inline
See also
assignCoeff(Index,Index)
627  {
628  Index row = rowIndexByOuterInner(outer, inner);
629  Index col = colIndexByOuterInner(outer, inner);
630  assignCoeff(row, col);
631  }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignCoeff(Index row, Index col)
Assign src(row,col) to dst(row,col) through the assignment functor.
Definition: AssignEvaluator.h:617
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rowIndexByOuterInner(Index outer, Index inner)
Definition: AssignEvaluator.h:651
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index colIndexByOuterInner(Index outer, Index inner)
Definition: AssignEvaluator.h:659
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83

References col(), and row().

◆ assignPacket() [1/2]

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
template<int StoreMode, int LoadMode, typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::assignPacket ( Index  index)
inline
640  {
641  m_functor.template assignPacket<StoreMode>(&m_dst.coeffRef(index), m_src.template packet<LoadMode, Packet>(index));
642  }

◆ assignPacket() [2/2]

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
template<int StoreMode, int LoadMode, typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::assignPacket ( Index  row,
Index  col 
)
inline
634  {
635  m_functor.template assignPacket<StoreMode>(&m_dst.coeffRef(row, col),
636  m_src.template packet<LoadMode, Packet>(row, col));
637  }

References col(), and row().

◆ assignPacketByOuterInner()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
template<int StoreMode, int LoadMode, typename Packet >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::assignPacketByOuterInner ( Index  outer,
Index  inner 
)
inline
645  {
646  Index row = rowIndexByOuterInner(outer, inner);
647  Index col = colIndexByOuterInner(outer, inner);
648  assignPacket<StoreMode, LoadMode, Packet>(row, col);
649  }

References col(), and row().

◆ colIndexByOuterInner()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::colIndexByOuterInner ( Index  outer,
Index  inner 
)
inlinestatic
659  {
660  typedef typename DstEvaluatorType::ExpressionTraits Traits;
661  return int(Traits::ColsAtCompileTime) == 1 ? 0
662  : int(Traits::RowsAtCompileTime) == 1 ? inner
663  : int(DstEvaluatorType::Flags) & RowMajorBit ? inner
664  : outer;
665  }
const unsigned int RowMajorBit
Definition: Constants.h:70
return int(ret)+1

References int(), and Eigen::RowMajorBit.

◆ cols()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::cols ( ) const
inline

◆ dstDataPtr()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC const Scalar* Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::dstDataPtr ( ) const
inline
667 { return m_dstExpr.data(); }

◆ dstEvaluator()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC DstEvaluatorType& Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::dstEvaluator ( )
inline
613 { return m_dst; }

◆ innerSize()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::innerSize ( ) const
inline
607 { return m_dstExpr.innerSize(); }

◆ outerSize()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::outerSize ( ) const
inline
608 { return m_dstExpr.outerSize(); }

◆ outerStride()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::outerStride ( ) const
inline
611 { return m_dstExpr.outerStride(); }

◆ rowIndexByOuterInner()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::rowIndexByOuterInner ( Index  outer,
Index  inner 
)
inlinestatic
651  {
652  typedef typename DstEvaluatorType::ExpressionTraits Traits;
653  return int(Traits::RowsAtCompileTime) == 1 ? 0
654  : int(Traits::ColsAtCompileTime) == 1 ? inner
655  : int(DstEvaluatorType::Flags) & RowMajorBit ? outer
656  : inner;
657  }

References int(), and Eigen::RowMajorBit.

◆ rows()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::rows ( ) const
inline

◆ size()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::size ( ) const
inline
606 { return m_dstExpr.size(); }

◆ srcEvaluator()

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC const SrcEvaluatorType& Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::srcEvaluator ( ) const
inline
614 { return m_src; }

Member Data Documentation

◆ m_dst

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
DstEvaluatorType& Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::m_dst
protected

◆ m_dstExpr

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
DstXprType& Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::m_dstExpr
protected

◆ m_functor

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
const Functor& Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::m_functor
protected

◆ m_src

template<typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
const SrcEvaluatorType& Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::m_src
protected

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