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;
277 if (
colNum != r.getCols()) {
286 unsigned int oldSize =
size();
289 if ((
data !=
nullptr) && (r.data !=
nullptr) && (
data != r.data)) {
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.
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
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.
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)