Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::DiagonalWrapper< _DiagonalVectorType > Class Template Reference

Expression of a diagonal matrix. More...

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

+ Inheritance diagram for Eigen::DiagonalWrapper< _DiagonalVectorType >:
+ Collaboration diagram for Eigen::DiagonalWrapper< _DiagonalVectorType >:

Public Types

typedef _DiagonalVectorType DiagonalVectorType
 
typedef DiagonalWrapper Nested
 
enum  
 
typedef DiagonalVectorType::Scalar Scalar
 
typedef DiagonalVectorType::RealScalar RealScalar
 
typedef internal::traits< DiagonalWrapper< _DiagonalVectorType > >::StorageKind StorageKind
 
typedef internal::traits< DiagonalWrapper< _DiagonalVectorType > >::StorageIndex StorageIndex
 
typedef Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime, 0, MaxRowsAtCompileTime, MaxColsAtCompileTimeDenseMatrixType
 
typedef DenseMatrixType DenseType
 
typedef DiagonalMatrix< Scalar, DiagonalVectorType::SizeAtCompileTime, DiagonalVectorType::MaxSizeAtCompileTime > PlainObject
 
typedef DiagonalWrapper< const CwiseUnaryOp< internal::scalar_inverse_op< Scalar >, const DiagonalVectorType > > InverseReturnType
 
typedef Eigen::Index Index
 The interface type of indices.
 

Public Member Functions

EIGEN_DEVICE_FUNC DiagonalWrapper (DiagonalVectorType &a_diagonal)
 
EIGEN_DEVICE_FUNC const DiagonalVectorTypediagonal () const
 
EIGEN_DEVICE_FUNC const DiagonalWrapper< _DiagonalVectorType > & derived () const
 
EIGEN_DEVICE_FUNC DiagonalWrapper< _DiagonalVectorType > & derived ()
 
EIGEN_DEVICE_FUNC DenseMatrixType toDenseMatrix () const
 
EIGEN_DEVICE_FUNC DiagonalVectorTypediagonal ()
 
EIGEN_DEVICE_FUNC Index rows () const
 
EIGEN_DEVICE_FUNC Index cols () const
 
EIGEN_DEVICE_FUNC const Product< DiagonalWrapper< _DiagonalVectorType >, MatrixDerived, LazyProductoperator* (const MatrixBase< MatrixDerived > &matrix) const
 
EIGEN_DEVICE_FUNC const DiagonalWrapper< const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DiagonalVectorType, Scalar, product) > operator* (const Scalar &scalar) const
 
EIGEN_DEVICE_FUNC const InverseReturnType inverse () const
 
EIGEN_DEVICE_FUNC Derived & const_cast_derived () const
 
EIGEN_DEVICE_FUNC const Derived & const_derived () const
 
EIGEN_DEVICE_FUNC Index size () const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void evalTo (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void addTo (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void subTo (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void applyThisOnTheRight (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void applyThisOnTheLeft (Dest &dst) const
 

Protected Attributes

DiagonalVectorType::Nested m_diagonal
 

Detailed Description

template<typename _DiagonalVectorType>
class Eigen::DiagonalWrapper< _DiagonalVectorType >

Expression of a diagonal matrix.

Parameters
_DiagonalVectorTypethe type of the vector of diagonal coefficients

This class is an expression of a diagonal matrix, but not storing its own vector of diagonal coefficients, instead wrapping an existing vector expression. It is the return type of MatrixBase::asDiagonal() and most of the time this is the only way that it is used.

See also
class DiagonalMatrix, class DiagonalBase, MatrixBase::asDiagonal()

Member Typedef Documentation

◆ DenseMatrixType

◆ DenseType

typedef DenseMatrixType Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::DenseType
inherited

◆ DiagonalVectorType

template<typename _DiagonalVectorType >
typedef _DiagonalVectorType Eigen::DiagonalWrapper< _DiagonalVectorType >::DiagonalVectorType

◆ Index

template<typename Derived >
typedef Eigen::Index Eigen::EigenBase< Derived >::Index
inherited

The interface type of indices.

To change this, #define the preprocessor symbol EIGEN_DEFAULT_DENSE_INDEX_TYPE.

See also
StorageIndex, TopicPreprocessorDirectives.

◆ InverseReturnType

◆ Nested

template<typename _DiagonalVectorType >
typedef DiagonalWrapper Eigen::DiagonalWrapper< _DiagonalVectorType >::Nested

◆ PlainObject

typedef DiagonalMatrix<Scalar,DiagonalVectorType::SizeAtCompileTime,DiagonalVectorType::MaxSizeAtCompileTime> Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::PlainObject
inherited

◆ RealScalar

typedef DiagonalVectorType::RealScalar Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::RealScalar
inherited

◆ Scalar

typedef DiagonalVectorType::Scalar Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::Scalar
inherited

◆ StorageIndex

typedef internal::traits<DiagonalWrapper< _DiagonalVectorType > >::StorageIndex Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::StorageIndex
inherited

◆ StorageKind

typedef internal::traits<DiagonalWrapper< _DiagonalVectorType > >::StorageKind Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::StorageKind
inherited

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited
27 {
28 RowsAtCompileTime = DiagonalVectorType::SizeAtCompileTime,
29 ColsAtCompileTime = DiagonalVectorType::SizeAtCompileTime,
30 MaxRowsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime,
31 MaxColsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime,
34 };
const unsigned int NoPreferredStorageOrderBit
Definition Constants.h:173

Constructor & Destructor Documentation

◆ DiagonalWrapper()

template<typename _DiagonalVectorType >
EIGEN_DEVICE_FUNC Eigen::DiagonalWrapper< _DiagonalVectorType >::DiagonalWrapper ( DiagonalVectorType a_diagonal)
inlineexplicit

Constructor from expression of diagonal coefficients to wrap.

256: m_diagonal(a_diagonal) {}
DiagonalVectorType::Nested m_diagonal
Definition DiagonalMatrix.h:263

Member Function Documentation

◆ addTo()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::addTo ( Dest &  dst) const
inlineinherited
78 {
79 // This is the default implementation,
80 // derived class can reimplement it in a more optimized way.
81 typename Dest::PlainObject res(rows(),cols());
82 evalTo(res);
83 dst += res;
84 }
EIGEN_DEVICE_FUNC Index cols() const
Definition EigenBase.h:62
EIGEN_DEVICE_FUNC Index rows() const
Definition EigenBase.h:59
EIGEN_DEVICE_FUNC void evalTo(Dest &dst) const
Definition EigenBase.h:71

◆ applyThisOnTheLeft()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::applyThisOnTheLeft ( Dest &  dst) const
inlineinherited
110 {
111 // This is the default implementation,
112 // derived class can reimplement it in a more optimized way.
113 dst = this->derived() * dst;
114 }
EIGEN_DEVICE_FUNC Derived & derived()
Definition EigenBase.h:45

References Eigen::EigenBase< Derived >::derived().

+ Here is the call graph for this function:

◆ applyThisOnTheRight()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::applyThisOnTheRight ( Dest &  dst) const
inlineinherited
101 {
102 // This is the default implementation,
103 // derived class can reimplement it in a more optimized way.
104 dst = dst * this->derived();
105 }

References Eigen::EigenBase< Derived >::derived().

+ Here is the call graph for this function:

◆ cols()

EIGEN_DEVICE_FUNC Index Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::cols ( ) const
inlineinherited
56{ return diagonal().size(); }
EIGEN_DEVICE_FUNC const DiagonalVectorType & diagonal() const
Definition DiagonalMatrix.h:49

◆ const_cast_derived()

template<typename Derived >
EIGEN_DEVICE_FUNC Derived & Eigen::EigenBase< Derived >::const_cast_derived ( ) const
inlineinherited
52 { return *static_cast<Derived*>(const_cast<EigenBase*>(this)); }

Referenced by Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::swap().

+ Here is the caller graph for this function:

◆ const_derived()

template<typename Derived >
EIGEN_DEVICE_FUNC const Derived & Eigen::EigenBase< Derived >::const_derived ( ) const
inlineinherited
55 { return *static_cast<const Derived*>(this); }

◆ derived() [1/2]

EIGEN_DEVICE_FUNC DiagonalWrapper< _DiagonalVectorType > & Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::derived ( )
inlineinherited
43{ return *static_cast<Derived*>(this); }

◆ derived() [2/2]

EIGEN_DEVICE_FUNC const DiagonalWrapper< _DiagonalVectorType > & Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::derived ( ) const
inlineinherited
41{ return *static_cast<const Derived*>(this); }

◆ diagonal() [1/2]

EIGEN_DEVICE_FUNC DiagonalVectorType & Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::diagonal ( )
inlineinherited
51{ return derived().diagonal(); }
EIGEN_DEVICE_FUNC const DiagonalWrapper< _DiagonalVectorType > & derived() const
Definition DiagonalMatrix.h:41

◆ diagonal() [2/2]

template<typename _DiagonalVectorType >
EIGEN_DEVICE_FUNC const DiagonalVectorType & Eigen::DiagonalWrapper< _DiagonalVectorType >::diagonal ( ) const
inline
Returns
a const reference to the wrapped expression of diagonal coefficients.
260{ return m_diagonal; }

References Eigen::DiagonalWrapper< _DiagonalVectorType >::m_diagonal.

◆ evalTo()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::evalTo ( Dest &  dst) const
inlineinherited
72 { derived().evalTo(dst); }

Referenced by Eigen::EigenBase< Derived >::subTo().

+ Here is the caller graph for this function:

◆ inverse()

EIGEN_DEVICE_FUNC const InverseReturnType Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::inverse ( ) const
inlineinherited
70 {
72 }
CwiseUnaryOp< internal::scalar_inverse_op< Scalar >, const Derived > InverseReturnType
Definition ArrayCwiseUnaryOps.h:9
EIGEN_DEVICE_FUNC const CwiseInverseReturnType cwiseInverse() const
Definition MatrixCwiseUnaryOps.h:83

◆ operator*() [1/2]

EIGEN_DEVICE_FUNC const Product< DiagonalWrapper< _DiagonalVectorType > , MatrixDerived, LazyProduct > Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::operator* ( const MatrixBase< MatrixDerived > &  matrix) const
inlineinherited
62 {
63 return Product<Derived, MatrixDerived, LazyProduct>(derived(),matrix.derived());
64 }

◆ operator*() [2/2]

EIGEN_DEVICE_FUNC const DiagonalWrapper< const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DiagonalVectorType, Scalar, product) > Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::operator* ( const Scalar scalar) const
inlineinherited
77 {
78 return DiagonalWrapper<const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DiagonalVectorType,Scalar,product) >(diagonal() * scalar);
79 }

◆ rows()

EIGEN_DEVICE_FUNC Index Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::rows ( ) const
inlineinherited
54{ return diagonal().size(); }

◆ size()

template<typename Derived >
EIGEN_DEVICE_FUNC Index Eigen::EigenBase< Derived >::size ( ) const
inlineinherited
Returns
the number of coefficients, which is rows()*cols().
See also
rows(), cols(), SizeAtCompileTime.
66{ return rows() * cols(); }

References Eigen::EigenBase< Derived >::cols(), and Eigen::EigenBase< Derived >::rows().

Referenced by Eigen::PlainObjectBase< Derived >::_resize_to_match(), Eigen::DiagonalMatrix< _Scalar, SizeAtCompileTime, MaxSizeAtCompileTime >::resize(), Eigen::DiagonalMatrix< _Scalar, SizeAtCompileTime, MaxSizeAtCompileTime >::setIdentity(), and Eigen::DiagonalMatrix< _Scalar, SizeAtCompileTime, MaxSizeAtCompileTime >::setZero().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ subTo()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::subTo ( Dest &  dst) const
inlineinherited
90 {
91 // This is the default implementation,
92 // derived class can reimplement it in a more optimized way.
93 typename Dest::PlainObject res(rows(),cols());
94 evalTo(res);
95 dst -= res;
96 }

References Eigen::EigenBase< Derived >::cols(), Eigen::EigenBase< Derived >::evalTo(), and Eigen::EigenBase< Derived >::rows().

+ Here is the call graph for this function:

◆ toDenseMatrix()

EIGEN_DEVICE_FUNC DenseMatrixType Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >::toDenseMatrix ( ) const
inlineinherited
46{ return derived(); }

Member Data Documentation

◆ m_diagonal

template<typename _DiagonalVectorType >
DiagonalVectorType::Nested Eigen::DiagonalWrapper< _DiagonalVectorType >::m_diagonal
protected

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