#include <mtx/mtx.h>


Public Types | |
| typedef mtx_base< data_holder > | Base |
|
typedef index_iterator_base < mtx_base, double > | iterator |
|
typedef index_iterator_base < const mtx_base, const double > | const_iterator |
|
typedef colmaj_iterator_base < double > | colmaj_iter |
|
typedef colmaj_iterator_base < const double > | const_colmaj_iter |
|
typedef rowmaj_iterator_base < double > | rowmaj_iter |
|
typedef rowmaj_iterator_base < const double > | const_rowmaj_iter |
| enum | init_policy { ZEROS, NO_INIT } |
| enum | storage_policy { COPY, BORROW, REFER } |
Public Member Functions | |
| mtx (const mtx_specs &specs, const data_holder &data) | |
| mtx (const slice &s) | |
| mtx (const mtx &other) | |
| mtx & | operator= (const mtx &other) |
| void | resize (int mrows_new, int ncols_new) |
| mtx | contig () const |
| data_holder & | get_data_holder () |
| void | print (std::ostream &s, const char *mtx_name="") const |
| Print the mtx to the given ostream, including the matrix name if non-empty. | |
| void | print_stdout () const |
| Print the mtx to stdout. | |
| void | print_stdout_named (const char *mtx_name) const |
| Print the mtx to stdout along with a name for the mtx. | |
| rutz::fstring | as_string () const |
| Convert the mtx to a string, by printing it to a string stream. | |
| void | scan (std::istream &s) |
| Read the mtx from the given istream. | |
| void | scan_string (const char *s) |
| Read the mtx from the given string. | |
| double & | at (int row, int col) |
| const double & | at (int row, int col) const |
| double & | at (int elem) |
| const double & | at (int elem) const |
| bool | same_size (const mtx &x) const |
| sub_mtx_ref | sub (const row_index_range &rng) |
| sub_mtx_ref | sub (const col_index_range &rng) |
| sub_mtx_ref | sub (const row_index_range &rr, const col_index_range &cc) |
| mtx | sub (const row_index_range &rng) const |
| mtx | sub (const col_index_range &rng) const |
| mtx | sub (const row_index_range &rr, const col_index_range &cc) const |
| mtx | operator() (const row_index_range &rng) const |
| mtx | operator() (const col_index_range &rng) const |
| mtx | operator() (const row_index_range &rr, const col_index_range &cc) const |
| mtx | as_shape (const mtx_shape &s) const |
| mtx | as_shape (int mr, int nc) const |
| slice | row (int r) const |
| mtx_iter | row_iter (int r) |
| mtx_const_iter | row_iter (int r) const |
| mtx | as_row () const |
| void | reorder_rows (const mtx &index) |
| slice | column (int c) const |
| mtx_iter | column_iter (int c) |
| mtx_const_iter | column_iter (int c) const |
| mtx | as_column () const |
| void | reorder_columns (const mtx &index) |
| void | swap_columns (int c1, int c2) |
| mtx | mean_row () const |
| mtx | mean_column () const |
| const_iterator | find_min () const |
| const_iterator | find_max () const |
| double | min () const |
| double | max () const |
| double | sum () const |
| double | mean () const |
| mtx & | operator+= (double x) |
| mtx & | operator-= (double x) |
| mtx & | operator*= (double fac) |
| mtx & | operator/= (double div) |
| mtx & | operator+= (const mtx &other) |
| mtx & | operator-= (const mtx &other) |
| bool | operator== (const mtx &other) const |
| bool | operator!= (const mtx &other) const |
| void | assign_MMmul (const mtx &m1, const mtx &m2) |
| void | make_unique () |
| void | swap (mtx_specs &other) |
| int | offset_from_storage (int elem) const |
| const mtx_shape & | shape () const |
| const mtx_specs & | specs () const |
| double & | at_nc (int i) |
| void | apply (F func) |
| iterator | begin_nc () |
| iterator | end_nc () |
| const_iterator | begin () const |
| const_iterator | end () const |
| colmaj_iter | colmaj_begin_nc () |
| colmaj_iter | colmaj_end_nc () |
| const_colmaj_iter | colmaj_begin () const |
| const_colmaj_iter | colmaj_end () const |
| rowmaj_iter | rowmaj_begin_nc () |
| rowmaj_iter | rowmaj_end_nc () |
| const_rowmaj_iter | rowmaj_begin () const |
| const_rowmaj_iter | rowmaj_end () const |
| void | clear (double x=0.0) |
| void | select_rows (const row_index_range &rng) |
| void | select_cols (const col_index_range &rng) |
| mtx_specs | sub_rows (const row_index_range &rng) const |
| mtx_specs | sub_cols (const col_index_range &rng) const |
| ptrdiff_t | offset () const |
| int | max_dim () const |
| int | nelems () const |
| int | mrows () const |
| int | rowstride () const |
| int | ncols () const |
| int | colstride () const |
| unsigned int | rowgap () const |
| int | offset_from_start (int row, int col) const |
| int | offset_from_start (int elem) const |
Static Public Member Functions | |
| static const mtx & | empty_mtx () |
| static mtx | colmaj_copy_of (const double *data, int mrows, int ncols) |
| Set up a mtx with a storage policy of COPY. | |
| static mtx | colmaj_borrow_from (double *data, int mrows, int ncols) |
| Set up a mtx with a storage_policy of BORROW. | |
| static mtx | colmaj_refer_to (double *data, int mrows, int ncols) |
| Set up a mtx with a storage_policy of REFER. | |
| static mtx | zeros (const mtx_shape &s) |
| static mtx | uninitialized (const mtx_shape &s) |
| static mtx | zeros (int mrows, int ncols) |
| static mtx | uninitialized (int mrows, int ncols) |
| static mtx | from_stream (std::istream &s) |
| static mtx | from_string (const char *s) |
| static void | VMmul_assign (const slice &vec, const mtx &mtx, slice &result) |
Protected Member Functions | |
| void | swap (mtx_base &other) |
| ptrdiff_t | offset_from_storage (int r, int c) const |
| double * | address_nc (int row, int col) |
| const double * | address (int row, int col) const |
| ptrdiff_t | end_offset_from_storage (int r, int c) const |
| double * | end_address_nc (int row, int col) |
| const double * | end_address (int row, int col) const |
| const double * | storage () const |
| double * | storage_nc () |
Protected Attributes | |
| data_holder | m_data |
Friends | |
| class | slice |
Definition at line 824 of file mtx.h.
| mtx mtx::contig | ( | ) | const |
Makes sure that the data are in contiguous storage; if called on a submatrix, contig() will make a new matrix of the proper size and copy the elements there; otherwise, it will just return the current matrix.
Definition at line 643 of file mtx.cc.
References mtx_base< Data >::colmaj_begin_nc().