Edinburgh Speech Tools  2.1-release
EST_TSimpleMatrix< T > Class Template Reference

A subclass of EST_TMatrix which copies using memcopy. More...

#include <include/EST_TSimpleMatrix.h>

Inheritance diagram for EST_TSimpleMatrix< T >:
Collaboration diagram for EST_TSimpleMatrix< T >:

Public Member Functions

 EST_TSimpleMatrix (void)
 default constructor More...
 
 EST_TSimpleMatrix (int m, int n)
 size constructor More...
 
 EST_TSimpleMatrix (const EST_TSimpleMatrix< T > &m)
 copy constructor More...
 
void copy (const EST_TSimpleMatrix< T > &a)
 copy one matrix into another More...
 
void resize (int rows, int cols, int set=1)
 resize matrix More...
 
EST_TSimpleMatrix< T > & operator= (const EST_TSimpleMatrix< T > &s)
 assignment operator More...
 
- Public Member Functions inherited from EST_TMatrix< T >
 EST_TMatrix ()
 default constructor More...
 
 EST_TMatrix (const EST_TMatrix< T > &m)
 copy constructor More...
 
 EST_TMatrix (ssize_t rows, ssize_t cols)
 "size" constructor More...
 
 EST_TMatrix (ssize_t rows, ssize_t cols, T *memory, ptrdiff_t offset=0, int free_when_destroyed=0)
 construct from memory supplied by caller More...
 
 ~EST_TMatrix ()
 EST_TMatrix. More...
 
bool have_rows_before (ssize_t n) const
 
bool have_columns_before (ssize_t n) const
 
void resize (ssize_t rows, ssize_t cols, ssize_t set=1)
 
void fill (const T &v)
 fill matrix with value v More...
 
void fill ()
 
EST_TMatrixoperator= (const EST_TMatrix &s)
 assignment operator More...
 
EST_TMatrixadd_rows (const EST_TMatrix &s)
 The two versions of what might have been operator +=. More...
 
EST_TMatrixadd_columns (const EST_TMatrix &s)
 
ssize_t num_rows () const
 return number of rows More...
 
ssize_t num_columns () const
 return number of columns More...
 
INLINE const T & a_no_check (ssize_t row, ssize_t col) const
 const access with no bounds check, care recommend More...
 
INLINE T & a_no_check (ssize_t row, ssize_t col)
 access with no bounds check, care recommend More...
 
INLINE const T & a_no_check_1 (ssize_t row, ssize_t col) const
 
INLINE T & a_no_check_1 (ssize_t row, ssize_t col)
 
const T & a_check (ssize_t row, ssize_t col) const
 const element access function More...
 
T & a_check (ssize_t row, ssize_t col)
 non-const element access function More...
 
const T & a (ssize_t row, ssize_t col) const
 
T & a (ssize_t row, ssize_t col)
 
const T & operator() (ssize_t row, ssize_t col) const
 const element access operator More...
 
T & operator() (ssize_t row, ssize_t col)
 non-const element access operator More...
 
void row (EST_TVector< T > &rv, ssize_t r, ssize_t start_c=0, int len=-1)
 Make the vector rv a window onto row r More...
 
void column (EST_TVector< T > &cv, ssize_t c, ssize_t start_r=0, int len=-1)
 Make the vector cv a window onto column c More...
 
void sub_matrix (EST_TMatrix< T > &sm, ssize_t r=0, ptrdiff_t numr=EST_ALL, ssize_t c=0, ptrdiff_t numc=EST_ALL)
 Make the matrix sm a window into this matrix. More...
 
void copy_row (ssize_t r, T *buf, ptrdiff_t offset=0, int num=-1) const
 
void copy_row (ssize_t r, EST_TVector< T > &t, ptrdiff_t offset=0, int num=-1) const
 
void copy_column (ssize_t c, T *buf, ptrdiff_t offset=0, int num=-1) const
 
void copy_column (ssize_t c, EST_TVector< T > &t, ptrdiff_t offset=0, int num=-1) const
 
void set_row (ssize_t n, const T *buf, ptrdiff_t offset=0, int num=-1)
 
void set_row (ssize_t n, const EST_TVector< T > &t, ptrdiff_t offset=0, int num=-1)
 
void set_row (ssize_t r, const EST_TMatrix< T > &from, ssize_t from_r, ssize_t from_offset=0, ptrdiff_t offset=0, int num=-1)
 
void set_column (ssize_t n, const T *buf, ptrdiff_t offset=0, int num=-1)
 
void set_column (ssize_t n, const EST_TVector< T > &t, ptrdiff_t offset=0, int num=-1)
 
void set_column (ssize_t c, const EST_TMatrix< T > &from, ssize_t from_c, ssize_t from_offset=0, ptrdiff_t offset=0, int num=-1)
 
void set_memory (T *buffer, ptrdiff_t offset, ssize_t rows, ssize_t columns, int free_when_destroyed=0)
 
EST_read_status load (const class EST_String &filename)
 load Matrix from file - Not currently implemented. More...
 
EST_write_status save (const class EST_String &filename) const
 save Matrix to file filename More...
 
- Public Member Functions inherited from EST_TVector< T >
INLINE ssize_t vcell_pos (ssize_t c, ssize_t cs) const
 The memory access rule, in one place for easy reference. More...
 
INLINE ssize_t vcell_pos (ssize_t c) const
 
INLINE ssize_t vcell_pos_1 (ssize_t c) const
 
INLINE const T & fast_a_v (int c) const
 quick method for returning (x[n]) More...
 
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. More...
 
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. More...
 
void copy_data (const EST_TVector< T > &a)
 just copy data, no resizing, no size check. More...
 
void just_resize (int new_cols, T **old_vals)
 resize the memory and reset the bounds, but don't set values. More...
 
void default_vals ()
 sets data and length to default values (0 in both cases). More...
 
 EST_TVector ()
 default constructor More...
 
 EST_TVector (const EST_TVector< T > &v)
 copy constructor More...
 
 EST_TVector (ssize_t n)
 "size" constructor - make vector of size n. More...
 
 EST_TVector (int, T *memory, int offset=0, int free_when_destroyed=0)
 construct from memory supplied by caller More...
 
 ~EST_TVector ()
 destructor. More...
 
void resize (ssize_t n, int set=1)
 
const T * memory () const
 
T * memory ()
 
void set_memory (T *buffer, int offset, ssize_t columns, int free_when_destroyed=0)
 
EST_TVectoroperator= (const EST_TVector &s)
 assignment operator More...
 
void fill (const T &v)
 Fill entire array will value v. More...
 
void empty ()
 Fill vector with default value. More...
 
int operator== (const EST_TVector &v) const
 is true if vectors are equal size and all elements are equal. More...
 
int operator!= (const EST_TVector &v) const
 is true if vectors are not equal size or a single elements isn't equal. More...
 
void copy_section (T *dest, int offset=0, int num=-1) const
 Copy data in and out. Subclassed by SimpleVector for speed. More...
 
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. More...
 
void integrity () const
 
template<>
const EST_DMatrixdef_val
 
template<>
EST_DMatrixerror_return
 
template<>
const EST_DVectordef_val
 
template<>
EST_DVectorerror_return
 
template<>
const EST_FMatrixdef_val
 
template<>
EST_FMatrixerror_return
 
INLINE ssize_t num_columns () const
 number of items in vector. More...
 
INLINE ssize_t length () const
 number of items in vector. More...
 
INLINE ssize_t n () const
 number of items in vector. More...
 
INLINE const T & a_no_check (ssize_t n) const
 read-only const access operator: without bounds checking More...
 
INLINE T & a_no_check (ssize_t n)
 read/write non-const access operator: without bounds checking More...
 
INLINE const T & a_no_check_1 (ssize_t n) const
 read-only const access operator: without bounds checking More...
 
INLINE T & a_no_check_1 (ssize_t n)
 read/write non-const access operator: without bounds checking More...
 
const T & a_check (ssize_t n) const
 read-only const access operator: with bounds checking More...
 
T & a_check (ssize_t n)
 read/write non-const access operator: with bounds checking More...
 
const T & a (ssize_t n) const
 
T & a (ssize_t n)
 
const T & operator() (ssize_t n) const
 read-only const access operator: return reference to nth member More...
 
T & operator[] (ssize_t n)
 read/write non const access operator: return reference to nth member More...
 

Protected Member Functions

void copy_data (const EST_TSimpleMatrix< T > &a)
 
- Protected Member Functions inherited from EST_TMatrix< T >
INLINE ssize_t mcell_pos (ssize_t r, ssize_t c, ssize_t rs, ssize_t cs) const
 
INLINE ssize_t mcell_pos (ssize_t r, ssize_t c) const
 
INLINE ssize_t mcell_pos_1 (ssize_t r, ssize_t c) const
 
INLINE const T & fast_a_m (ssize_t r, ssize_t c) const
 quick method for returning x[m][n] More...
 
INLINE T & fast_a_m (ssize_t r, ssize_t c)
 
INLINE const T & fast_a_1 (ssize_t r, ssize_t c) const
 
INLINE T & fast_a_1 (ssize_t r, ssize_t c)
 
void set_values (const T *data, ssize_t r_step, ssize_t c_step, ssize_t start_r, ssize_t num_r, ssize_t start_c, ssize_t num_c)
 Get and set values from array. More...
 
void get_values (T *data, ssize_t r_step, ssize_t c_step, ssize_t start_r, ssize_t num_r, ssize_t start_c, ssize_t num_c) const
 
void copy (const EST_TMatrix< T > &a)
 private resize and copy function. More...
 
void copy_data (const EST_TMatrix< T > &a)
 just copy data, no resizing, no size check. More...
 
void just_resize (ssize_t new_rows, ssize_t new_cols, T **old_vals)
 resize the memory and reset the bounds, but don't set values. More...
 
void default_vals ()
 sets data and length to default values (0 in both cases). More...
 

Additional Inherited Members

- Public Attributes inherited from EST_TVector< T >
T * p_memory
 
ssize_t p_num_columns
 Visible shape. More...
 
ssize_t p_offset
 How to access the memory. More...
 
ssize_t 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 More...
 
static T * error_return = &error_return_item_ptr
 
- Protected Attributes inherited from EST_TMatrix< T >
ssize_t p_num_rows
 Visible shape. More...
 
ssize_t p_row_step
 How to access the memory. More...
 

Detailed Description

template<class T>
class EST_TSimpleMatrix< T >

A subclass of EST_TMatrix which copies using memcopy.

This isn't suitable for matrices of class objects which have to be copied using a constructor or specialised assignment operator.

Definition at line 57 of file EST_TSimpleMatrix.h.

Constructor & Destructor Documentation

template<class T>
EST_TSimpleMatrix< T >::EST_TSimpleMatrix ( void  )
inline

default constructor

Definition at line 65 of file EST_TSimpleMatrix.h.

template<class T>
EST_TSimpleMatrix< T >::EST_TSimpleMatrix ( int  m,
int  n 
)
inline

size constructor

Definition at line 67 of file EST_TSimpleMatrix.h.

template<class T>
EST_TSimpleMatrix< T >::EST_TSimpleMatrix ( const EST_TSimpleMatrix< T > &  m)

copy constructor

Definition at line 77 of file EST_TSimpleMatrix.cc.

Member Function Documentation

template<class T>
void EST_TSimpleMatrix< T >::copy_data ( const EST_TSimpleMatrix< T > &  a)
protected

Definition at line 51 of file EST_TSimpleMatrix.cc.

template<class T>
void EST_TSimpleMatrix< T >::copy ( const EST_TSimpleMatrix< T > &  a)

copy one matrix into another

Definition at line 68 of file EST_TSimpleMatrix.cc.

template<class T >
void EST_TSimpleMatrix< T >::resize ( int  rows,
int  cols,
int  set = 1 
)

resize matrix

Definition at line 83 of file EST_TSimpleMatrix.cc.

template<class T>
EST_TSimpleMatrix< T > & EST_TSimpleMatrix< T >::operator= ( const EST_TSimpleMatrix< T > &  s)

assignment operator

Definition at line 169 of file EST_TSimpleMatrix.cc.


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