Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version > Class Template Reference

#include <TriangularMatrix.h>

+ Inheritance diagram for Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >:

Public Types

typedef Base::DstEvaluatorType DstEvaluatorType
 
typedef Base::SrcEvaluatorType SrcEvaluatorType
 
typedef Base::Scalar Scalar
 
typedef Base::AssignmentTraits AssignmentTraits
 
- Public Types inherited from Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Specialized >
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 triangular_dense_assignment_kernel (DstEvaluatorType &dst, const SrcEvaluatorType &src, const Functor &func, DstXprType &dstExpr)
 
EIGEN_DEVICE_FUNC void assignDiagonalCoeff (Index id)
 
EIGEN_DEVICE_FUNC void assignOppositeCoeff (Index row, Index col)
 
- Public Member Functions inherited from Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Specialized >
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)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacket (Index row, Index col)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacket (Index index)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void assignPacketByOuterInner (Index outer, Index inner)
 
EIGEN_DEVICE_FUNC const ScalardstDataPtr () const
 

Protected Types

typedef generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version > Base
 
typedef Base::DstXprType DstXprType
 
typedef Base::SrcXprType SrcXprType
 
- Protected Types inherited from Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Specialized >
typedef DstEvaluatorTypeT::XprType DstXprType
 
typedef SrcEvaluatorTypeT::XprType SrcXprType
 

Additional Inherited Members

- Static Public Member Functions inherited from Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Specialized >
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 Attributes inherited from Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Specialized >
DstEvaluatorTypem_dst
 
const SrcEvaluatorTypem_src
 
const Functorm_functor
 
DstXprTypem_dstExpr
 

Detailed Description

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT, typename SrcEvaluatorTypeT, typename Functor, int Version = Specialized>
class Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >

Specialization of the dense assignment kernel for triangular matrices. The main difference is that the triangular, diagonal, and opposite parts are processed through three different functions.

Template Parameters
UpLomust be either Lower or Upper
Modemust be either 0, UnitDiag, ZeroDiag, or SelfAdjoint

Member Typedef Documentation

◆ AssignmentTraits

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef Base::AssignmentTraits Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::AssignmentTraits

◆ Base

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version> Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::Base
protected

◆ DstEvaluatorType

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef Base::DstEvaluatorType Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::DstEvaluatorType

◆ DstXprType

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef Base::DstXprType Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::DstXprType
protected

◆ Scalar

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef Base::Scalar Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::Scalar

◆ SrcEvaluatorType

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef Base::SrcEvaluatorType Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::SrcEvaluatorType

◆ SrcXprType

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
typedef Base::SrcXprType Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::SrcXprType
protected

Constructor & Destructor Documentation

◆ triangular_dense_assignment_kernel()

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::triangular_dense_assignment_kernel ( DstEvaluatorType dst,
const SrcEvaluatorType src,
const Functor func,
DstXprType dstExpr 
)
inline
681  : Base(dst, src, func, dstExpr) {}
generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version > Base
Definition: TriangularMatrix.h:666
Definition: benchGeometry.cpp:21

Member Function Documentation

◆ assignDiagonalCoeff()

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC void Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::assignDiagonalCoeff ( Index  id)
inline
692  {
693  if (Mode == UnitDiag && SetOpposite)
694  m_functor.assignCoeff(m_dst.coeffRef(id, id), Scalar(1));
695  else if (Mode == ZeroDiag && SetOpposite)
696  m_functor.assignCoeff(m_dst.coeffRef(id, id), Scalar(0));
697  else if (Mode == 0)
698  Base::assignCoeff(id, id);
699  }
SCALAR Scalar
Definition: bench_gemm.cpp:45
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
@ UnitDiag
Definition: Constants.h:215
@ ZeroDiag
Definition: Constants.h:217

References Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::assignCoeff(), Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Specialized >::m_dst, Eigen::internal::generic_dense_assignment_kernel< DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Specialized >::m_functor, Eigen::UnitDiag, and Eigen::ZeroDiag.

◆ assignOppositeCoeff()

template<int UpLo, int Mode, int SetOpposite, typename DstEvaluatorTypeT , typename SrcEvaluatorTypeT , typename Functor , int Version = Specialized>
EIGEN_DEVICE_FUNC void Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >::assignOppositeCoeff ( Index  row,
Index  col 
)
inline

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