#include <nmatrix.h>
Public Member Functions | |
NMatrix (unsigned long rows, unsigned long cols) | |
Creates a new matrix of the given size. | |
NMatrix (const NMatrix &cloneMe) | |
Creates a new matrix that is a clone of the given matrix. | |
virtual | ~NMatrix () |
Destroys this matrix. | |
void | initialise (const T &value) |
Sets every entry in the matrix to the given value. | |
unsigned long | rows () const |
Returns the number of rows in this matrix. | |
unsigned long | columns () const |
Returns the number of columns in this matrix. | |
T & | entry (unsigned long row, unsigned long column) |
Returns the entry at the given row and column. | |
const T & | entry (unsigned long row, unsigned long column) const |
Returns the entry at the given row and column. | |
virtual void | writeMatrix (std::ostream &out) const |
Writes a complete representation of the matrix to the given output stream. | |
void | swapRows (unsigned long first, unsigned long second) |
Swaps the elements of the two given rows in the matrix. | |
void | swapColumns (unsigned long first, unsigned long second) |
Swaps the elements of the two given columns in the matrix. | |
Protected Attributes | |
unsigned long | nRows |
The number of rows in the matrix. | |
unsigned long | nCols |
The number of columns in the matrix. | |
T ** | data |
The actual entries in the matrix. |
=
) operator.
An element t of type T can be written to an output stream out using the standard expression out << t
.
regina::NMatrix< T >::NMatrix | ( | unsigned long | rows, | |
unsigned long | cols | |||
) | [inline] |
Creates a new matrix of the given size.
All entries will be initialised using their default constructors.
rows | the number of rows in the new matrix. | |
cols | the number of columns in the new matrix. |
regina::NMatrix< T >::NMatrix | ( | const NMatrix< T > & | cloneMe | ) | [inline] |
Creates a new matrix that is a clone of the given matrix.
cloneMe | the matrix to clone. |
virtual regina::NMatrix< T >::~NMatrix | ( | ) | [inline, virtual] |
Destroys this matrix.
void regina::NMatrix< T >::initialise | ( | const T & | value | ) | [inline] |
Sets every entry in the matrix to the given value.
value | the value to assign to each entry. |
unsigned long regina::NMatrix< T >::rows | ( | ) | const [inline] |
Returns the number of rows in this matrix.
unsigned long regina::NMatrix< T >::columns | ( | ) | const [inline] |
Returns the number of columns in this matrix.
T& regina::NMatrix< T >::entry | ( | unsigned long | row, | |
unsigned long | column | |||
) | [inline] |
Returns the entry at the given row and column.
Rows and columns are numbered beginning at zero.
column is between 0 and columns()-1 inclusive.
row | the row of the desired entry. | |
column | the column of the desired entry. |
const T& regina::NMatrix< T >::entry | ( | unsigned long | row, | |
unsigned long | column | |||
) | const [inline] |
Returns the entry at the given row and column.
Rows and columns are numbered beginning at zero.
column is between 0 and columns()-1 inclusive.
row | the row of the desired entry. | |
column | the column of the desired entry. |
virtual void regina::NMatrix< T >::writeMatrix | ( | std::ostream & | out | ) | const [inline, virtual] |
Writes a complete representation of the matrix to the given output stream.
Each row will be written on a separate line with elements in each row separated by single spaces.
out | the output stream to which to write. |
void regina::NMatrix< T >::swapRows | ( | unsigned long | first, | |
unsigned long | second | |||
) | [inline] |
Swaps the elements of the two given rows in the matrix.
first | the first row to swap. | |
second | the second row to swap. |
void regina::NMatrix< T >::swapColumns | ( | unsigned long | first, | |
unsigned long | second | |||
) | [inline] |
Swaps the elements of the two given columns in the matrix.
first | the first column to swap. | |
second | the second column to swap. |
unsigned long regina::NMatrix< T >::nRows [protected] |
The number of rows in the matrix.
unsigned long regina::NMatrix< T >::nCols [protected] |
The number of columns in the matrix.
T** regina::NMatrix< T >::data [protected] |
The actual entries in the matrix.
data[r][c]
is the element in row r, column c.