MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
grad::TransposedMatrix< MatrixExpr > Class Template Reference

#include <matvec.h>

Collaboration diagram for grad::TransposedMatrix< MatrixExpr >:

Public Types

typedef MatrixExpr::RowVectorType ColumnVectorType
 
typedef
MatrixExpr::ColumnVectorType 
RowVectorType
 
typedef MatrixExpr::ScalarType ScalarType
 
typedef MatrixExpr::ExpressionType ExpressionType
 

Public Member Functions

 TransposedMatrix (const MatrixExpr &A)
 
const ScalarTypeoperator() (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 = MatrixExpr::bAlias
 
static const index_type iNumRows = MatrixExpr::iNumCols
 
static const index_type iNumCols = MatrixExpr::iNumRows
 

Private Attributes

const MatrixExpr A
 

Detailed Description

template<typename MatrixExpr>
class grad::TransposedMatrix< MatrixExpr >

Definition at line 1105 of file matvec.h.

Member Typedef Documentation

template<typename MatrixExpr >
typedef MatrixExpr::RowVectorType grad::TransposedMatrix< MatrixExpr >::ColumnVectorType

Definition at line 1110 of file matvec.h.

template<typename MatrixExpr >
typedef MatrixExpr::ExpressionType grad::TransposedMatrix< MatrixExpr >::ExpressionType

Definition at line 1113 of file matvec.h.

template<typename MatrixExpr >
typedef MatrixExpr::ColumnVectorType grad::TransposedMatrix< MatrixExpr >::RowVectorType

Definition at line 1111 of file matvec.h.

template<typename MatrixExpr >
typedef MatrixExpr::ScalarType grad::TransposedMatrix< MatrixExpr >::ScalarType

Definition at line 1112 of file matvec.h.

Constructor & Destructor Documentation

template<typename MatrixExpr >
grad::TransposedMatrix< MatrixExpr >::TransposedMatrix ( const MatrixExpr &  A)
inline

Definition at line 1115 of file matvec.h.

References grad::DYNAMIC_SIZE, grad::TransposedMatrix< MatrixExpr >::iNumCols, grad::TransposedMatrix< MatrixExpr >::iNumRows, and MATVEC_ASSERT.

1116  :A(A) {
1117  MATVEC_ASSERT((iNumRows == A.iGetNumCols()) || (iNumRows == DYNAMIC_SIZE && A.iGetNumCols() >= 0));
1118  MATVEC_ASSERT((iNumCols == A.iGetNumRows()) || (iNumCols == DYNAMIC_SIZE && A.iGetNumRows() >= 0));
1119  }
static const index_type DYNAMIC_SIZE
Definition: gradient.h:141
#define MATVEC_ASSERT(expr)
Definition: matvec.h:64
static const index_type iNumRows
Definition: matvec.h:1108
static const index_type iNumCols
Definition: matvec.h:1109
const MatrixExpr A
Definition: matvec.h:1157

Member Function Documentation

template<typename MatrixExpr >
template<typename ScalarType2 >
bool grad::TransposedMatrix< MatrixExpr >::bHaveReferenceTo ( const ScalarType2 *  pFirst,
const ScalarType2 *  pLast 
) const
inline

Definition at line 1152 of file matvec.h.

References grad::TransposedMatrix< MatrixExpr >::A.

1152  {
1153  return A.bHaveReferenceTo(pFirst, pLast);
1154  }
const MatrixExpr A
Definition: matvec.h:1157
template<typename MatrixExpr >
ColumnVectorType grad::TransposedMatrix< MatrixExpr >::GetCol ( index_type  iCol) const
inline

Definition at line 1145 of file matvec.h.

References grad::TransposedMatrix< MatrixExpr >::A, grad::TransposedMatrix< MatrixExpr >::iGetNumCols(), and MATVEC_ASSERT.

1145  {
1146  MATVEC_ASSERT(iCol >= 1);
1147  MATVEC_ASSERT(iCol <= iGetNumCols());
1148  return A.GetRow(iCol);
1149  }
#define MATVEC_ASSERT(expr)
Definition: matvec.h:64
index_type iGetNumCols() const
Definition: matvec.h:1134
const MatrixExpr A
Definition: matvec.h:1157

Here is the call graph for this function:

template<typename MatrixExpr >
RowVectorType grad::TransposedMatrix< MatrixExpr >::GetRow ( index_type  iRow) const
inline

Definition at line 1139 of file matvec.h.

References grad::TransposedMatrix< MatrixExpr >::A, grad::TransposedMatrix< MatrixExpr >::iGetNumRows(), and MATVEC_ASSERT.

1139  {
1140  MATVEC_ASSERT(iRow >= 1);
1141  MATVEC_ASSERT(iRow <= iGetNumRows());
1142  return A.GetCol(iRow);
1143  }
#define MATVEC_ASSERT(expr)
Definition: matvec.h:64
index_type iGetNumRows() const
Definition: matvec.h:1129
const MatrixExpr A
Definition: matvec.h:1157

Here is the call graph for this function:

template<typename MatrixExpr >
index_type grad::TransposedMatrix< MatrixExpr >::iGetNumCols ( void  ) const
inline

Definition at line 1134 of file matvec.h.

References grad::TransposedMatrix< MatrixExpr >::A, grad::DYNAMIC_SIZE, grad::TransposedMatrix< MatrixExpr >::iNumCols, and MATVEC_ASSERT.

Referenced by grad::TransposedMatrix< MatrixExpr >::GetCol(), and grad::TransposedMatrix< MatrixExpr >::operator()().

1134  {
1135  MATVEC_ASSERT((iNumCols == A.iGetNumRows()) || (iNumCols == DYNAMIC_SIZE && A.iGetNumRows() >= 0));
1136  return A.iGetNumRows();
1137  }
static const index_type DYNAMIC_SIZE
Definition: gradient.h:141
#define MATVEC_ASSERT(expr)
Definition: matvec.h:64
static const index_type iNumCols
Definition: matvec.h:1109
const MatrixExpr A
Definition: matvec.h:1157
template<typename MatrixExpr >
index_type grad::TransposedMatrix< MatrixExpr >::iGetNumRows ( void  ) const
inline

Definition at line 1129 of file matvec.h.

References grad::TransposedMatrix< MatrixExpr >::A, grad::DYNAMIC_SIZE, grad::TransposedMatrix< MatrixExpr >::iNumRows, and MATVEC_ASSERT.

Referenced by grad::TransposedMatrix< MatrixExpr >::GetRow(), and grad::TransposedMatrix< MatrixExpr >::operator()().

1129  {
1130  MATVEC_ASSERT((iNumRows == A.iGetNumCols()) || (iNumRows == DYNAMIC_SIZE && A.iGetNumCols() >= 0));
1131  return A.iGetNumCols();
1132  }
static const index_type DYNAMIC_SIZE
Definition: gradient.h:141
#define MATVEC_ASSERT(expr)
Definition: matvec.h:64
static const index_type iNumRows
Definition: matvec.h:1108
const MatrixExpr A
Definition: matvec.h:1157
template<typename MatrixExpr >
const ScalarType& grad::TransposedMatrix< MatrixExpr >::operator() ( index_type  i,
index_type  j 
) const
inline

Definition at line 1121 of file matvec.h.

References grad::TransposedMatrix< MatrixExpr >::A, grad::TransposedMatrix< MatrixExpr >::iGetNumCols(), grad::TransposedMatrix< MatrixExpr >::iGetNumRows(), and MATVEC_ASSERT.

1121  {
1122  MATVEC_ASSERT(i >= 1);
1123  MATVEC_ASSERT(i <= iGetNumRows());
1124  MATVEC_ASSERT(j >= 1);
1125  MATVEC_ASSERT(j <= iGetNumCols());
1126  return A(j, i);
1127  }
#define MATVEC_ASSERT(expr)
Definition: matvec.h:64
index_type iGetNumCols() const
Definition: matvec.h:1134
index_type iGetNumRows() const
Definition: matvec.h:1129
const MatrixExpr A
Definition: matvec.h:1157

Here is the call graph for this function:

Member Data Documentation

template<typename MatrixExpr >
const bool grad::TransposedMatrix< MatrixExpr >::bAlias = MatrixExpr::bAlias
static

Definition at line 1107 of file matvec.h.

template<typename MatrixExpr >
const index_type grad::TransposedMatrix< MatrixExpr >::iNumCols = MatrixExpr::iNumRows
static
template<typename MatrixExpr >
const index_type grad::TransposedMatrix< MatrixExpr >::iNumRows = MatrixExpr::iNumCols
static

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