ctorleak.cpp File Reference
#include "main.h"
#include <exception>

Classes

struct  Foo
 
class  Foo::Fail
 

Macros

#define EIGEN_TEST_MAX_SIZE   3
 

Functions

 EIGEN_DECLARE_TEST (ctorleak)
 

Macro Definition Documentation

◆ EIGEN_TEST_MAX_SIZE

#define EIGEN_TEST_MAX_SIZE   3

Function Documentation

◆ EIGEN_DECLARE_TEST()

EIGEN_DECLARE_TEST ( ctorleak  )
36  {
37  typedef Matrix<Foo, Dynamic, Dynamic> MatrixX;
39 
41  for (int i = 0; i < g_repeat; i++) {
42  Index rows = internal::random<Index>(2, EIGEN_TEST_MAX_SIZE),
43  cols = internal::random<Index>(2, EIGEN_TEST_MAX_SIZE);
45  {
46  MatrixX r(rows, cols);
47  Foo::object_limit = r.size() + internal::random<Index>(0, rows * cols - 2);
48  std::cout << "object_limit =" << Foo::object_limit << std::endl;
49 #ifdef EIGEN_EXCEPTIONS
50  try {
51 #endif
52  if (internal::random<bool>()) {
53  std::cout << "\nMatrixX m(" << rows << ", " << cols << ");\n";
54  MatrixX m(rows, cols);
55  } else {
56  std::cout << "\nMatrixX m(r);\n";
57  MatrixX m(r);
58  }
59 #ifdef EIGEN_EXCEPTIONS
60  VERIFY(false); // not reached if exceptions are enabled
61  } catch (const Foo::Fail&) { /* ignore */
62  }
63 #endif
64  }
66 
67  {
68  Foo::object_limit = (rows + 1) * (cols + 1);
69  MatrixX A(rows, cols);
71  VectorX v = A.row(0);
73  v = A.col(0);
75  }
77  }
78  std::cout << "\n";
79 }
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
int i
Definition: BiCGSTAB_step_by_step.cpp:9
int rows
Definition: Tutorial_commainit_02.cpp:1
int cols
Definition: Tutorial_commainit_02.cpp:1
Matrix< SCALARA, Dynamic, Dynamic, opt_A > A
Definition: bench_gemm.cpp:47
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
Definition: ctorleak.cpp:27
#define EIGEN_TEST_MAX_SIZE
Definition: ctorleak.cpp:34
int * m
Definition: level2_cplx_impl.h:294
#define VERIFY(a)
Definition: main.h:362
#define VERIFY_IS_EQUAL(a, b)
Definition: main.h:367
static int g_repeat
Definition: main.h:191
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
r
Definition: UniformPSDSelfTest.py:20
Matrix< Scalar, Dynamic, 1 > VectorX
Definition: sparse_lu.cpp:43
static Index object_limit
Definition: ctorleak.cpp:7
static Index object_count
Definition: ctorleak.cpp:6

References cols, EIGEN_TEST_MAX_SIZE, Eigen::g_repeat, i, m, Foo::object_count, Foo::object_limit, UniformPSDSelfTest::r, rows, v, VERIFY, and VERIFY_IS_EQUAL.