19 #define REPORT { static ExeCounter ExeCount(__LINE__,11); ++ExeCount; } 32 int a = first_row - 1;
int b = last_row - first_row + 1;
33 int c = first_col - 1;
int d = last_col - first_col + 1;
42 Tracer tr(
"sym_submatrix");
43 int a = first_row - 1;
int b = last_row - first_row + 1;
52 Tracer tr(
"SubMatrix(row)");
53 int a = first_row - 1;
61 Tracer tr(
"SubMatrix(rows)");
62 int a = first_row - 1;
int b = last_row - first_row + 1;
71 Tracer tr(
"SubMatrix(column)");
72 int c = first_col - 1;
80 Tracer tr(
"SubMatrix(columns)");
81 int c = first_col - 1;
int d = last_col - first_col + 1;
90 Tracer tr(
"SubMatrix(LHS)");
95 if (row_number < 0) row_number = gm1->
Nrows();
96 if (col_number < 0) col_number = gm1->
Ncols();
97 if (row_skip+row_number > gm1->
Nrows()
98 || col_skip+col_number > gm1->
Ncols())
109 if (row_number != gmx->
Nrows() || col_number != gmx->
Ncols())
138 if (row_number != gmx->
Nrows() || col_number != gmx->
Ncols())
141 ( row_skip == col_skip
142 && gm->type().is_symmetric()
168 Tracer tr(
"SubMatrix(<<double*)");
170 if (row_skip+row_number > gm->Nrows() || col_skip+col_number > gm->Ncols())
185 Tracer tr(
"SubMatrix(<<float*)");
187 if (row_skip+row_number > gm->Nrows() || col_skip+col_number > gm->Ncols())
202 Tracer tr(
"SubMatrix(<<int*)");
204 if (row_skip+row_number > gm->Nrows() || col_skip+col_number > gm->Ncols())
219 Tracer tr(
"SubMatrix(=Real)");
234 Tracer tr(
"SubMatrix(inject)");
236 if (row_number != gmx.
Nrows() || col_number != gmx.
Ncols())
257 if (row_number != gmx->
Nrows() || col_number != gmx->
Ncols())
287 if (row_number != gmx->
Nrows() || col_number != gmx->
Ncols())
312 Tracer tr(
"SubMatrix(+= or -= Real)");
337 Tracer tr(
"SubMatrix(*= or /= Real)");
void operator<<(const BaseMatrix &)
bool is_symmetric() const
void Check(const MatrixRowCol &)
void operator+=(const BaseMatrix &)
void Copy(const MatrixRowCol &)
Miscellaneous exception (details in character string).
void Add(const MatrixRowCol &)
void inject(const GeneralMatrix &)
GetSubMatrix rows(int, int) const
GetSubMatrix columns(int, int) const
virtual MatrixType type() const =0
void SubRowCol(MatrixRowCol &, int, int) const
GeneralMatrix * Evaluate(MatrixType mt=MatrixTypeUnSp)
GetSubMatrix column(int) const
void operator-=(const BaseMatrix &)
void CopyCheck(const MatrixRowCol &)
void Multiply(const MatrixRowCol &)
void operator=(const BaseMatrix &)
void Sub(const MatrixRowCol &)
GetSubMatrix sym_submatrix(int, int) const
Base of the matrix classes.
Incompatible dimensions exception.
Submatrix dimension exception.
FloatVector FloatVector * a
The classes for matrices that can contain data are derived from this.
void Inject(const MatrixRowCol &)
GetSubMatrix submatrix(int, int, int, int) const
GetSubMatrix row(int) const