34 #include <visp3/core/vpConfig.h>
35 #include <visp3/core/vpMatrix.h>
49 double *optr = out.
data;
50 for (
unsigned int j = 0; j <
colNum; ++j) {
51 for (
unsigned int i = 0; i <
rowNum; ++i) {
124 unsigned int nra = A.
getRows();
125 unsigned int nrb = B.
getRows();
135 std::cerr <<
"A and C must be two different objects!" << std::endl;
140 std::cerr <<
"B and C must be two different objects!" << std::endl;
146 if ((C.
data !=
nullptr) && (A.
data !=
nullptr) && (A.
size() > 0)) {
151 if ((C.
data !=
nullptr) && (B.
data !=
nullptr) && (B.
size() > 0)) {
188 std::cerr <<
"A and C must be two different objects!" << std::endl;
227 std::cerr <<
"A and C must be two different objects!" << std::endl;
250 unsigned int rowNumOld =
rowNum;
286 unsigned int oldSize =
size();
291 memcpy(
data + oldSize, r.
data,
sizeof(
double) * r.
size());
328 unsigned int oldColNum =
colNum;
333 for (
unsigned int i = 0; i <
rowNum; ++i) {
334 memcpy(
data + (i *
colNum), tmp.
data + (i * oldColNum),
sizeof(
double) * oldColNum);
341 #if defined(VISP_BUILD_DEPRECATED_FUNCTIONS)
unsigned int getCols() const
Type * data
Address of the first element of the data array.
double ** rowPtrs
Address of the first element of each rows.
void resize(unsigned int nrows, unsigned int ncols, bool flagNullify=true, bool recopy_=true)
unsigned int rowNum
Number of rows in the array.
unsigned int size() const
Return the number of elements of the 2D array.
unsigned int getRows() const
unsigned int colNum
Number of columns in the array.
Implementation of column vector and the associated operations.
void resize(unsigned int i, bool flagNullify=true)
error that can be emitted by ViSP classes.
@ dimensionError
Bad dimension.
Implementation of a matrix and operations on matrices.
VP_DEPRECATED void stackMatrices(const vpMatrix &A)
void stack(const vpMatrix &A)
vpColVector stackColumns()
void insert(const vpMatrix &A, unsigned int r, unsigned int c)
Implementation of row vector and the associated operations.
void resize(unsigned int i, bool flagNullify=true)