Product< LhsNested, RhsNested, ProductMode > Class Template Reference

Expression of the product of two matrices. More...

#include <Product.h>

Inheritance diagram for Product< LhsNested, RhsNested, ProductMode >:
Inheritance graph
[legend]

List of all members.

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

Detailed Description

template<typename LhsNested, typename RhsNested, int ProductMode>
class Product< LhsNested, RhsNested, ProductMode >

Expression of the product of two matrices.

Parameters:
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.

See also:
ProductReturnType, MatrixBase::operator*(const MatrixBase<OtherDerived>&)

Definition at line 166 of file Product.h.


Member Typedef Documentation

template<typename LhsNested, typename RhsNested, int ProductMode>
typedef ei_traits<Product>::_LhsNested Product< LhsNested, RhsNested, ProductMode >::_LhsNested [private]

Definition at line 175 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
typedef ei_cleantype<LhsNestedX>::type Product< LhsNested, RhsNested, ProductMode >::_LhsNestedX

Definition at line 192 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
typedef ei_traits<Product>::_RhsNested Product< LhsNested, RhsNested, ProductMode >::_RhsNested [private]

Definition at line 176 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
typedef ei_cleantype<RhsNestedX>::type Product< LhsNested, RhsNested, ProductMode >::_RhsNestedX

Definition at line 193 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
typedef ei_nested<_LhsNested,_RhsNested::ColsAtCompileTime>::type Product< LhsNested, RhsNested, ProductMode >::LhsNestedX

Definition at line 190 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
typedef ei_nested<_RhsNested,_LhsNested::RowsAtCompileTime>::type Product< LhsNested, RhsNested, ProductMode >::RhsNestedX

Definition at line 191 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
typedef ei_product_coeff_impl<CanVectorizeInner ? InnerVectorization : NoVectorization, Unroll ? InnerSize-1 : Dynamic, _LhsNested, _RhsNested, Scalar> Product< LhsNested, RhsNested, ProductMode >::ScalarCoeffImpl [private]

Definition at line 187 of file Product.h.


Member Enumeration Documentation

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

Definition at line 178 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
anonymous enum
Enumerator:
LhsNestedFlags 
RhsNestedFlags 

Definition at line 196 of file Product.h.


Constructor & Destructor Documentation

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

Definition at line 203 of file Product.h.


Member Function Documentation

template<typename Lhs , typename Rhs , int ProductMode>
template<typename DestDerived >
void Product< Lhs, Rhs, ProductMode >::_cacheFriendlyEvalAndAdd ( DestDerived &  res  )  const [inline]

Definition at line 819 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
EIGEN_STRONG_INLINE bool Product< LhsNested, RhsNested, ProductMode >::_useCacheFriendlyProduct (  )  const [inline]

Definition at line 224 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
EIGEN_STRONG_INLINE const Scalar Product< LhsNested, RhsNested, ProductMode >::coeff ( int  index  )  const [inline]

Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.

Definition at line 244 of file Product.h.

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

Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.

Definition at line 234 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
EIGEN_STRONG_INLINE int Product< LhsNested, RhsNested, ProductMode >::cols ( void   )  const [inline]
Returns:
the number of columns.
See also:
rows(), ColsAtCompileTime

Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.

Definition at line 232 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
EIGEN_STRONG_INLINE const _LhsNested& Product< LhsNested, RhsNested, ProductMode >::lhs (  )  const [inline]

Definition at line 264 of file Product.h.

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

Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.

Definition at line 254 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
EIGEN_STRONG_INLINE const _RhsNested& Product< LhsNested, RhsNested, ProductMode >::rhs (  )  const [inline]

Definition at line 265 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
EIGEN_STRONG_INLINE int Product< LhsNested, RhsNested, ProductMode >::rows ( void   )  const [inline]
Returns:
the number of rows.
See also:
cols(), RowsAtCompileTime

Reimplemented from MatrixBase< Product< LhsNested, RhsNested, ProductMode > >.

Definition at line 231 of file Product.h.


Member Data Documentation

template<typename LhsNested, typename RhsNested, int ProductMode>
const LhsNested Product< LhsNested, RhsNested, ProductMode >::m_lhs [protected]

Definition at line 268 of file Product.h.

template<typename LhsNested, typename RhsNested, int ProductMode>
const RhsNested Product< LhsNested, RhsNested, ProductMode >::m_rhs [protected]

Definition at line 269 of file Product.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:22:18 2013