Product Class Template Reference

Inherits ei_no_assignment_operator, and MatrixBase< Eigen::Product< LhsNested, RhsNested, ProductMode > >.

List of all members.


Detailed Description

template<typename LhsNested, typename RhsNested, int ProductMode>
class Eigen::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>&)

Public Member Functions

template<typename DestDerived>
void _cacheFriendlyEvalAndAdd (DestDerived &res) const
bool _useCacheFriendlyProduct () const
const Scalar coeff (int index) const
const Scalar coeff (int row, int col) const
int cols () const
const _LhsNested & lhs () const
template<int LoadMode>
const PacketScalar packet (int row, int col) const
template<typename Lhs, typename Rhs>
 Product (const Lhs &lhs, const Rhs &rhs)
const _RhsNested & rhs () const
int rows () const

Protected Attributes

const LhsNested m_lhs
const RhsNested m_rhs

Member Function Documentation

const Scalar coeff ( int  index  )  const [inline]

Short version: don't use this function, use operator[](int) const instead.

Long version: this function is similar to operator[](int) const , but without the assertion. Use this for limiting the performance cost of debugging code when doing repeated coefficient access. Only use this when it is guaranteed that the parameter index is in range.

If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this function equivalent to operator[](int) const .

See also:
operator[](int) const, coeffRef(int), coeff(int,int) const

Reimplemented from MatrixBase.

const Scalar coeff ( int  row,
int  col 
) const [inline]

Short version: don't use this function, use operator()(int,int) const instead.

Long version: this function is similar to operator()(int,int) const , but without the assertion. Use this for limiting the performance cost of debugging code when doing repeated coefficient access. Only use this when it is guaranteed that the parameters row and col are in range.

If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this function equivalent to operator()(int,int) const .

See also:
operator()(int,int) const, coeffRef(int,int), coeff(int) const

Reimplemented from MatrixBase.

int cols ( void   )  const [inline]

Returns:
the number of columns.
See also:
rows(), ColsAtCompileTime

Reimplemented from MatrixBase.

const PacketScalar packet ( int  row,
int  col 
) const [inline]

Returns:
the packet of coefficients starting at the given row and column. It is your responsibility to ensure that a packet really starts there. This method is only available on expressions having the PacketAccessBit.
The LoadMode parameter may have the value Aligned or Unaligned. Its effect is to select the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets starting at an address which is a multiple of the packet size.

Reimplemented from MatrixBase.

int rows ( void   )  const [inline]

Returns:
the number of rows.
See also:
cols(), RowsAtCompileTime

Reimplemented from MatrixBase.


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

Generated on Thu Apr 9 10:10:02 2009 for Eigen by  doxygen 1.5.5