Expression of the product of two matrices. More...
#include <Product.h>
Public Types | |
enum | { LhsNestedFlags = _LhsNestedX::Flags, RhsNestedFlags = _RhsNestedX::Flags } |
typedef ei_cleantype < LhsNestedX >::type | _LhsNestedX |
typedef ei_cleantype < RhsNestedX >::type | _RhsNestedX |
typedef ei_nested< _LhsNested, _RhsNested::ColsAtCompileTime > ::type | LhsNestedX |
typedef ei_nested< _RhsNested, _LhsNested::RowsAtCompileTime > ::type | RhsNestedX |
Public Member Functions | |
template<typename DestDerived > | |
void | _cacheFriendlyEvalAndAdd (DestDerived &res) const |
EIGEN_STRONG_INLINE bool | _useCacheFriendlyProduct () const |
EIGEN_STRONG_INLINE const Scalar | coeff (int index) const |
EIGEN_STRONG_INLINE const Scalar | coeff (int row, int col) const |
EIGEN_STRONG_INLINE int | cols () const |
EIGEN_STRONG_INLINE const _LhsNested & | lhs () const |
template<int LoadMode> | |
EIGEN_STRONG_INLINE const PacketScalar | packet (int row, int col) const |
template<typename Lhs , typename Rhs > | |
Product (const Lhs &lhs, const Rhs &rhs) | |
EIGEN_STRONG_INLINE const _RhsNested & | rhs () const |
EIGEN_STRONG_INLINE int | rows () const |
Protected Attributes | |
const LhsNested | m_lhs |
const RhsNested | m_rhs |
Private Types | |
enum | { PacketSize = ei_packet_traits<Scalar>::size, InnerSize = ei_traits<Product>::InnerSize, Unroll = CoeffReadCost <= EIGEN_UNROLLING_LIMIT, CanVectorizeInner = ei_traits<Product>::CanVectorizeInner } |
typedef ei_traits< Product > ::_LhsNested | _LhsNested |
typedef ei_traits< Product > ::_RhsNested | _RhsNested |
typedef ei_product_coeff_impl < CanVectorizeInner?InnerVectorization:NoVectorization, Unroll?InnerSize-1:Dynamic, _LhsNested, _RhsNested, Scalar > | ScalarCoeffImpl |
Expression of the product of two matrices.
LhsNested | the type used to store the left-hand side | |
RhsNested | the type used to store the right-hand side | |
ProductMode | the type of the product |
This class represents an expression of the product of two matrices. It is the return type of the operator* between matrices. Its template arguments are determined automatically by ProductReturnType. Therefore, Product should never be used direclty. To determine the result type of a function which involves a matrix product, use ProductReturnType::Type.
Definition at line 166 of file Product.h.
typedef ei_traits<Product>::_LhsNested Product< LhsNested, RhsNested, ProductMode >::_LhsNested [private] |
typedef ei_cleantype<LhsNestedX>::type Product< LhsNested, RhsNested, ProductMode >::_LhsNestedX |
typedef ei_traits<Product>::_RhsNested Product< LhsNested, RhsNested, ProductMode >::_RhsNested [private] |
typedef ei_cleantype<RhsNestedX>::type Product< LhsNested, RhsNested, ProductMode >::_RhsNestedX |
typedef ei_nested<_LhsNested,_RhsNested::ColsAtCompileTime>::type Product< LhsNested, RhsNested, ProductMode >::LhsNestedX |
typedef ei_nested<_RhsNested,_LhsNested::RowsAtCompileTime>::type Product< LhsNested, RhsNested, ProductMode >::RhsNestedX |
typedef ei_product_coeff_impl<CanVectorizeInner ? InnerVectorization : NoVectorization, Unroll ? InnerSize-1 : Dynamic, _LhsNested, _RhsNested, Scalar> Product< LhsNested, RhsNested, ProductMode >::ScalarCoeffImpl [private] |
anonymous enum [private] |
anonymous enum |
void Product< Lhs, Rhs, ProductMode >::_cacheFriendlyEvalAndAdd | ( | DestDerived & | res | ) | const [inline] |
EIGEN_STRONG_INLINE bool Product< LhsNested, RhsNested, ProductMode >::_useCacheFriendlyProduct | ( | ) | const [inline] |
EIGEN_STRONG_INLINE const Scalar Product< LhsNested, RhsNested, ProductMode >::coeff | ( | int | index | ) | const [inline] |
Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.
EIGEN_STRONG_INLINE const Scalar Product< LhsNested, RhsNested, ProductMode >::coeff | ( | int | row, | |
int | col | |||
) | const [inline] |
Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.
EIGEN_STRONG_INLINE int Product< LhsNested, RhsNested, ProductMode >::cols | ( | void | ) | const [inline] |
Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.
EIGEN_STRONG_INLINE const _LhsNested& Product< LhsNested, RhsNested, ProductMode >::lhs | ( | ) | const [inline] |
EIGEN_STRONG_INLINE const PacketScalar Product< LhsNested, RhsNested, ProductMode >::packet | ( | int | row, | |
int | col | |||
) | const [inline] |
Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.
EIGEN_STRONG_INLINE const _RhsNested& Product< LhsNested, RhsNested, ProductMode >::rhs | ( | ) | const [inline] |
EIGEN_STRONG_INLINE int Product< LhsNested, RhsNested, ProductMode >::rows | ( | void | ) | const [inline] |
Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.