MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr > Class Template Reference

#include <matvec.h>

Collaboration diagram for grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >:

Public Types

typedef ScalarBinFunc::ScalarType ScalarType
 
typedef
ScalarBinFunc::ExpressionType 
ExpressionType
 
typedef VectorExpression
< RowVectorExpr
< MatrixMatrixMatrixBinaryExpr >
, iNumCols
RowVectorType
 
typedef VectorExpression
< ColumnVectorExpr
< MatrixMatrixMatrixBinaryExpr >
, iNumRows
ColumnVectorType
 

Public Member Functions

 MatrixMatrixMatrixBinaryExpr (const MatrixLhsExpr &u, const MatrixRhsExpr &v)
 
ExpressionType operator() (index_type i, index_type j) const
 
index_type iGetNumRows () const
 
index_type iGetNumCols () const
 
RowVectorType GetRow (index_type iRow) const
 
ColumnVectorType GetCol (index_type iCol) const
 
template<typename ScalarType2 >
bool bHaveReferenceTo (const ScalarType2 *pFirst, const ScalarType2 *pLast) const
 

Static Public Attributes

static const bool bAlias = MatrixLhsExpr::bAlias || MatrixRhsExpr::bAlias
 
static const index_type iNumRows = MatrixLhsExpr::iNumRows
 
static const index_type iNumCols = MatrixLhsExpr::iNumCols
 

Private Types

typedef IndexCheck
< MatrixLhsExpr::iNumRows-MatrixRhsExpr::iNumRows >
::CheckType 
check_iNumRows
 
typedef IndexCheck
< MatrixLhsExpr::iNumCols-MatrixRhsExpr::iNumCols >
::CheckType 
check_iNumCols
 

Private Attributes

const MatrixLhsExpr oU
 
const MatrixRhsExpr oV
 

Detailed Description

template<typename ScalarBinFunc, typename MatrixLhsExpr, typename MatrixRhsExpr>
class grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >

Definition at line 1226 of file matvec.h.

Member Typedef Documentation

template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
typedef IndexCheck<MatrixLhsExpr::iNumCols - MatrixRhsExpr::iNumCols>::CheckType grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::check_iNumCols
private

Definition at line 1284 of file matvec.h.

template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
typedef IndexCheck<MatrixLhsExpr::iNumRows - MatrixRhsExpr::iNumRows>::CheckType grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::check_iNumRows
private

Definition at line 1283 of file matvec.h.

template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
typedef VectorExpression<ColumnVectorExpr<MatrixMatrixMatrixBinaryExpr>, iNumRows> grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::ColumnVectorType

Definition at line 1234 of file matvec.h.

template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
typedef ScalarBinFunc::ExpressionType grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::ExpressionType

Definition at line 1232 of file matvec.h.

template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
typedef VectorExpression<RowVectorExpr<MatrixMatrixMatrixBinaryExpr>, iNumCols> grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::RowVectorType

Definition at line 1233 of file matvec.h.

template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
typedef ScalarBinFunc::ScalarType grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::ScalarType

Definition at line 1231 of file matvec.h.

Constructor & Destructor Documentation

template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::MatrixMatrixMatrixBinaryExpr ( const MatrixLhsExpr &  u,
const MatrixRhsExpr &  v 
)
inline

Member Function Documentation

template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
template<typename ScalarType2 >
bool grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::bHaveReferenceTo ( const ScalarType2 *  pFirst,
const ScalarType2 *  pLast 
) const
inline

Definition at line 1274 of file matvec.h.

References grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::oU, and grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::oV.

1274  {
1275  return oU.bHaveReferenceTo(pFirst, pLast) || oV.bHaveReferenceTo(pFirst, pLast);
1276  }
const MatrixRhsExpr oV
Definition: matvec.h:1280
const MatrixLhsExpr oU
Definition: matvec.h:1279
template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
ColumnVectorType grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::GetCol ( index_type  iCol) const
inline

Definition at line 1269 of file matvec.h.

1269  {
1270  return ColumnVectorType(*this, iCol);
1271  }
VectorExpression< ColumnVectorExpr< MatrixMatrixMatrixBinaryExpr >, iNumRows > ColumnVectorType
Definition: matvec.h:1234
template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
RowVectorType grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::GetRow ( index_type  iRow) const
inline

Definition at line 1265 of file matvec.h.

1265  {
1266  return RowVectorType(*this, iRow);
1267  }
VectorExpression< RowVectorExpr< MatrixMatrixMatrixBinaryExpr >, iNumCols > RowVectorType
Definition: matvec.h:1233
template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
index_type grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::iGetNumCols ( void  ) const
inline
template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
index_type grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::iGetNumRows ( void  ) const
inline
template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
ExpressionType grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::operator() ( index_type  i,
index_type  j 
) const
inline

Member Data Documentation

template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
const bool grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::bAlias = MatrixLhsExpr::bAlias || MatrixRhsExpr::bAlias
static

Definition at line 1228 of file matvec.h.

template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
const index_type grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::iNumCols = MatrixLhsExpr::iNumCols
static
template<typename ScalarBinFunc , typename MatrixLhsExpr , typename MatrixRhsExpr >
const index_type grad::MatrixMatrixMatrixBinaryExpr< ScalarBinFunc, MatrixLhsExpr, MatrixRhsExpr >::iNumRows = MatrixLhsExpr::iNumRows
static

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