Main MRPT website > C++ reference
MRPT logo
Public Types | Public Member Functions | Protected Attributes | Private Types

CoeffBasedProduct< LhsNested, RhsNested, NestingFlags > Class Template Reference


Detailed Description

template<typename LhsNested, typename RhsNested, int NestingFlags>
class CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >

Definition at line 126 of file CoeffBasedProduct.h.

#include <src/Core/products/CoeffBasedProduct.h>

Inheritance diagram for CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef MatrixBase
< CoeffBasedProduct
Base
typedef Base::PlainObject PlainObject
 The plain matrix type corresponding to this expression.

Public Member Functions

 CoeffBasedProduct (const CoeffBasedProduct &other)
template<typename Lhs , typename Rhs >
 CoeffBasedProduct (const Lhs &lhs, const Rhs &rhs)
EIGEN_STRONG_INLINE Index rows () const
EIGEN_STRONG_INLINE Index cols () const
EIGEN_STRONG_INLINE const Scalar coeff (Index row, Index col) const
EIGEN_STRONG_INLINE const Scalar coeff (Index index) const
template<int LoadMode>
EIGEN_STRONG_INLINE const
PacketScalar 
packet (Index row, Index col) const
EIGEN_STRONG_INLINE operator const PlainObject & () const
const _LhsNestedlhs () const
const _RhsNestedrhs () const
const Diagonal
< LazyCoeffBasedProductType, 0 > 
diagonal () const
template<int DiagonalIndex>
const Diagonal
< LazyCoeffBasedProductType,
DiagonalIndex > 
diagonal () const
const Diagonal
< LazyCoeffBasedProductType,
Dynamic
diagonal (Index index) const

Protected Attributes

const LhsNested m_lhs
const RhsNested m_rhs
PlainObject m_result

Private Types

enum  { PacketSize = internal::packet_traits<Scalar>::size, InnerSize = internal::traits<CoeffBasedProduct>::InnerSize, Unroll = CoeffReadCost != Dynamic && CoeffReadCost <= EIGEN_UNROLLING_LIMIT, CanVectorizeInner = internal::traits<CoeffBasedProduct>::CanVectorizeInner }
typedef internal::traits
< CoeffBasedProduct >
::_LhsNested 
_LhsNested
typedef internal::traits
< CoeffBasedProduct >
::_RhsNested 
_RhsNested
typedef
internal::product_coeff_impl
< CanVectorizeInner?InnerVectorizedTraversal:DefaultTraversal,
Unroll?InnerSize-1:Dynamic,
_LhsNested, _RhsNested, Scalar
ScalarCoeffImpl
typedef CoeffBasedProduct
< LhsNested, RhsNested,
NestByRefBit
LazyCoeffBasedProductType

Member Typedef Documentation

template<typename LhsNested, typename RhsNested, int NestingFlags>
typedef internal::traits<CoeffBasedProduct>::_LhsNested CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::_LhsNested [private]

Definition at line 138 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
typedef internal::traits<CoeffBasedProduct>::_RhsNested CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::_RhsNested [private]

Definition at line 139 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
typedef MatrixBase<CoeffBasedProduct> CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::Base
template<typename LhsNested, typename RhsNested, int NestingFlags>
typedef CoeffBasedProduct<LhsNested,RhsNested,NestByRefBit> CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::LazyCoeffBasedProductType [private]

Definition at line 152 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
typedef Base::PlainObject CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::PlainObject

The plain matrix type corresponding to this expression.

This is not necessarily exactly the return type of eval(). In the case of plain matrices, the return type of eval() is a const reference to a matrix, not a matrix! It is however guaranteed that the return type of eval() is either PlainObject or const PlainObject&.

Reimplemented from MatrixBase< CoeffBasedProduct< LhsNested, RhsNested, NestingFlags > >.

Definition at line 134 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
typedef internal::product_coeff_impl<CanVectorizeInner ? InnerVectorizedTraversal : DefaultTraversal, Unroll ? InnerSize-1 : Dynamic, _LhsNested, _RhsNested, Scalar> CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::ScalarCoeffImpl [private]

Definition at line 150 of file CoeffBasedProduct.h.


Member Enumeration Documentation

template<typename LhsNested, typename RhsNested, int NestingFlags>
anonymous enum [private]
Enumerator:
PacketSize 
InnerSize 
Unroll 
CanVectorizeInner 

Definition at line 141 of file CoeffBasedProduct.h.


Constructor & Destructor Documentation

template<typename LhsNested, typename RhsNested, int NestingFlags>
CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::CoeffBasedProduct ( const CoeffBasedProduct< LhsNested, RhsNested, NestingFlags > &  other ) [inline]

Definition at line 156 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
template<typename Lhs , typename Rhs >
CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::CoeffBasedProduct ( const Lhs &  lhs,
const Rhs &  rhs 
) [inline]

Definition at line 161 of file CoeffBasedProduct.h.

References eigen_assert, and EIGEN_STATIC_ASSERT.


Member Function Documentation

template<typename LhsNested, typename RhsNested, int NestingFlags>
EIGEN_STRONG_INLINE const Scalar CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::coeff ( Index  row,
Index  col 
) const [inline]

Definition at line 176 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
EIGEN_STRONG_INLINE const Scalar CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::coeff ( Index  index ) const [inline]

Definition at line 186 of file CoeffBasedProduct.h.

References col(), and row().

template<typename LhsNested, typename RhsNested, int NestingFlags>
EIGEN_STRONG_INLINE Index CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::cols ( void   ) const [inline]

Definition at line 174 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
const Diagonal<LazyCoeffBasedProductType,Dynamic> CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::diagonal ( Index  index ) const [inline]
template<typename LhsNested, typename RhsNested, int NestingFlags>
const Diagonal<LazyCoeffBasedProductType,0> CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::diagonal (  ) const [inline]
template<typename LhsNested, typename RhsNested, int NestingFlags>
template<int DiagonalIndex>
const Diagonal<LazyCoeffBasedProductType,DiagonalIndex> CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::diagonal (  ) const [inline]
template<typename LhsNested, typename RhsNested, int NestingFlags>
const _LhsNested& CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::lhs (  ) const [inline]

Definition at line 213 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
EIGEN_STRONG_INLINE CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::operator const PlainObject & (  ) const [inline]

Definition at line 207 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
template<int LoadMode>
EIGEN_STRONG_INLINE const PacketScalar CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::packet ( Index  row,
Index  col 
) const [inline]

Definition at line 196 of file CoeffBasedProduct.h.

References col(), ColMajor, Dynamic, row(), and RowMajor.

template<typename LhsNested, typename RhsNested, int NestingFlags>
const _RhsNested& CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::rhs (  ) const [inline]

Definition at line 214 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
EIGEN_STRONG_INLINE Index CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::rows ( void   ) const [inline]

Definition at line 173 of file CoeffBasedProduct.h.


Member Data Documentation

template<typename LhsNested, typename RhsNested, int NestingFlags>
const LhsNested CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::m_lhs [protected]

Definition at line 227 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
PlainObject CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::m_result [mutable, protected]

Definition at line 230 of file CoeffBasedProduct.h.

template<typename LhsNested, typename RhsNested, int NestingFlags>
const RhsNested CoeffBasedProduct< LhsNested, RhsNested, NestingFlags >::m_rhs [protected]

Definition at line 228 of file CoeffBasedProduct.h.




Page generated by Doxygen 1.7.2 for MRPT 0.9.4 SVN: at Mon Jan 10 22:46:17 UTC 2011