#include <include/EST_TMatrix.h>


Public Member Functions | |
| EST_TMatrix () | |
| default constructor | |
| EST_TMatrix (const EST_TMatrix< T > &m) | |
| copy constructor | |
| EST_TMatrix (int rows, int cols) | |
| "size" constructor | |
| EST_TMatrix (int rows, int cols, T *memory, int offset=0, int free_when_destroyed=0) | |
| construct from memory supplied by caller | |
| ~EST_TMatrix () | |
| EST_TMatrix. | |
| bool | have_rows_before (int n) const |
| bool | have_columns_before (int n) const |
| void | resize (int rows, int cols, int set=1) |
| void | fill (const T &v) |
| fill matrix with value v | |
| void | fill () |
| EST_TMatrix & | operator= (const EST_TMatrix &s) |
| assignment operator | |
| EST_TMatrix & | add_rows (const EST_TMatrix &s) |
| The two versions of what might have been operator +=. | |
| EST_TMatrix & | add_columns (const EST_TMatrix &s) |
access | |
Basic access methods for matrices. | |
| int | num_rows () const |
| return number of rows | |
| int | num_columns () const |
| return number of columns | |
| INLINE const T & | a_no_check (int row, int col) const |
| const access with no bounds check, care recommend | |
| INLINE T & | a_no_check (int row, int col) |
| access with no bounds check, care recommend | |
| INLINE const T & | a_no_check_1 (int row, int col) const |
| INLINE T & | a_no_check_1 (int row, int col) |
| const T & | a_check (int row, int col) const |
| const element access function | |
| T & | a_check (int row, int col) |
| non-const element access function | |
| const T & | a (int row, int col) const |
| T & | a (int row, int col) |
| const T & | operator() (int row, int col) const |
| const element access operator | |
| T & | operator() (int row, int col) |
| non-const element access operator | |
Sub-Matrix/Vector Extraction | |
All of these return matrices and vectors which share memory with the original, so altering values them alters the original. | |
| void | row (EST_TVector< T > &rv, int r, int start_c=0, int len=-1) |
| Make the vector { rv} a window onto row { r}. | |
| void | column (EST_TVector< T > &cv, int c, int start_r=0, int len=-1) |
| Make the vector { cv} a window onto column { c}. | |
| void | sub_matrix (EST_TMatrix< T > &sm, int r=0, int numr=EST_ALL, int c=0, int numc=EST_ALL) |
| Make the matrix { sm} a window into this matrix. | |
Copy in and out | |
Copy data between buffers and the matrix. | |
| void | copy_row (int r, T *buf, int offset=0, int num=-1) const |
| void | copy_row (int r, EST_TVector< T > &t, int offset=0, int num=-1) const |
| void | copy_column (int c, T *buf, int offset=0, int num=-1) const |
| void | copy_column (int c, EST_TVector< T > &t, int offset=0, int num=-1) const |
| void | set_row (int n, const T *buf, int offset=0, int num=-1) |
| void | set_row (int n, const EST_TVector< T > &t, int offset=0, int num=-1) |
| void | set_row (int r, const EST_TMatrix< T > &from, int from_r, int from_offset=0, int offset=0, int num=-1) |
| void | set_column (int n, const T *buf, int offset=0, int num=-1) |
| void | set_column (int n, const EST_TVector< T > &t, int offset=0, int num=-1) |
| void | set_column (int c, const EST_TMatrix< T > &from, int from_c, int from_offset=0, int offset=0, int num=-1) |
| void | set_memory (T *buffer, int offset, int rows, int columns, int free_when_destroyed=0) |
Public Member Functions inherited from EST_TVector< T > | |
| INLINE unsigned int | vcell_pos (unsigned int c, unsigned int cs) const |
| The memory access rule, in one place for easy reference. | |
| INLINE unsigned int | vcell_pos (unsigned int c) const |
| INLINE unsigned int | vcell_pos_1 (unsigned int c) const |
| INLINE const T & | fast_a_v (int c) const |
| quick method for returning (x[n]) | |
| INLINE T & | fast_a_v (int c) |
| INLINE const T & | fast_a_1 (int c) const |
| INLINE T & | fast_a_1 (int c) |
| void | set_values (const T *data, int step, int start_c, int num_c) |
| Get and set values from array. | |
| void | get_values (T *data, int step, int start_c, int num_c) const |
| void | copy (const EST_TVector< T > &a) |
| private copy function, called from all other copying functions. | |
| void | copy_data (const EST_TVector< T > &a) |
| just copy data, no resizing, no size check. | |
| void | just_resize (int new_cols, T **old_vals) |
| resize the memory and reset the bounds, but don't set values. | |
| void | default_vals () |
| sets data and length to default values (0 in both cases). | |
| EST_TVector () | |
| default constructor | |
| EST_TVector (const EST_TVector< T > &v) | |
| copy constructor | |
| EST_TVector (int n) | |
| "size" constructor - make vector of size n. | |
| EST_TVector (int, T *memory, int offset=0, int free_when_destroyed=0) | |
| construct from memory supplied by caller | |
| ~EST_TVector () | |
| destructor. | |
| void | resize (int n, int set=1) |
| const T * | memory () const |
| T * | memory () |
| void | set_memory (T *buffer, int offset, int columns, int free_when_destroyed=0) |
| EST_TVector & | operator= (const EST_TVector &s) |
| assignment operator | |
| void | fill (const T &v) |
| Fill entire array will value <parameter>v</parameter>. | |
| void | empty () |
| Fill vector with default value. | |
| int | operator== (const EST_TVector &v) const |
| is true if vectors are equal size and all elements are equal. | |
| int | operator!= (const EST_TVector &v) const |
| is true if vectors are not equal size or a single elements isn't equal. | |
| void | copy_section (T *dest, int offset=0, int num=-1) const |
| Copy data in and out. Subclassed by SimpleVector for speed. | |
| void | set_section (const T *src, int offset=0, int num=-1) |
| void | sub_vector (EST_TVector< T > &sv, int start_c=0, int len=-1) |
| Create a sub vector. | |
| void | integrity () const |
| template<> | |
| const EST_DMatrix * | def_val |
| template<> | |
| EST_DMatrix * | error_return |
| template<> | |
| const EST_DVector * | def_val |
| template<> | |
| EST_DVector * | error_return |
| template<> | |
| const EST_FMatrix * | def_val |
| template<> | |
| EST_FMatrix * | error_return |
| INLINE int | num_columns () const |
| number of items in vector. | |
| INLINE int | length () const |
| number of items in vector. | |
| INLINE int | n () const |
| number of items in vector. | |
| INLINE const T & | a_no_check (int n) const |
| read-only const access operator: without bounds checking | |
| INLINE T & | a_no_check (int n) |
| read/write non-const access operator: without bounds checking | |
| INLINE const T & | a_no_check_1 (int n) const |
| read-only const access operator: without bounds checking | |
| INLINE T & | a_no_check_1 (int n) |
| read/write non-const access operator: without bounds checking | |
| const T & | a_check (int n) const |
| read-only const access operator: with bounds checking | |
| T & | a_check (int n) |
| read/write non-const access operator: with bounds checking | |
| const T & | a (int n) const |
| T & | a (int n) |
| const T & | operator() (int n) const |
| read-only const access operator: return reference to nth member | |
| T & | operator[] (int n) |
| read/write non const access operator: return reference to nth member | |
Protected Member Functions | |
| INLINE unsigned int | mcell_pos (int r, int c, int rs, int cs) const |
| INLINE unsigned int | mcell_pos (int r, int c) const |
| INLINE unsigned int | mcell_pos_1 (int r, int c) const |
| INLINE const T & | fast_a_m (int r, int c) const |
| quick method for returning { x[m][n]} | |
| INLINE T & | fast_a_m (int r, int c) |
| INLINE const T & | fast_a_1 (int r, int c) const |
| INLINE T & | fast_a_1 (int r, int c) |
| void | set_values (const T *data, int r_step, int c_step, int start_r, int num_r, int start_c, int num_c) |
| Get and set values from array. | |
| void | get_values (T *data, int r_step, int c_step, int start_r, int num_r, int start_c, int num_c) const |
| void | copy (const EST_TMatrix< T > &a) |
| private resize and copy function. | |
| void | copy_data (const EST_TMatrix< T > &a) |
| just copy data, no resizing, no size check. | |
| void | just_resize (int new_rows, int new_cols, T **old_vals) |
| resize the memory and reset the bounds, but don't set values. | |
| void | default_vals () |
| sets data and length to default values (0 in both cases). | |
Protected Attributes | |
| unsigned int | p_num_rows |
| Visible shape. | |
| unsigned int | p_row_step |
| How to access the memory. | |
io | |
| EST_read_status | load (const class EST_String &filename) |
| load Matrix from file - Not currently implemented. | |
| EST_write_status | save (const class EST_String &filename) const |
| save Matrix to file { filename} | |
| ostream & | operator<< (ostream &st, const EST_TMatrix< T > &a) |
| print matrix. | |
Additional Inherited Members | |
Public Attributes inherited from EST_TVector< T > | |
| T * | p_memory |
| unsigned int | p_num_columns |
| Visible shape. | |
| unsigned int | p_offset |
| How to access the memory. | |
| unsigned int | p_column_step |
| bool | p_sub_matrix |
Static Public Attributes inherited from EST_TVector< T > | |
| static const T * | def_val = &def_val_item_ptr |
| default value, used for filling matrix after resizing | |
| static T * | error_return = &error_return_item_ptr |
Template Matrix class.
This is an extension of the EST_TVector class to two dimensions.
Definition at line 91 of file EST_TMatrix.h.
| void EST_TMatrix< T >::resize | ( | int | rows, |
| int | cols, | ||
| int | set = 1 |
||
| ) |
resize matrix. If { set=1}, then the current values in the matrix are preserved up to the new size { n}. If the new size exceeds the old size, the rest of the matrix is filled with the { def_val}
Definition at line 250 of file EST_TMatrix.cc.
| void EST_TMatrix< T >::copy_row | ( | int | r, |
| T * | buf, | ||
| int | offset = 0, |
||
| int | num = -1 |
||
| ) | const |
Copy row { r} of matrix to { buf}. { buf} should be pre-malloced to the correct size.
Definition at line 381 of file EST_TMatrix.cc.
| void EST_TMatrix< T >::copy_row | ( | int | r, |
| EST_TVector< T > & | t, | ||
| int | offset = 0, |
||
| int | num = -1 |
||
| ) | const |
Copy row <parameter>r</parameter> of matrix to <parameter>buf</parameter>. <parameter>buf</parameter> should be pre-malloced to the correct size.
Definition at line 399 of file EST_TMatrix.cc.
| void EST_TMatrix< T >::copy_column | ( | int | c, |
| T * | buf, | ||
| int | offset = 0, |
||
| int | num = -1 |
||
| ) | const |
Copy column { c} of matrix to { buf}. { buf} should be pre-malloced to the correct size.
Definition at line 420 of file EST_TMatrix.cc.
| void EST_TMatrix< T >::copy_column | ( | int | c, |
| EST_TVector< T > & | t, | ||
| int | offset = 0, |
||
| int | num = -1 |
||
| ) | const |
Copy column <parameter>c</parameter> of matrix to <parameter>buf</parameter>. <parameter>buf</parameter> should be pre-malloced to the correct size.
Definition at line 442 of file EST_TMatrix.cc.
| void EST_TMatrix< T >::set_row | ( | int | n, |
| const T * | buf, | ||
| int | offset = 0, |
||
| int | num = -1 |
||
| ) |
Copy buf into row { n} of matrix.
Definition at line 466 of file EST_TMatrix.cc.
| void EST_TMatrix< T >::set_column | ( | int | n, |
| const T * | buf, | ||
| int | offset = 0, |
||
| int | num = -1 |
||
| ) |
Copy buf into column { n} of matrix.
Definition at line 478 of file EST_TMatrix.cc.
| void EST_TMatrix< T >::set_memory | ( | T * | buffer, |
| int | offset, | ||
| int | rows, | ||
| int | columns, | ||
| int | free_when_destroyed = 0 |
||
| ) |
For when you absolutely have to have access to the memory.
Definition at line 371 of file EST_TMatrix.cc.