#include <Matrix.h>
Public Member Functions | |
Matrix (size_t x, size_t y) | |
Matrix (size_t x, size_t y, double init) | |
Matrix (const Matrix &) | |
Matrix & | operator= (const Matrix &) |
~Matrix () | |
size_t | size () const |
size_t | dim1 () const |
size_t | dim2 () const |
Slice_iter< double > | row (size_t i) |
Cslice_iter< double > | row (size_t i) const |
Slice_iter< double > | column (size_t i) |
Cslice_iter< double > | column (size_t i) const |
double & | operator() (size_t x, size_t y) |
double | operator() (size_t x, size_t y) const |
Slice_iter< double > | operator() (size_t i) |
Cslice_iter< double > | operator() (size_t i) const |
Slice_iter< double > | operator[] (size_t i) |
Cslice_iter< double > | operator[] (size_t i) const |
Matrix & | operator *= (double) |
valarray< double > & | array () |
Matrix | sub (size_t minRow, size_t maxRow, size_t minCol, size_t maxCol) const |
void | sub (size_t minRow, size_t minCol, Matrix &dest) const |
Private Attributes | |
valarray< double > * | m_v |
size_t | m_d1 |
size_t | m_d2 |
Definition at line 23 of file Matrix.h.
Atlfast::Matrix::Matrix | ( | size_t | x, | |
size_t | y | |||
) |
Atlfast::Matrix::Matrix | ( | size_t | x, | |
size_t | y, | |||
double | init | |||
) |
Atlfast::Matrix::Matrix | ( | const Matrix & | ) |
Atlfast::Matrix::~Matrix | ( | ) |
size_t Atlfast::Matrix::size | ( | ) | const [inline] |
size_t Atlfast::Matrix::dim1 | ( | ) | const [inline] |
size_t Atlfast::Matrix::dim2 | ( | ) | const [inline] |
Slice_iter< double > Atlfast::Matrix::row | ( | size_t | i | ) | [inline] |
Cslice_iter< double > Atlfast::Matrix::row | ( | size_t | i | ) | const [inline] |
Slice_iter< double > Atlfast::Matrix::column | ( | size_t | i | ) | [inline] |
Cslice_iter< double > Atlfast::Matrix::column | ( | size_t | i | ) | const [inline] |
double & Atlfast::Matrix::operator() | ( | size_t | x, | |
size_t | y | |||
) |
double Atlfast::Matrix::operator() | ( | size_t | x, | |
size_t | y | |||
) | const |
Slice_iter<double> Atlfast::Matrix::operator() | ( | size_t | i | ) | [inline] |
Cslice_iter<double> Atlfast::Matrix::operator() | ( | size_t | i | ) | const [inline] |
Slice_iter<double> Atlfast::Matrix::operator[] | ( | size_t | i | ) | [inline] |
Cslice_iter<double> Atlfast::Matrix::operator[] | ( | size_t | i | ) | const [inline] |
Matrix & Atlfast::Matrix::operator *= | ( | double | ) |
valarray<double>& Atlfast::Matrix::array | ( | ) | [inline] |
Matrix Atlfast::Matrix::sub | ( | size_t | minRow, | |
size_t | maxRow, | |||
size_t | minCol, | |||
size_t | maxCol | |||
) | const |
Definition at line 41 of file Matrix.cxx.
00042 { 00043 size_t endRow=maxRow+1; 00044 size_t endCol=maxCol+1; 00045 00046 assert(endRow<=m_d1); 00047 assert(endCol<=m_d2); 00048 assert(endRow>minRow); 00049 assert(endCol>minCol); 00050 00051 size_t nRow=endRow-minRow; 00052 00053 size_t nCol=endCol-minCol; 00054 00055 Matrix m(nRow, nCol); 00056 size_t ii=0; 00057 size_t jj; 00058 for(size_t i = minRow; i<endRow; ++i){ 00059 jj=0; 00060 for(size_t j = minCol; j<endCol; ++j) m[ii][jj++]=(*this)[i][j]; 00061 ++ii; 00062 } 00063 assert(ii == endRow); 00064 assert(jj == endCol); 00065 return m; 00066 }
void Atlfast::Matrix::sub | ( | size_t | minRow, | |
size_t | minCol, | |||
Matrix & | dest | |||
) | const |
Definition at line 67 of file Matrix.cxx.
00067 { 00068 size_t endRow=minRow+m.m_d1; 00069 size_t endCol=minCol+m.m_d2; 00070 00071 assert(endRow<=m_d1); 00072 assert(endCol<=m_d2); 00073 assert(endRow>minRow); 00074 assert(endCol>minCol); 00075 00076 size_t ii=0; 00077 size_t jj; 00078 for(size_t i = minRow; i<endRow; ++i){ 00079 jj=0; 00080 for(size_t j = minCol; j<endCol; ++j) m[ii][jj++]=(*this)[i][j]; 00081 ++ii; 00082 } 00083 assert(ii == endRow); 00084 assert(jj == endCol); 00085 return; 00086 }
valarray<double>* Atlfast::Matrix::m_v [private] |
size_t Atlfast::Matrix::m_d1 [private] |
size_t Atlfast::Matrix::m_d2 [private] |