MOAB  4.9.3pre
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 >:
Collaboration diagram for Eigen::internal::triangular_dense_assignment_kernel< UpLo, Mode, SetOpposite, DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version >:

List of all members.

Public Types

typedef Base::DstEvaluatorType DstEvaluatorType
typedef Base::SrcEvaluatorType SrcEvaluatorType
typedef Base::Scalar Scalar
typedef Base::AssignmentTraits AssignmentTraits

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)

Protected Types

typedef
generic_dense_assignment_kernel
< DstEvaluatorTypeT,
SrcEvaluatorTypeT, Functor,
Version > 
Base
typedef Base::DstXprType DstXprType
typedef Base::SrcXprType SrcXprType

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

Definition at line 732 of file TriangularMatrix.h.


Member Typedef Documentation

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
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]

Definition at line 735 of file TriangularMatrix.h.

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
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]
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
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
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

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]

Definition at line 749 of file TriangularMatrix.h.

    : Base(dst, src, func, dstExpr)
  {}

Member Function Documentation

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]

Definition at line 763 of file TriangularMatrix.h.

  {
         if(Mode==UnitDiag && SetOpposite) m_functor.assignCoeff(m_dst.coeffRef(id,id), Scalar(1));
    else if(Mode==ZeroDiag && SetOpposite) m_functor.assignCoeff(m_dst.coeffRef(id,id), Scalar(0));
    else if(Mode==0)                       Base::assignCoeff(id,id);
  }
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]

Definition at line 770 of file TriangularMatrix.h.

  { 
    eigen_internal_assert(row!=col);
    if(SetOpposite)
      m_functor.assignCoeff(m_dst.coeffRef(row,col), Scalar(0));
  }

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines