Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends
Matrix Class Reference

A templated 2D matrix of objects of <T>, where the n x m matrix dimensions are known and used for subscript bounds checking, etc. More...

Inheritance diagram for Matrix:
Inheritance graph
[legend]

Public Member Functions

 Matrix ()
 Null constructor. More...
 
 Matrix (const label n, const label m)
 Construct given number of rows and columns. More...
 
 Matrix (const label n, const label m, const Type &)
 Construct with given number of rows and columns. More...
 
 Matrix (const Matrix< Form, Type > &)
 Copy constructor. More...
 
 Matrix (Istream &)
 Construct from Istream. More...
 
autoPtr< Matrix< Form, Type > > clone () const
 Clone. More...
 
 ~Matrix ()
 Destructor. More...
 
label n () const
 Return the number of rows. More...
 
label m () const
 Return the number of columns. More...
 
label size () const
 Return the number of elements in matrix (n*m) More...
 
void checki (const label i) const
 Check index i is within valid range (0 ... n-1). More...
 
void checkj (const label j) const
 Check index j is within valid range (0 ... m-1). More...
 
void clear ()
 Clear the Matrix, i.e. set sizes to zero. More...
 
void transfer (Matrix< Form, Type > &)
 Transfer the contents of the argument Matrix into this Matrix. More...
 
Form T () const
 Return the transpose of the matrix. More...
 
Type * operator[] (const label)
 Return subscript-checked row of Matrix. More...
 
const Type * operator[] (const label) const
 Return subscript-checked row of constant Matrix. More...
 
void operator= (const Matrix< Form, Type > &)
 Assignment operator. Takes linear time. More...
 
void operator= (const Type &)
 Assignment of all entries to the given value. More...
 

Static Public Member Functions

static const Matrix< Form, Type > & null ()
 Return a null Matrix. More...
 

Private Member Functions

void allocate ()
 Allocate the storage for the row-pointers and the data. More...
 

Private Attributes

label n_
 Number of rows and columns in Matrix. More...
 
label m_
 
Type **__restrict__ v_
 Row pointers. More...
 

Friends

Istreamoperator>> (Istream &, Matrix< Form, Type > &)
 Read Matrix from Istream, discarding contents of existing Matrix. More...
 
Ostreamoperator (Ostream &, const Matrix< Form, Type > &)
 

Detailed Description

A templated 2D matrix of objects of <T>, where the n x m matrix dimensions are known and used for subscript bounds checking, etc.

Source files

Definition at line 47 of file DiagonalMatrix.H.

Constructor & Destructor Documentation

◆ Matrix() [1/5]

Matrix ( )
inline

Null constructor.

Definition at line 29 of file MatrixI.H.

◆ Matrix() [2/5]

Matrix ( const label  n,
const label  m 
)

Construct given number of rows and columns.

Definition at line 62 of file Matrix.C.

◆ Matrix() [3/5]

Matrix ( const label  n,
const label  m,
const Type &   
)

Construct with given number of rows and columns.

and value for all elements.

◆ Matrix() [4/5]

Matrix ( const Matrix< Form, Type > &  )

Copy constructor.

◆ Matrix() [5/5]

Matrix ( Istream )

Construct from Istream.

◆ ~Matrix()

~Matrix ( )

Destructor.

Definition at line 49 of file Matrix.C.

Member Function Documentation

◆ allocate()

void allocate ( )
private

Allocate the storage for the row-pointers and the data.

and set the row pointers

Definition at line 31 of file Matrix.C.

◆ null()

const Foam::Matrix< Form, Type > & null ( )
inlinestatic

Return a null Matrix.

Definition at line 48 of file MatrixI.H.

◆ clone()

Foam::autoPtr< Foam::Matrix< Form, Type > > clone ( ) const
inline

Clone.

Definition at line 39 of file MatrixI.H.

◆ n()

Foam::label n ( ) const
inline

◆ m()

Foam::label m ( ) const
inline

◆ size()

Foam::label size ( ) const
inline

Return the number of elements in matrix (n*m)

Definition at line 70 of file MatrixI.H.

◆ checki()

void checki ( const label  i) const
inline

Check index i is within valid range (0 ... n-1).

Definition at line 77 of file MatrixI.H.

◆ checkj()

void checkj ( const label  j) const
inline

Check index j is within valid range (0 ... m-1).

Definition at line 95 of file MatrixI.H.

◆ clear()

void clear ( )

Clear the Matrix, i.e. set sizes to zero.

Definition at line 132 of file Matrix.C.

◆ transfer()

void transfer ( Matrix< Form, Type > &  a)

Transfer the contents of the argument Matrix into this Matrix.

and annul the argument Matrix.

Definition at line 146 of file Matrix.C.

◆ T()

Form T ( ) const

Return the transpose of the matrix.

Definition at line 162 of file Matrix.C.

Referenced by SVD::SVD().

Here is the caller graph for this function:

◆ operator[]() [1/2]

Type* operator[] ( const  label)
inline

Return subscript-checked row of Matrix.

◆ operator[]() [2/2]

const Type* operator[] ( const  label) const
inline

Return subscript-checked row of constant Matrix.

◆ operator=() [1/2]

void operator= ( const Matrix< Form, Type > &  )

Assignment operator. Takes linear time.

◆ operator=() [2/2]

void operator= ( const Type &  )

Assignment of all entries to the given value.

Friends And Related Function Documentation

◆ operator>>

Istream& operator>> ( Istream ,
Matrix< Form, Type > &   
)
friend

Read Matrix from Istream, discarding contents of existing Matrix.

◆ operator

Ostream& operator ( Ostream ,
const Matrix< Form, Type > &   
)
friend

Field Documentation

◆ n_

label n_
private

Number of rows and columns in Matrix.

Definition at line 78 of file Matrix.H.

Referenced by Matrix< RectangularMatrix< Type >, Type >::transfer().

◆ m_

label m_
private

Definition at line 78 of file Matrix.H.

Referenced by Matrix< RectangularMatrix< Type >, Type >::transfer().

◆ v_

Type** __restrict__ v_
private

Row pointers.

Definition at line 81 of file Matrix.H.

Referenced by Matrix< RectangularMatrix< Type >, Type >::transfer().


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