Loading...
Searching...
No Matches
EST_FMatrix Class Reference

`#include <include/EST_FMatrix.h>`

Inheritance diagram for EST_FMatrix:
[legend]
Collaboration diagram for EST_FMatrix:
[legend]

## 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_FMatrix & | operator+= (const EST_FMatrix &a)
| Add elements of 2 same sized matrices.
EST_FMatrix & | operator-= (const EST_FMatrix &a)
| Subtract elements of 2 same sized matrices.
EST_FMatrix & | operator*= (const float f)
| elementwise multiply by scalar
EST_FMatrix & | operator/= (const float f)
| elementwise divide by scalar
Public Member Functions inherited from EST_TSimpleMatrix< float >
| EST_TSimpleMatrix (void)
| default 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< float >
| EST_TMatrix ()
| default constructor
| ~EST_TMatrix ()
| EST_TMatrix.
int | num_rows () const
| return number of rows
int | num_columns () const
| return number of columns
INLINE const float & | a_no_check (int row, int col) const
| const access with no bounds check, care recommend
INLINE const float & | a_no_check_1 (int row, int col) const
const float & | a_check (int row, int col) const
| const element access function
const float & | a (int row, int col) const
const float & | operator() (int row, int col) const
| 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 float &v)
| fill matrix with value v
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)
void | row (EST_TVector< float > &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< float > &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< float > &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, float *buf, int offset=0, int num=-1) const
void | copy_column (int c, float *buf, int offset=0, int num=-1) const
void | set_row (int n, const float *buf, int offset=0, int num=-1)
void | set_column (int n, const float *buf, int offset=0, int num=-1)
void | set_memory (float *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< float >
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_1 (unsigned int c) const
INLINE const float & | fast_a_v (int c) const
| quick method for returning (x[n])
INLINE const float & | fast_a_1 (int c) const
void | set_values (const float *data, int step, int start_c, int num_c)
| Get and set values from array.
void | get_values (float *data, int step, int start_c, int num_c) const
void | copy (const EST_TVector< float > &a)
| private copy function, called from all other copying functions.
void | copy_data (const EST_TVector< float > &a)
| just copy data, no resizing, no size check.
void | just_resize (int new_cols, float **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 ()
| destructor.
void | resize (int n, int set=1)
const float * | memory () const
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 float & | a_no_check (int n) const
| read-only const access operator: without bounds checking
INLINE const float & | a_no_check_1 (int n) const
| read-only const access operator: without bounds checking
const float & | a_check (int n) const
| read-only const access operator: with bounds checking
const float & | a (int n) const
const float & | operator() (int n) const
| read-only const access operator: return reference to nth member
float & | operator[] (int n)
| read/write non const access operator: return reference to nth member
void | set_memory (float *buffer, int offset, int columns, int free_when_destroyed=0)
EST_TVector & | operator= (const EST_TVector &s)
| assignment operator
void | fill (const float &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 (float *dest, int offset=0, int num=-1) const
| Copy data in and out. Subclassed by SimpleVector for speed.
void | set_section (const float *src, int offset=0, int num=-1)
void | sub_vector (EST_TVector< float > &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< float >
static const float * | def_val
| default value, used for filling matrix after resizing
static float * | error_return

## 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< float >
float * | 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
Protected Member Functions inherited from EST_TSimpleMatrix< float >
void | copy_data (const EST_TSimpleMatrix< float > &a)
Protected Member Functions inherited from EST_TMatrix< float >
INLINE unsigned int | mcell_pos (int r, int c, int rs, int cs) const
INLINE unsigned int | mcell_pos_1 (int r, int c) const
INLINE const float & | fast_a_m (int r, int c) const
| quick method for returning {\tt x[m][n]}
INLINE const float & | fast_a_1 (int r, int c) const
void | set_values (const float *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 (float *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< float > &a)
| private resize and copy function.
void | copy_data (const EST_TMatrix< float > &a)
| just copy data, no resizing, no size check.
void | just_resize (int new_rows, int new_cols, float **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< float >
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:

- include/EST_FMatrix.h
- base_class/EST_FMatrix.cc