|  | GemaCoreLib
    The GeMA Core library | 
Declaration of the GmMatrix class. More...
#include "gmCoreConfig.h"#include <armadillo>#include <QMetaType>#include "gmMatrixUtils.h"#include <assert.h>

Go to the source code of this file.
| Classes | |
| class | GmCRMatrix | 
| An auxiliary matrix WRAPPER that binds the matrix to a CONST memory area with data already inicialized and interpreted in COLUMN MAJOR FORMAT.  More... | |
| Macros | |
| #define | GM_MATRIX_DEFINED | 
| We are going to use an Armadillo matrix as our base matrix interface.  More... | |
| #define | GM_MATRIX_IS_COLUMN_MAJOR | 
| #define | DECLARE_REF_MATRIX(x, ptr, lin, col) GmMatrix x((ptr), (lin), (col), false, true) | 
| An auxiliary macro to help correctly define a matrix that binds itself to a memory area with data already initialized and interpreted in COLUMN MAJOR FORMAT.  More... | |
| Typedefs | |
| typedef arma::mat | GmMatrix | 
| The basic type for a GeMA matrix object. Currently based on an Armadillo matrix. | |
| typedef arma::subview_col< double > | GmMatrixCol | 
| A subcolumn view of a matrix. | |
| Functions | |
| Q_DECLARE_METATYPE (GmMatrix) | |
Declaration of the GmMatrix class.
| #define DECLARE_REF_MATRIX | ( | x, | |
| ptr, | |||
| lin, | |||
| col | |||
| ) | GmMatrix x((ptr), (lin), (col), false, true) | 
An auxiliary macro to help correctly define a matrix that binds itself to a memory area with data already initialized and interpreted in COLUMN MAJOR FORMAT.
This is a very fast option, that doesn't allocate any extra memory and is very usefull to use matrix operations over a previous allocated area.
This matrix cannot be resized in any way. The memory referenced by the matrix should be available through the entire lifetime of the matrix.
IMPORTANT: Any COPY of this matrix will make a COPY of the data and won't point to the original memory area anymore.
| #define GM_MATRIX_DEFINED | 
We are going to use an Armadillo matrix as our base matrix interface.
The typedef GmMatrix is used to make life a little bit easier if we ever wish to exchange our base linear algebra package.
 1.8.15
 1.8.15