Public Types | Public Member Functions | Public Attributes | Protected Attributes
Eigen::ProductBase< Derived, Lhs, Rhs > Class Template Reference

#include <ProductBase.h>

Inheritance diagram for Eigen::ProductBase< Derived, Lhs, Rhs >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef internal::remove_all
< ActualLhsType >::type 
_ActualLhsType
typedef internal::remove_all
< ActualRhsType >::type 
_ActualRhsType
typedef internal::remove_all
< LhsNested >::type 
_LhsNested
typedef internal::remove_all
< RhsNested >::type 
_RhsNested
typedef
LhsBlasTraits::DirectLinearAccessType 
ActualLhsType
typedef
RhsBlasTraits::DirectLinearAccessType 
ActualRhsType
typedef MatrixBase< Derived > Base
typedef Base::PlainObject BasePlainObject
typedef Matrix< Scalar,
RowsAtCompileTime==1?1:Dynamic,
ColsAtCompileTime==1?1:Dynamic,
BasePlainObject::Options > 
DynPlainObject
typedef CoeffBasedProduct
< LhsNested, RhsNested, 0 > 
FullyLazyCoeffBaseProductType
typedef internal::blas_traits
< _LhsNested
LhsBlasTraits
typedef Lhs::Nested LhsNested
typedef internal::traits< Lhs >
::Scalar 
LhsScalar
typedef internal::blas_traits
< _RhsNested
RhsBlasTraits
typedef Rhs::Nested RhsNested
typedef internal::traits< Rhs >
::Scalar 
RhsScalar
typedef internal::conditional
<(BasePlainObject::SizeAtCompileTime==Dynamic)||(BasePlainObject::SizeAtCompileTime
*int(sizeof(Scalar))< int(EIGEN_STACK_ALLOCATION_LIMIT)),
BasePlainObject,
DynPlainObject >::type
PlainObject;ProductBase(const
Lhs &a_lhs, const Rhs &a_rhs):m_lhs(a_lhs),
m_rhs(a_rhs){eigen_assert(a_lhs.cols()==a_rhs.rows()&&"invalid
matrix product"&&"if you
wanted a coeff-wise or a dot
product use the respective
explicit functions");}inline
Index rows() const {return
m_lhs.rows();}inline Index
cols() const {return
m_rhs.cols();}template
< typename Dest > inline void
evalTo(Dest &dst) const
{dst.setZero();scaleAndAddTo(dst,
Scalar(1));}template< typename
Dest > inline void addTo(Dest
&dst) const {scaleAndAddTo(dst,
Scalar(1));}template< typename
Dest > inline void subTo(Dest
&dst) const {scaleAndAddTo(dst,
Scalar(-1));}template
< typename Dest > inline void
scaleAndAddTo(Dest &dst, const
Scalar &alpha) const {derived().scaleAndAddTo(dst,
alpha);}const _LhsNested &lhs()
const {return m_lhs;}const
_RhsNested &rhs() const
{return m_rhs;}operator const
PlainObject &() const
{m_result.resize(m_lhs.rows(),
m_rhs.cols());derived().evalTo(m_result);return
m_result;}const Diagonal
< const
FullyLazyCoeffBaseProductType, 0 >
diagonal() const {return
FullyLazyCoeffBaseProductType(m_lhs,
m_rhs);}template< int Index >
const Diagonal
< FullyLazyCoeffBaseProductType,
Index > diagonal() const
{return
FullyLazyCoeffBaseProductType(m_lhs,
m_rhs);}const Diagonal
< FullyLazyCoeffBaseProductType,
Dynamic > diagonal(Index index)
const {return
FullyLazyCoeffBaseProductType(m_lhs,
m_rhs).diagonal(index);}typename
Base::CoeffReturnType coeff(Index
row, Index col) const
{EIGEN_STATIC_ASSERT_SIZE_1x1(Derived)
eigen_assert(this-> 
rows () = = 1 && this->cols() == 1)

Public Member Functions

return result coeff (row, col)
Base::CoeffReturnType coeff (Index i) const
const ScalarcoeffRef (Index row, Index col) const
const ScalarcoeffRef (Index i) const

Public Attributes

Matrix< Scalar, 1, 1 > result = *this

Protected Attributes

LhsNested m_lhs
PlainObject m_result
RhsNested m_rhs

Detailed Description

template<typename Derived, typename Lhs, typename Rhs>
class Eigen::ProductBase< Derived, Lhs, Rhs >

Definition at line 63 of file ProductBase.h.


Member Typedef Documentation

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<ActualLhsType>::type Eigen::ProductBase< Derived, Lhs, Rhs >::_ActualLhsType

Definition at line 73 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<ActualRhsType>::type Eigen::ProductBase< Derived, Lhs, Rhs >::_ActualRhsType

Definition at line 80 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<LhsNested>::type Eigen::ProductBase< Derived, Lhs, Rhs >::_LhsNested

Definition at line 70 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::remove_all<RhsNested>::type Eigen::ProductBase< Derived, Lhs, Rhs >::_RhsNested

Definition at line 77 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef LhsBlasTraits::DirectLinearAccessType Eigen::ProductBase< Derived, Lhs, Rhs >::ActualLhsType

Definition at line 72 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef RhsBlasTraits::DirectLinearAccessType Eigen::ProductBase< Derived, Lhs, Rhs >::ActualRhsType

Definition at line 79 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef MatrixBase<Derived> Eigen::ProductBase< Derived, Lhs, Rhs >::Base

Reimplemented from Eigen::MatrixBase< Derived >.

Reimplemented in Eigen::ScaledProduct< NestedProduct >.

Definition at line 66 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef Base::PlainObject Eigen::ProductBase< Derived, Lhs, Rhs >::BasePlainObject

Definition at line 89 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef Matrix<Scalar,RowsAtCompileTime==1?1:Dynamic,ColsAtCompileTime==1?1:Dynamic,BasePlainObject::Options> Eigen::ProductBase< Derived, Lhs, Rhs >::DynPlainObject

Definition at line 90 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef CoeffBasedProduct<LhsNested, RhsNested, 0> Eigen::ProductBase< Derived, Lhs, Rhs >::FullyLazyCoeffBaseProductType

Definition at line 84 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::blas_traits<_LhsNested> Eigen::ProductBase< Derived, Lhs, Rhs >::LhsBlasTraits

Definition at line 71 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef Lhs::Nested Eigen::ProductBase< Derived, Lhs, Rhs >::LhsNested

Definition at line 69 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::traits<Lhs>::Scalar Eigen::ProductBase< Derived, Lhs, Rhs >::LhsScalar
template<typename Derived, typename Lhs, typename Rhs>
typedef internal::blas_traits<_RhsNested> Eigen::ProductBase< Derived, Lhs, Rhs >::RhsBlasTraits

Definition at line 78 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef Rhs::Nested Eigen::ProductBase< Derived, Lhs, Rhs >::RhsNested

Definition at line 76 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
typedef internal::traits<Rhs>::Scalar Eigen::ProductBase< Derived, Lhs, Rhs >::RhsScalar
template<typename Derived, typename Lhs, typename Rhs>
typedef internal::conditional<(BasePlainObject::SizeAtCompileTime==Dynamic) || (BasePlainObject::SizeAtCompileTime*int(sizeof(Scalar)) < int(EIGEN_STACK_ALLOCATION_LIMIT)), BasePlainObject, DynPlainObject>::type PlainObject; ProductBase(const Lhs& a_lhs, const Rhs& a_rhs) : m_lhs(a_lhs), m_rhs(a_rhs) { eigen_assert(a_lhs.cols() == a_rhs.rows() && "invalid matrix product" && "if you wanted a coeff-wise or a dot product use the respective explicit functions"); } inline Index rows() const { return m_lhs.rows(); } inline Index cols() const { return m_rhs.cols(); } template<typename Dest> inline void evalTo(Dest& dst) const { dst.setZero(); scaleAndAddTo(dst,Scalar(1)); } template<typename Dest> inline void addTo(Dest& dst) const { scaleAndAddTo(dst,Scalar(1)); } template<typename Dest> inline void subTo(Dest& dst) const { scaleAndAddTo(dst,Scalar(-1)); } template<typename Dest> inline void scaleAndAddTo(Dest& dst, const Scalar& alpha) const { derived().scaleAndAddTo(dst,alpha); } const _LhsNested& lhs() const { return m_lhs; } const _RhsNested& rhs() const { return m_rhs; } operator const PlainObject& () const { m_result.resize(m_lhs.rows(), m_rhs.cols()); derived().evalTo(m_result); return m_result; } const Diagonal<const FullyLazyCoeffBaseProductType,0> diagonal() const { return FullyLazyCoeffBaseProductType(m_lhs, m_rhs); } template<int Index> const Diagonal<FullyLazyCoeffBaseProductType,Index> diagonal() const { return FullyLazyCoeffBaseProductType(m_lhs, m_rhs); } const Diagonal<FullyLazyCoeffBaseProductType,Dynamic> diagonal(Index index) const { return FullyLazyCoeffBaseProductType(m_lhs, m_rhs).diagonal(index); } typename Base::CoeffReturnType coeff(Index row, Index col) const { EIGEN_STATIC_ASSERT_SIZE_1x1(Derived) eigen_assert(this-> Eigen::ProductBase< Derived, Lhs, Rhs >::rows() = = 1 && this->cols() == 1)

Definition at line 148 of file ProductBase.h.


Member Function Documentation

template<typename Derived, typename Lhs, typename Rhs>
return result Eigen::ProductBase< Derived, Lhs, Rhs >::coeff ( row  ,
col   
)
template<typename Derived, typename Lhs, typename Rhs>
Base::CoeffReturnType Eigen::ProductBase< Derived, Lhs, Rhs >::coeff ( Index  i) const [inline]

Definition at line 154 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
const Scalar& Eigen::ProductBase< Derived, Lhs, Rhs >::coeffRef ( Index  row,
Index  col 
) const [inline]

Definition at line 162 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
const Scalar& Eigen::ProductBase< Derived, Lhs, Rhs >::coeffRef ( Index  i) const [inline]

Definition at line 169 of file ProductBase.h.


Member Data Documentation

template<typename Derived, typename Lhs, typename Rhs>
LhsNested Eigen::ProductBase< Derived, Lhs, Rhs >::m_lhs [protected]

Definition at line 178 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
PlainObject Eigen::ProductBase< Derived, Lhs, Rhs >::m_result [mutable, protected]

Definition at line 181 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
RhsNested Eigen::ProductBase< Derived, Lhs, Rhs >::m_rhs [protected]

Definition at line 179 of file ProductBase.h.

template<typename Derived, typename Lhs, typename Rhs>
Matrix<Scalar,1,1> Eigen::ProductBase< Derived, Lhs, Rhs >::result = *this

Definition at line 149 of file ProductBase.h.


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


turtlebot_exploration_3d
Author(s): Bona , Shawn
autogenerated on Thu Jun 6 2019 21:00:55