![]() |
Edinburgh Speech Tools
2.1-release
|
Template Matrix class. This is an extension of the EST_TVector class to two dimensions. More...
#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 v. | |
| 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. | |
Matrix file input / output | |
| 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 90 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 r of matrix to buf. buf 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 c of matrix to buf. buf 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.
1.8.7