Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::EigenBase< Derived > Class Template Reference

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

Inherited by Eigen::DiagonalBase< DiagonalMatrix< _Scalar, SizeAtCompileTime, MaxSizeAtCompileTime > >, Eigen::DiagonalBase< DiagonalWrapper< _DiagonalVectorType > >, Eigen::PermutationBase< Map< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex >, _PacketAccess > >, Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, _StorageIndex > >, Eigen::PermutationBase< PermutationWrapper< _IndicesType > >, Eigen::PermutationBase< PermutationMatrix< SizeAtCompileTime, MaxSizeAtCompileTime, StorageIndex > >, Eigen::SolverBase< FullPivLU< _MatrixType > >, Eigen::SolverBase< PartialPivLU< _MatrixType > >, Eigen::SparseMatrixBase< Block< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols, true > >, Eigen::SparseMatrixBase< Block< XprType, BlockRows, BlockCols, InnerPanel > >, Eigen::SparseMatrixBase< Block< XprType, BlockRows, BlockCols, true > >, Eigen::SparseMatrixBase< Block< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols, true > >, Eigen::SparseMatrixBase< BlockSparseMatrix< _Scalar, _BlockAtCompileTime, _Options, _StorageIndex > >, Eigen::SparseMatrixBase< BlockSparseMatrixT >, Eigen::SparseMatrixBase< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >, Eigen::SparseMatrixBase< DynamicSparseMatrix< _Scalar, _Options, _StorageIndex > >, Eigen::SparseMatrixBase< SparseMatrix< Scalar, _Options, StorageIndex > >, Eigen::SparseMatrixBase< SparseMatrix< _Scalar, _Options, _StorageIndex > >, Eigen::SparseMatrixBase< SparseVector< _Scalar, _Options, _StorageIndex > >, Eigen::SparseMatrixBase< SparseView< MatrixType > >, Eigen::SparseMatrixBase< SparseMatrix< Scalar, _Options, _StorageIndex > >, Eigen::SparseMatrixBase< TriangularView< MatrixType, Mode > >, Eigen::SparseMatrixBase< Transpose< MatrixType > >, Eigen::SparseMatrixBase< Block< SparseMatrixType, BlockRows, BlockCols, true > >, Eigen::SparseMatrixBase< BlockSparseMatrix< _Scalar, _BlockAtCompileTime, _Options, StorageIndex > >, Eigen::SparseMatrixBase< SparseMatrix< Scalar, _Options, int > >, Eigen::SparseMatrixBase< SparseMatrix< double, _Options, _StorageIndex > >, Eigen::SparseMatrixBase< SparseMatrix< typename DerivedV::Scalar, _Options, _StorageIndex > >, Eigen::SparseMatrixBase< SparseMatrix< T, _Options, _StorageIndex > >, Eigen::TriangularBase< SelfAdjointView< _MatrixType, UpLo > >, Eigen::TriangularBase< TriangularView< _MatrixType, _Mode > >, Eigen::internal::BandMatrixBase< BandMatrix< _Scalar, Rows, Cols, Supers, Subs, Options > >, Eigen::internal::BandMatrixBase< BandMatrixWrapper< _CoefficientsType, _Rows, _Cols, _Supers, _Subs, _Options > >, Eigen::internal::BandMatrixBase< BandMatrix< Scalar, Rows, Cols, Supers, Subs, Options > >, Eigen::internal::BandMatrixBase< BandMatrix< RealScalar, Rows, Cols, Supers, Subs, Options > >, Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >, Eigen::DiagonalBase< Derived >, Eigen::PermutationBase< Derived >, Eigen::SolverBase< Derived >, Eigen::SparseMatrixBase< Derived >, Eigen::TriangularBase< Derived >, and Eigen::internal::BandMatrixBase< Derived >.

Public Types

typedef Eigen::Index Index
 The interface type of indices.
 
typedef internal::traits< Derived >::StorageKind StorageKind
 

Public Member Functions

EIGEN_DEVICE_FUNC Derived & derived ()
 
EIGEN_DEVICE_FUNC const Derived & derived () const
 
EIGEN_DEVICE_FUNC Derived & const_cast_derived () const
 
EIGEN_DEVICE_FUNC const Derived & const_derived () const
 
EIGEN_DEVICE_FUNC Index rows () const
 
EIGEN_DEVICE_FUNC Index cols () 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
 

Detailed Description

template<typename Derived>
class Eigen::EigenBase< Derived >

Common base class for all classes T such that MatrixBase has an operator=(T) and a constructor MatrixBase(T).

In other words, an EigenBase object is an object that can be copied into a MatrixBase.

Besides MatrixBase-derived classes, this also includes special matrix classes such as diagonal matrices, etc.

Notice that this class is trivial, it is only used to disambiguate overloaded functions.

See also
\blank TopicClassHierarchy

Member Typedef Documentation

◆ Index

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

The interface type of indices.

To change this, #define the preprocessor symbol EIGEN_DEFAULT_DENSE_INDEX_TYPE.

See also
StorageIndex, TopicPreprocessorDirectives.

◆ StorageKind

template<typename Derived >
typedef internal::traits<Derived>::StorageKind Eigen::EigenBase< Derived >::StorageKind

Member Function Documentation

◆ addTo()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::addTo ( Dest &  dst) const
inline
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
inline
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
inline
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()

template<typename Derived >
EIGEN_DEVICE_FUNC Index Eigen::EigenBase< Derived >::cols ( ) const
inline
Returns
the number of columns.
See also
rows(), ColsAtCompileTime
62{ return derived().cols(); }

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

Referenced by Eigen::PlainObjectBase< Derived >::_resize_to_match(), Eigen::ComplexEigenSolver< _MatrixType >::compute(), Eigen::EigenSolver< _MatrixType >::compute(), Eigen::ComplexSchur< _MatrixType >::compute(), Eigen::RealSchur< _MatrixType >::compute(), Eigen::EigenBase< Derived >::size(), and Eigen::EigenBase< Derived >::subTo().

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

◆ const_cast_derived()

template<typename Derived >
EIGEN_DEVICE_FUNC Derived & Eigen::EigenBase< Derived >::const_cast_derived ( ) const
inline
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
inline
55 { return *static_cast<const Derived*>(this); }

◆ derived() [1/2]

template<typename Derived >
EIGEN_DEVICE_FUNC Derived & Eigen::EigenBase< Derived >::derived ( )
inline
Returns
a reference to the derived object
45{ return *static_cast<Derived*>(this); }

Referenced by Eigen::ColPivHouseholderQR< _MatrixType >::ColPivHouseholderQR(), Eigen::CompleteOrthogonalDecomposition< _MatrixType >::CompleteOrthogonalDecomposition(), Eigen::ComplexEigenSolver< _MatrixType >::ComplexEigenSolver(), Eigen::ComplexSchur< _MatrixType >::ComplexSchur(), Eigen::EigenSolver< _MatrixType >::EigenSolver(), Eigen::FullPivHouseholderQR< _MatrixType >::FullPivHouseholderQR(), Eigen::FullPivLU< _MatrixType >::FullPivLU(), Eigen::HouseholderQR< _MatrixType >::HouseholderQR(), Eigen::LDLT< _MatrixType, _UpLo >::LDLT(), Eigen::LDLT< _MatrixType, _UpLo >::LDLT(), Eigen::LLT< _MatrixType, _UpLo >::LLT(), Eigen::LLT< _MatrixType, _UpLo >::LLT(), Eigen::PartialPivLU< _MatrixType >::PartialPivLU(), Eigen::PlainObjectBase< Derived >::PlainObjectBase(), Eigen::RealSchur< _MatrixType >::RealSchur(), Eigen::SelfAdjointEigenSolver< _MatrixType >::SelfAdjointEigenSolver(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::Transform(), Eigen::IterativeSolverBase< Derived >::analyzePattern(), Eigen::MatrixBase< Derived >::applyOnTheLeft(), Eigen::MatrixBase< Derived >::applyOnTheRight(), Eigen::EigenBase< Derived >::applyThisOnTheLeft(), Eigen::EigenBase< Derived >::applyThisOnTheRight(), Eigen::internal::blueNorm_impl(), Eigen::DenseCoeffsBase< Derived, WriteAccessors >::cols(), Eigen::EigenBase< Derived >::cols(), Eigen::SelfAdjointEigenSolver< _MatrixType >::compute(), Eigen::HessenbergDecomposition< _MatrixType >::compute(), Eigen::Tridiagonalization< _MatrixType >::compute(), Eigen::FullPivLU< _MatrixType >::compute(), Eigen::PartialPivLU< _MatrixType >::compute(), Eigen::ColPivHouseholderQR< _MatrixType >::compute(), Eigen::FullPivHouseholderQR< _MatrixType >::compute(), Eigen::HouseholderQR< _MatrixType >::compute(), Eigen::ComplexEigenSolver< _MatrixType >::compute(), Eigen::EigenSolver< _MatrixType >::compute(), Eigen::ComplexSchur< _MatrixType >::compute(), Eigen::RealSchur< _MatrixType >::compute(), Eigen::IterativeSolverBase< Derived >::compute(), Eigen::IterativeSolverBase< Derived >::factorize(), Eigen::UmfPackLU< _MatrixType >::grab(), Eigen::internal::generic_matrix_wrapper< MatrixType, false >::grab(), Eigen::RotationBase< Derived, _Dim >::operator*(), Eigen::Translation< _Scalar, _Dim >::operator*(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator*(), Eigen::MatrixBase< Derived >::operator*=(), Eigen::DenseBase< Derived >::operator+=(), Eigen::SparseMatrixBase< Derived >::operator+=(), Eigen::DenseBase< Derived >::operator-=(), Eigen::SparseMatrixBase< Derived >::operator-=(), Eigen::ArrayBase< ArrayWrapper< ExpressionType > >::operator=(), Eigen::MatrixBase< Derived >::operator=(), Eigen::DenseBase< Derived >::operator=(), Eigen::PlainObjectBase< Derived >::operator=(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::operator=(), Eigen::SparseMatrix< _Scalar, _Options, _StorageIndex >::operator=(), Eigen::SparseMatrixBase< Derived >::operator=(), and Eigen::PlainObjectBase< Derived >::resizeLike().

◆ derived() [2/2]

template<typename Derived >
EIGEN_DEVICE_FUNC const Derived & Eigen::EigenBase< Derived >::derived ( ) const
inline
Returns
a const reference to the derived object
48{ return *static_cast<const Derived*>(this); }

◆ evalTo()

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

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

+ Here is the caller graph for this function:

◆ rows()

◆ size()

template<typename Derived >
EIGEN_DEVICE_FUNC Index Eigen::EigenBase< Derived >::size ( ) const
inline
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
inline
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:

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