MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
grad::MatNxNDirectExpr Class Reference

#include <matvec.h>

Collaboration diagram for grad::MatNxNDirectExpr:

Public Types

typedef void RowVectorType
 
typedef void ColumnVectorType
 
typedef ScalarTypeTraits
< doublereal >::ScalarType 
ScalarType
 
typedef ScalarTypeTraits
< doublereal >
::DirectExpressionType 
ExpressionType
 

Public Member Functions

 MatNxNDirectExpr (const MatNxN &A)
 
const ScalarTypeoperator() (index_type i, index_type j) const
 
index_type iGetNumRows () const
 
index_type iGetNumCols () const
 
template<typename ScalarType2 >
bool bHaveReferenceTo (const ScalarType2 *pFirst, const ScalarType2 *pLast) const
 

Static Public Attributes

static const bool bAlias = false
 
static const index_type iNumRows = DYNAMIC_SIZE
 
static const index_type iNumCols = DYNAMIC_SIZE
 

Private Attributes

const MatNxNA
 

Detailed Description

Definition at line 1562 of file matvec.h.

Member Typedef Documentation

Definition at line 1569 of file matvec.h.

Definition at line 1571 of file matvec.h.

Definition at line 1568 of file matvec.h.

Constructor & Destructor Documentation

grad::MatNxNDirectExpr::MatNxNDirectExpr ( const MatNxN A)
inline

Definition at line 1573 of file matvec.h.

1574  :A(A) {
1575 
1576  }
const MatNxN & A
Definition: matvec.h:1600

Member Function Documentation

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

Definition at line 1595 of file matvec.h.

References A, grad::bArrayOverlap(), MatNxN::iGetNumCols(), and MatNxN::iGetNumRows().

1595  {
1596  return bArrayOverlap(&A(1, 1), &A(A.iGetNumRows(), A.iGetNumCols()), pFirst, pLast);
1597  }
integer iGetNumRows(void) const
Definition: matvec3n.h:562
bool bArrayOverlap(const ScalarType *pFirstArray1, const ScalarType *pLastArray1, const ScalarType *pFirstArray2, const ScalarType *pLastArray2)
Definition: matvec.h:430
const MatNxN & A
Definition: matvec.h:1600
integer iGetNumCols(void) const
Definition: matvec3n.h:570

Here is the call graph for this function:

index_type grad::MatNxNDirectExpr::iGetNumCols ( void  ) const
inline

Definition at line 1590 of file matvec.h.

References A, and MatNxN::iGetNumCols().

Referenced by operator()().

1590  {
1591  return A.iGetNumCols();
1592  }
const MatNxN & A
Definition: matvec.h:1600
integer iGetNumCols(void) const
Definition: matvec3n.h:570

Here is the call graph for this function:

index_type grad::MatNxNDirectExpr::iGetNumRows ( void  ) const
inline

Definition at line 1586 of file matvec.h.

References A, and MatNxN::iGetNumRows().

Referenced by operator()().

1586  {
1587  return A.iGetNumRows();
1588  }
integer iGetNumRows(void) const
Definition: matvec3n.h:562
const MatNxN & A
Definition: matvec.h:1600

Here is the call graph for this function:

const ScalarType& grad::MatNxNDirectExpr::operator() ( index_type  i,
index_type  j 
) const
inline

Definition at line 1578 of file matvec.h.

References A, iGetNumCols(), iGetNumRows(), and MATVEC_ASSERT.

1578  {
1579  MATVEC_ASSERT(i >= 1);
1580  MATVEC_ASSERT(i <= iGetNumRows());
1581  MATVEC_ASSERT(j >= 1);
1582  MATVEC_ASSERT(j <= iGetNumCols());
1583  return A(i, j);
1584  }
#define MATVEC_ASSERT(expr)
Definition: matvec.h:64
index_type iGetNumRows() const
Definition: matvec.h:1586
const MatNxN & A
Definition: matvec.h:1600
index_type iGetNumCols() const
Definition: matvec.h:1590

Here is the call graph for this function:

Member Data Documentation

const MatNxN& grad::MatNxNDirectExpr::A
private

Definition at line 1600 of file matvec.h.

Referenced by bHaveReferenceTo(), iGetNumCols(), iGetNumRows(), and operator()().

const bool grad::MatNxNDirectExpr::bAlias = false
static

Definition at line 1564 of file matvec.h.

const index_type grad::MatNxNDirectExpr::iNumCols = DYNAMIC_SIZE
static

Definition at line 1566 of file matvec.h.

const index_type grad::MatNxNDirectExpr::iNumRows = DYNAMIC_SIZE
static

Definition at line 1565 of file matvec.h.


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