ConicBundle
|
To catch MatrixErrors in CONICBUNDLE_DEBUG mode stop/break in CH_Matrix_Classes::MEmessage() (first routine in memarray.cxx) More...
Classes | |
class | CH_Matrix_Classes::MatrixError |
Such an object is generated and passed to MEmessage(), whenever an error occurs. It holds some output information on the error. More... | |
class | CH_Matrix_Classes::MErange |
Such an object is generated and passed to MEmessage() whenever some index is out of range. More... | |
class | CH_Matrix_Classes::MEmem |
Such an object is generated and passed to MEmessage() whenever a memory allocation fails. More... | |
class | CH_Matrix_Classes::MEdim |
Such an object is generated and passed to MEmessage() whenever matrix dimensions do not agree for a desired operation. More... | |
Macros | |
#define | chk_init(x) |
CONICBUNDLE_DEBUG being undefined, the template function is removed. Otherwise it would check, whether x is initialized. | |
#define | chk_add(x, y) |
CONICBUNDLE_DEBUG being undefined, the template function is removed. Otherwise it would check, whether matrices x and y can be added. | |
#define | chk_rowseq(x, y) |
CONICBUNDLE_DEBUG being undefined, the template function is removed. Otherwise it would check, whether matrices x and y have the same row dimension. | |
#define | chk_colseq(x, y) |
CONICBUNDLE_DEBUG being undefined, the template function is removed. Otherwise it would check, whether matrices x and y have the same column dimension. | |
#define | chk_range(i, j, ubi, ubj) |
CONICBUNDLE_DEBUG being undefined, the template function is removed. Otherwise it would check, whether i and j fit into [0,ubi-1] amd [0,ubj-1] respectively. | |
#define | chk_set_init(x, y) |
CONICBUNDLE_DEBUG being undefined, the template function is removed. Otherwise it would allow to set the initialized flag of matrix x to value y. | |
#define | chk_single_range(i, ub) |
CONICBUNDLE_DEBUG being undefined, the template function is removed. Otherwise it would whether index i fits into [0,ub-1] and raise the MatrixError MErange if not. | |
Enumerations | |
enum | CH_Matrix_Classes::Mtype { CH_Matrix_Classes::MTglobalfun, CH_Matrix_Classes::MTindexmatrix, CH_Matrix_Classes::MTmatrix, CH_Matrix_Classes::MTsymmetric, CH_Matrix_Classes::MTsparse, CH_Matrix_Classes::MTsparsesym } |
serves for specifying the source (matrix class or function) of the error More... | |
enum | CH_Matrix_Classes::MEcode { CH_Matrix_Classes::ME_unspec, CH_Matrix_Classes::ME_range, CH_Matrix_Classes::ME_mem, CH_Matrix_Classes::ME_dim, CH_Matrix_Classes::ME_num, CH_Matrix_Classes::ME_warning } |
serves for specifying the error type. More... | |
Functions | |
int | CH_Matrix_Classes::MEmessage (const MatrixError &) |
displays an error message and terminates via abort() or returns 1 in case of warnings. | |
template<class Mat1 , class Mat2 > | |
void | CH_Matrix_Classes::chk_mult (const Mat1 &, const Mat2 &, int=0, int=0) |
CONICBUNDLE_DEBUG being undefined, the template function is removed. Otherwise it would check, whether matrices x and y can be multiplied. | |
To catch MatrixErrors in CONICBUNDLE_DEBUG mode stop/break in CH_Matrix_Classes::MEmessage() (first routine in memarray.cxx)
Implementation started before exceptions existed, so these routines where developed for error checking during development. They are only fully functioning if the code is compiled with CONICBUNDLE_DEBUG being defined. If DEBUG is undefined, no range checks or checks on consistency of dimensions are performed.
serves for specifying the error type.
serves for specifying the source (matrix class or function) of the error
Enumerator | |
---|---|
MTglobalfun | error arises in a global function |
MTindexmatrix | error arises in a message of CH_Matrix_Classes::Indexmatrix |
MTmatrix | error arises in a message of CH_Matrix_Classes::Matrix |
MTsymmetric | error arises in a message of CH_Matrix_Classes::Symmatrix |
MTsparse | error arises in a message of CH_Matrix_Classes::Sparsemat |
MTsparsesym | error arises in a message of CH_Matrix_Classes::Sparsesym |