Edinburgh Speech Tools 2.4-release
 
Loading...
Searching...
No Matches
EST_FMatrix Class Reference

#include <include/EST_FMatrix.h>

Inheritance diagram for EST_FMatrix:
Collaboration diagram for EST_FMatrix:

Public Member Functions

 EST_FMatrix (int m, int n)
 size constructor
 
 EST_FMatrix (const EST_FMatrix &a)
 copy constructor
 
 EST_FMatrix (const EST_FMatrix &a, int b)
 CHECK - what does this do???
 
 EST_FMatrix ()
 default constructor
 
EST_write_status save (const EST_String &filename, const EST_String &type=EST_FMatrix::default_file_type)
 Save in file (ascii or binary)
 
EST_read_status load (const EST_String &filename)
 Load from file (ascii or binary as defined in file)
 
EST_write_status est_save (const EST_String &filename, const EST_String &type)
 Save in file in est format.
 
EST_read_status est_load (const EST_String &filename)
 Load from file in est format (binary/ascii defined in file itself)
 
void copyin (float **x, int rows, int cols)
 Copy 2-d array {\tt x} of size {\tt rows x cols} into matrix.
 
EST_FMatrixoperator+= (const EST_FMatrix &a)
 Add elements of 2 same sized matrices.
 
EST_FMatrixoperator-= (const EST_FMatrix &a)
 Subtract elements of 2 same sized matrices.
 
EST_FMatrixoperator*= (const float f)
 elementwise multiply by scalar
 
EST_FMatrixoperator/= (const float f)
 elementwise divide by scalar
 
- Public Member Functions inherited from EST_TSimpleMatrix< float >
 EST_TSimpleMatrix (void)
 default constructor
 
 EST_TSimpleMatrix (int m, int n)
 size constructor
 
 EST_TSimpleMatrix (const EST_TSimpleMatrix< float > &m)
 copy constructor
 
void copy (const EST_TSimpleMatrix< float > &a)
 copy one matrix into another
 
void resize (int rows, int cols, int set=1)
 resize matrix
 
EST_TSimpleMatrix< float > & operator= (const EST_TSimpleMatrix< float > &s)
 assignment operator
 
- Public Member Functions inherited from EST_TMatrix< T >
 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.
 
int num_rows () const
 return number of rows
 
int num_columns () const
 return number of columns
 
INLINE const Ta_no_check (int row, int col) const
 const access with no bounds check, care recommend
 
INLINE Ta_no_check (int row, int col)
 access with no bounds check, care recommend
 
INLINE const Ta_no_check_1 (int row, int col) const
 
INLINE Ta_no_check_1 (int row, int col)
 
const Ta_check (int row, int col) const
 const element access function
 
Ta_check (int row, int col)
 non-const element access function
 
const Ta (int row, int col) const
 
Ta (int row, int col)
 
const Toperator() (int row, int col) const
 const element access operator
 
Toperator() (int row, int col)
 non-const element access operator
 
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_TMatrixoperator= (const EST_TMatrix &s)
 assignment operator
 
EST_TMatrixadd_rows (const EST_TMatrix &s)
 The two versions of what might have been operator +=.
 
EST_TMatrixadd_columns (const EST_TMatrix &s)
 
void row (EST_TVector< T > &rv, int r, int start_c=0, int len=-1)
 Make the vector {\tt rv} a window onto row {\tt r}.
 
void column (EST_TVector< T > &cv, int c, int start_r=0, int len=-1)
 Make the vector {\tt cv} a window onto column {\tt 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 {\tt sm} a window into this 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)
 
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 {\tt filename}
 
- 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 Tfast_a_v (int c) const
 quick method for returning (x[n])
 
INLINE Tfast_a_v (int c)
 
INLINE const Tfast_a_1 (int c) const
 
INLINE Tfast_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 Tmemory () const
 
Tmemory ()
 
const EST_DMatrixdef_val
 
EST_DMatrixerror_return
 
const EST_DVectordef_val
 
EST_DVectorerror_return
 
const EST_FMatrixdef_val
 
EST_FMatrixerror_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 Ta_no_check (int n) const
 read-only const access operator: without bounds checking
 
INLINE Ta_no_check (int n)
 read/write non-const access operator: without bounds checking
 
INLINE const Ta_no_check_1 (int n) const
 read-only const access operator: without bounds checking
 
INLINE Ta_no_check_1 (int n)
 read/write non-const access operator: without bounds checking
 
const Ta_check (int n) const
 read-only const access operator: with bounds checking
 
Ta_check (int n)
 read/write non-const access operator: with bounds checking
 
const Ta (int n) const
 
Ta (int n)
 
const Toperator() (int n) const
 read-only const access operator: return reference to nth member
 
Toperator[] (int n)
 read/write non const access operator: return reference to nth member
 
void set_memory (T *buffer, int offset, int columns, int free_when_destroyed=0)
 
EST_TVectoroperator= (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
 

Static Public Attributes

static EST_String default_file_type = "est_ascii"
 
- Static Public Attributes inherited from EST_TVector< T >
static const Tdef_val = &def_val_item_ptr
 default value, used for filling matrix after resizing
 
static Terror_return = &error_return_item_ptr
 

Friends

EST_FMatrix operator* (const EST_FMatrix &a, const float x)
 Multiply all elements of matrix by {\tt x}.
 
EST_FVector operator* (const EST_FMatrix &a, const EST_FVector &v)
 Multiply matrix by vector.
 
EST_FVector operator* (const EST_FVector &v, const EST_FMatrix &a)
 Multiply vector by matrix.
 
EST_FMatrix operator* (const EST_FMatrix &a, const EST_FMatrix &b)
 Multiply matrix by matrix.
 

Additional Inherited Members

- Public Attributes inherited from EST_TVector< T >
Tp_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
 
- Protected Member Functions inherited from EST_TSimpleMatrix< float >
void copy_data (const EST_TSimpleMatrix< float > &a)
 
- Protected Member Functions inherited from EST_TMatrix< T >
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 Tfast_a_m (int r, int c) const
 quick method for returning {\tt x[m][n]}
 
INLINE Tfast_a_m (int r, int c)
 
INLINE const Tfast_a_1 (int r, int c) const
 
INLINE Tfast_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 inherited from EST_TMatrix< T >
unsigned int p_num_rows
 Visible shape.
 
unsigned int p_row_step
 How to access the memory.
 

Detailed Description

A matrix class for floating point numbers. EST_FMatrix x should be used instead of float **x wherever possible.

Definition at line 56 of file EST_FMatrix.h.

Constructor & Destructor Documentation

◆ EST_FMatrix() [1/4]

EST_FMatrix::EST_FMatrix ( int  m,
int  n 
)
inline

size constructor

Definition at line 60 of file EST_FMatrix.h.

◆ EST_FMatrix() [2/4]

EST_FMatrix::EST_FMatrix ( const EST_FMatrix a)
inline

copy constructor

Definition at line 62 of file EST_FMatrix.h.

◆ EST_FMatrix() [3/4]

EST_FMatrix::EST_FMatrix ( const EST_FMatrix a,
int  b 
)

CHECK - what does this do???

Definition at line 64 of file EST_FMatrix.cc.

◆ EST_FMatrix() [4/4]

EST_FMatrix::EST_FMatrix ( )
inline

default constructor

Definition at line 68 of file EST_FMatrix.h.

Member Function Documentation

◆ save()

EST_write_status EST_FMatrix::save ( const EST_String filename,
const EST_String type = EST_FMatrix::default_file_type 
)

Save in file (ascii or binary)

Definition at line 340 of file EST_FMatrix.cc.

◆ load()

EST_read_status EST_FMatrix::load ( const EST_String filename)

Load from file (ascii or binary as defined in file)

Definition at line 513 of file EST_FMatrix.cc.

◆ est_save()

EST_write_status EST_FMatrix::est_save ( const EST_String filename,
const EST_String type 
)

Save in file in est format.

Definition at line 376 of file EST_FMatrix.cc.

◆ est_load()

EST_read_status EST_FMatrix::est_load ( const EST_String filename)

Load from file in est format (binary/ascii defined in file itself)

Definition at line 437 of file EST_FMatrix.cc.

◆ copyin()

void EST_FMatrix::copyin ( float **  x,
int  rows,
int  cols 
)

Copy 2-d array {\tt x} of size {\tt rows x cols} into matrix.

Definition at line 328 of file EST_FMatrix.cc.

◆ operator+=()

EST_FMatrix & EST_FMatrix::operator+= ( const EST_FMatrix a)

Add elements of 2 same sized matrices.

Definition at line 74 of file EST_FMatrix.cc.

◆ operator-=()

EST_FMatrix & EST_FMatrix::operator-= ( const EST_FMatrix a)

Subtract elements of 2 same sized matrices.

Definition at line 94 of file EST_FMatrix.cc.

◆ operator*=()

EST_FMatrix & EST_FMatrix::operator*= ( const float  f)

elementwise multiply by scalar

Definition at line 114 of file EST_FMatrix.cc.

◆ operator/=()

EST_FMatrix & EST_FMatrix::operator/= ( const float  f)

elementwise divide by scalar

Definition at line 125 of file EST_FMatrix.cc.

Friends And Related Symbol Documentation

◆ operator* [1/4]

EST_FMatrix operator* ( const EST_FMatrix a,
const float  x 
)
friend

Multiply all elements of matrix by {\tt x}.

Definition at line 182 of file EST_FMatrix.cc.

◆ operator* [2/4]

EST_FVector operator* ( const EST_FMatrix a,
const EST_FVector v 
)
friend

Multiply matrix by vector.

Definition at line 207 of file EST_FMatrix.cc.

◆ operator* [3/4]

EST_FVector operator* ( const EST_FVector v,
const EST_FMatrix a 
)
friend

Multiply vector by matrix.

Definition at line 266 of file EST_FMatrix.cc.

◆ operator* [4/4]

EST_FMatrix operator* ( const EST_FMatrix a,
const EST_FMatrix b 
)
friend

Multiply matrix by matrix.

Definition at line 298 of file EST_FMatrix.cc.

Member Data Documentation

◆ default_file_type

EST_String EST_FMatrix::default_file_type = "est_ascii"
static

Definition at line 64 of file EST_FMatrix.h.


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