From 44861dcbfeee041223c4aac1ee075e92fa4daa01 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 18 Sep 2016 12:42:15 +0200 Subject: update --- eigen/failtest/CMakeLists.txt | 54 ++++++++++++++++++++++ .../block_nonconst_ctor_on_const_xpr_0.cpp | 15 ++++++ .../block_nonconst_ctor_on_const_xpr_1.cpp | 15 ++++++ .../block_nonconst_ctor_on_const_xpr_2.cpp | 16 +++++++ .../block_on_const_type_actually_const_0.cpp | 16 +++++++ .../block_on_const_type_actually_const_1.cpp | 16 +++++++ eigen/failtest/colpivqr_int.cpp | 14 ++++++ .../const_qualified_block_method_retval_0.cpp | 15 ++++++ .../const_qualified_block_method_retval_1.cpp | 15 ++++++ .../const_qualified_diagonal_method_retval.cpp | 15 ++++++ .../const_qualified_transpose_method_retval.cpp | 15 ++++++ .../diagonal_nonconst_ctor_on_const_xpr.cpp | 15 ++++++ .../diagonal_on_const_type_actually_const.cpp | 16 +++++++ eigen/failtest/eigensolver_cplx.cpp | 14 ++++++ eigen/failtest/eigensolver_int.cpp | 14 ++++++ eigen/failtest/failtest_sanity_check.cpp | 5 ++ eigen/failtest/fullpivlu_int.cpp | 14 ++++++ eigen/failtest/fullpivqr_int.cpp | 14 ++++++ eigen/failtest/jacobisvd_int.cpp | 14 ++++++ eigen/failtest/ldlt_int.cpp | 14 ++++++ eigen/failtest/llt_int.cpp | 14 ++++++ .../failtest/map_nonconst_ctor_on_const_ptr_0.cpp | 15 ++++++ .../failtest/map_nonconst_ctor_on_const_ptr_1.cpp | 15 ++++++ .../failtest/map_nonconst_ctor_on_const_ptr_2.cpp | 15 ++++++ .../failtest/map_nonconst_ctor_on_const_ptr_3.cpp | 15 ++++++ .../failtest/map_nonconst_ctor_on_const_ptr_4.cpp | 15 ++++++ .../map_on_const_type_actually_const_0.cpp | 15 ++++++ .../map_on_const_type_actually_const_1.cpp | 15 ++++++ eigen/failtest/partialpivlu_int.cpp | 14 ++++++ eigen/failtest/qr_int.cpp | 14 ++++++ eigen/failtest/ref_1.cpp | 18 ++++++++ eigen/failtest/ref_2.cpp | 15 ++++++ eigen/failtest/ref_3.cpp | 15 ++++++ eigen/failtest/ref_4.cpp | 15 ++++++ eigen/failtest/ref_5.cpp | 16 +++++++ .../transpose_nonconst_ctor_on_const_xpr.cpp | 15 ++++++ .../transpose_on_const_type_actually_const.cpp | 16 +++++++ 37 files changed, 583 insertions(+) create mode 100644 eigen/failtest/CMakeLists.txt create mode 100644 eigen/failtest/block_nonconst_ctor_on_const_xpr_0.cpp create mode 100644 eigen/failtest/block_nonconst_ctor_on_const_xpr_1.cpp create mode 100644 eigen/failtest/block_nonconst_ctor_on_const_xpr_2.cpp create mode 100644 eigen/failtest/block_on_const_type_actually_const_0.cpp create mode 100644 eigen/failtest/block_on_const_type_actually_const_1.cpp create mode 100644 eigen/failtest/colpivqr_int.cpp create mode 100644 eigen/failtest/const_qualified_block_method_retval_0.cpp create mode 100644 eigen/failtest/const_qualified_block_method_retval_1.cpp create mode 100644 eigen/failtest/const_qualified_diagonal_method_retval.cpp create mode 100644 eigen/failtest/const_qualified_transpose_method_retval.cpp create mode 100644 eigen/failtest/diagonal_nonconst_ctor_on_const_xpr.cpp create mode 100644 eigen/failtest/diagonal_on_const_type_actually_const.cpp create mode 100644 eigen/failtest/eigensolver_cplx.cpp create mode 100644 eigen/failtest/eigensolver_int.cpp create mode 100644 eigen/failtest/failtest_sanity_check.cpp create mode 100644 eigen/failtest/fullpivlu_int.cpp create mode 100644 eigen/failtest/fullpivqr_int.cpp create mode 100644 eigen/failtest/jacobisvd_int.cpp create mode 100644 eigen/failtest/ldlt_int.cpp create mode 100644 eigen/failtest/llt_int.cpp create mode 100644 eigen/failtest/map_nonconst_ctor_on_const_ptr_0.cpp create mode 100644 eigen/failtest/map_nonconst_ctor_on_const_ptr_1.cpp create mode 100644 eigen/failtest/map_nonconst_ctor_on_const_ptr_2.cpp create mode 100644 eigen/failtest/map_nonconst_ctor_on_const_ptr_3.cpp create mode 100644 eigen/failtest/map_nonconst_ctor_on_const_ptr_4.cpp create mode 100644 eigen/failtest/map_on_const_type_actually_const_0.cpp create mode 100644 eigen/failtest/map_on_const_type_actually_const_1.cpp create mode 100644 eigen/failtest/partialpivlu_int.cpp create mode 100644 eigen/failtest/qr_int.cpp create mode 100644 eigen/failtest/ref_1.cpp create mode 100644 eigen/failtest/ref_2.cpp create mode 100644 eigen/failtest/ref_3.cpp create mode 100644 eigen/failtest/ref_4.cpp create mode 100644 eigen/failtest/ref_5.cpp create mode 100644 eigen/failtest/transpose_nonconst_ctor_on_const_xpr.cpp create mode 100644 eigen/failtest/transpose_on_const_type_actually_const.cpp (limited to 'eigen/failtest') diff --git a/eigen/failtest/CMakeLists.txt b/eigen/failtest/CMakeLists.txt new file mode 100644 index 0000000..cadc6a2 --- /dev/null +++ b/eigen/failtest/CMakeLists.txt @@ -0,0 +1,54 @@ +message(STATUS "Running the failtests") + +ei_add_failtest("failtest_sanity_check") + +ei_add_failtest("block_nonconst_ctor_on_const_xpr_0") +ei_add_failtest("block_nonconst_ctor_on_const_xpr_1") +ei_add_failtest("block_nonconst_ctor_on_const_xpr_2") +ei_add_failtest("transpose_nonconst_ctor_on_const_xpr") +ei_add_failtest("diagonal_nonconst_ctor_on_const_xpr") + +ei_add_failtest("const_qualified_block_method_retval_0") +ei_add_failtest("const_qualified_block_method_retval_1") +ei_add_failtest("const_qualified_transpose_method_retval") +ei_add_failtest("const_qualified_diagonal_method_retval") + +ei_add_failtest("map_nonconst_ctor_on_const_ptr_0") +ei_add_failtest("map_nonconst_ctor_on_const_ptr_1") +ei_add_failtest("map_nonconst_ctor_on_const_ptr_2") +ei_add_failtest("map_nonconst_ctor_on_const_ptr_3") +ei_add_failtest("map_nonconst_ctor_on_const_ptr_4") + +ei_add_failtest("map_on_const_type_actually_const_0") +ei_add_failtest("map_on_const_type_actually_const_1") +ei_add_failtest("block_on_const_type_actually_const_0") +ei_add_failtest("block_on_const_type_actually_const_1") +ei_add_failtest("transpose_on_const_type_actually_const") +ei_add_failtest("diagonal_on_const_type_actually_const") + +ei_add_failtest("ref_1") +ei_add_failtest("ref_2") +ei_add_failtest("ref_3") +ei_add_failtest("ref_4") +ei_add_failtest("ref_5") + +ei_add_failtest("partialpivlu_int") +ei_add_failtest("fullpivlu_int") +ei_add_failtest("llt_int") +ei_add_failtest("ldlt_int") +ei_add_failtest("qr_int") +ei_add_failtest("colpivqr_int") +ei_add_failtest("fullpivqr_int") +ei_add_failtest("jacobisvd_int") +ei_add_failtest("eigensolver_int") +ei_add_failtest("eigensolver_cplx") + +if (EIGEN_FAILTEST_FAILURE_COUNT) + message(FATAL_ERROR + "${EIGEN_FAILTEST_FAILURE_COUNT} out of ${EIGEN_FAILTEST_COUNT} failtests FAILED. " + "To debug these failures, manually compile these programs in ${CMAKE_CURRENT_SOURCE_DIR}, " + "with and without #define EIGEN_SHOULD_FAIL_TO_BUILD.") +else() + message(STATUS "Failtest SUCCESS: all ${EIGEN_FAILTEST_COUNT} failtests passed.") + message(STATUS "") +endif() diff --git a/eigen/failtest/block_nonconst_ctor_on_const_xpr_0.cpp b/eigen/failtest/block_nonconst_ctor_on_const_xpr_0.cpp new file mode 100644 index 0000000..40b8201 --- /dev/null +++ b/eigen/failtest/block_nonconst_ctor_on_const_xpr_0.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER Matrix3d &m){ + Block b(m,0,0); +} + +int main() {} diff --git a/eigen/failtest/block_nonconst_ctor_on_const_xpr_1.cpp b/eigen/failtest/block_nonconst_ctor_on_const_xpr_1.cpp new file mode 100644 index 0000000..ef6d537 --- /dev/null +++ b/eigen/failtest/block_nonconst_ctor_on_const_xpr_1.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER Matrix3d &m){ + Block b(m,0,0,3,3); +} + +int main() {} diff --git a/eigen/failtest/block_nonconst_ctor_on_const_xpr_2.cpp b/eigen/failtest/block_nonconst_ctor_on_const_xpr_2.cpp new file mode 100644 index 0000000..43f18ae --- /dev/null +++ b/eigen/failtest/block_nonconst_ctor_on_const_xpr_2.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER Matrix3d &m){ + // row/column constructor + Block b(m,0); +} + +int main() {} diff --git a/eigen/failtest/block_on_const_type_actually_const_0.cpp b/eigen/failtest/block_on_const_type_actually_const_0.cpp new file mode 100644 index 0000000..009bebe --- /dev/null +++ b/eigen/failtest/block_on_const_type_actually_const_0.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(){ + Matrix3f m; + Block(m, 0, 0, 3, 3).coeffRef(0, 0) = 1.0f; +} + +int main() {} diff --git a/eigen/failtest/block_on_const_type_actually_const_1.cpp b/eigen/failtest/block_on_const_type_actually_const_1.cpp new file mode 100644 index 0000000..4c3e93f --- /dev/null +++ b/eigen/failtest/block_on_const_type_actually_const_1.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(){ + MatrixXf m; + Block(m, 0, 0).coeffRef(0, 0) = 1.0f; +} + +int main() {} diff --git a/eigen/failtest/colpivqr_int.cpp b/eigen/failtest/colpivqr_int.cpp new file mode 100644 index 0000000..db11910 --- /dev/null +++ b/eigen/failtest/colpivqr_int.cpp @@ -0,0 +1,14 @@ +#include "../Eigen/QR" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define SCALAR int +#else +#define SCALAR float +#endif + +using namespace Eigen; + +int main() +{ + ColPivHouseholderQR > qr(Matrix::Random(10,10)); +} diff --git a/eigen/failtest/const_qualified_block_method_retval_0.cpp b/eigen/failtest/const_qualified_block_method_retval_0.cpp new file mode 100644 index 0000000..a6bd5fe --- /dev/null +++ b/eigen/failtest/const_qualified_block_method_retval_0.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER Matrix3d &m){ + Block b(m.block<3,3>(0,0)); +} + +int main() {} diff --git a/eigen/failtest/const_qualified_block_method_retval_1.cpp b/eigen/failtest/const_qualified_block_method_retval_1.cpp new file mode 100644 index 0000000..ef40c24 --- /dev/null +++ b/eigen/failtest/const_qualified_block_method_retval_1.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER Matrix3d &m){ + Block b(m.block(0,0,3,3)); +} + +int main() {} diff --git a/eigen/failtest/const_qualified_diagonal_method_retval.cpp b/eigen/failtest/const_qualified_diagonal_method_retval.cpp new file mode 100644 index 0000000..809594a --- /dev/null +++ b/eigen/failtest/const_qualified_diagonal_method_retval.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER Matrix3d &m){ + Diagonal b(m.diagonal()); +} + +int main() {} diff --git a/eigen/failtest/const_qualified_transpose_method_retval.cpp b/eigen/failtest/const_qualified_transpose_method_retval.cpp new file mode 100644 index 0000000..2d7f19c --- /dev/null +++ b/eigen/failtest/const_qualified_transpose_method_retval.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER Matrix3d &m){ + Transpose b(m.transpose()); +} + +int main() {} diff --git a/eigen/failtest/diagonal_nonconst_ctor_on_const_xpr.cpp b/eigen/failtest/diagonal_nonconst_ctor_on_const_xpr.cpp new file mode 100644 index 0000000..76398a2 --- /dev/null +++ b/eigen/failtest/diagonal_nonconst_ctor_on_const_xpr.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER Matrix3d &m){ + Diagonal d(m); +} + +int main() {} diff --git a/eigen/failtest/diagonal_on_const_type_actually_const.cpp b/eigen/failtest/diagonal_on_const_type_actually_const.cpp new file mode 100644 index 0000000..d4b2fd9 --- /dev/null +++ b/eigen/failtest/diagonal_on_const_type_actually_const.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(){ + MatrixXf m; + Diagonal(m).coeffRef(0) = 1.0f; +} + +int main() {} diff --git a/eigen/failtest/eigensolver_cplx.cpp b/eigen/failtest/eigensolver_cplx.cpp new file mode 100644 index 0000000..c2e21e1 --- /dev/null +++ b/eigen/failtest/eigensolver_cplx.cpp @@ -0,0 +1,14 @@ +#include "../Eigen/Eigenvalues" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define SCALAR std::complex +#else +#define SCALAR float +#endif + +using namespace Eigen; + +int main() +{ + EigenSolver > eig(Matrix::Random(10,10)); +} diff --git a/eigen/failtest/eigensolver_int.cpp b/eigen/failtest/eigensolver_int.cpp new file mode 100644 index 0000000..eda8dc2 --- /dev/null +++ b/eigen/failtest/eigensolver_int.cpp @@ -0,0 +1,14 @@ +#include "../Eigen/Eigenvalues" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define SCALAR int +#else +#define SCALAR float +#endif + +using namespace Eigen; + +int main() +{ + EigenSolver > eig(Matrix::Random(10,10)); +} diff --git a/eigen/failtest/failtest_sanity_check.cpp b/eigen/failtest/failtest_sanity_check.cpp new file mode 100644 index 0000000..769fa94 --- /dev/null +++ b/eigen/failtest/failtest_sanity_check.cpp @@ -0,0 +1,5 @@ +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +This is just some text that won't compile as a C++ file, as a basic sanity check for failtest. +#else +int main() {} +#endif diff --git a/eigen/failtest/fullpivlu_int.cpp b/eigen/failtest/fullpivlu_int.cpp new file mode 100644 index 0000000..e9d2c6e --- /dev/null +++ b/eigen/failtest/fullpivlu_int.cpp @@ -0,0 +1,14 @@ +#include "../Eigen/LU" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define SCALAR int +#else +#define SCALAR float +#endif + +using namespace Eigen; + +int main() +{ + FullPivLU > lu(Matrix::Random(10,10)); +} diff --git a/eigen/failtest/fullpivqr_int.cpp b/eigen/failtest/fullpivqr_int.cpp new file mode 100644 index 0000000..d182a7b --- /dev/null +++ b/eigen/failtest/fullpivqr_int.cpp @@ -0,0 +1,14 @@ +#include "../Eigen/QR" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define SCALAR int +#else +#define SCALAR float +#endif + +using namespace Eigen; + +int main() +{ + FullPivHouseholderQR > qr(Matrix::Random(10,10)); +} diff --git a/eigen/failtest/jacobisvd_int.cpp b/eigen/failtest/jacobisvd_int.cpp new file mode 100644 index 0000000..12790ae --- /dev/null +++ b/eigen/failtest/jacobisvd_int.cpp @@ -0,0 +1,14 @@ +#include "../Eigen/SVD" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define SCALAR int +#else +#define SCALAR float +#endif + +using namespace Eigen; + +int main() +{ + JacobiSVD > qr(Matrix::Random(10,10)); +} diff --git a/eigen/failtest/ldlt_int.cpp b/eigen/failtest/ldlt_int.cpp new file mode 100644 index 0000000..243e457 --- /dev/null +++ b/eigen/failtest/ldlt_int.cpp @@ -0,0 +1,14 @@ +#include "../Eigen/Cholesky" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define SCALAR int +#else +#define SCALAR float +#endif + +using namespace Eigen; + +int main() +{ + LDLT > ldlt(Matrix::Random(10,10)); +} diff --git a/eigen/failtest/llt_int.cpp b/eigen/failtest/llt_int.cpp new file mode 100644 index 0000000..cb02065 --- /dev/null +++ b/eigen/failtest/llt_int.cpp @@ -0,0 +1,14 @@ +#include "../Eigen/Cholesky" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define SCALAR int +#else +#define SCALAR float +#endif + +using namespace Eigen; + +int main() +{ + LLT > llt(Matrix::Random(10,10)); +} diff --git a/eigen/failtest/map_nonconst_ctor_on_const_ptr_0.cpp b/eigen/failtest/map_nonconst_ctor_on_const_ptr_0.cpp new file mode 100644 index 0000000..d75686f --- /dev/null +++ b/eigen/failtest/map_nonconst_ctor_on_const_ptr_0.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER float *ptr){ + Map m(ptr); +} + +int main() {} diff --git a/eigen/failtest/map_nonconst_ctor_on_const_ptr_1.cpp b/eigen/failtest/map_nonconst_ctor_on_const_ptr_1.cpp new file mode 100644 index 0000000..eda134d --- /dev/null +++ b/eigen/failtest/map_nonconst_ctor_on_const_ptr_1.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER float *ptr, DenseIndex size){ + Map m(ptr, size); +} + +int main() {} diff --git a/eigen/failtest/map_nonconst_ctor_on_const_ptr_2.cpp b/eigen/failtest/map_nonconst_ctor_on_const_ptr_2.cpp new file mode 100644 index 0000000..06b4b62 --- /dev/null +++ b/eigen/failtest/map_nonconst_ctor_on_const_ptr_2.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER float *ptr, DenseIndex rows, DenseIndex cols){ + Map m(ptr, rows, cols); +} + +int main() {} diff --git a/eigen/failtest/map_nonconst_ctor_on_const_ptr_3.cpp b/eigen/failtest/map_nonconst_ctor_on_const_ptr_3.cpp new file mode 100644 index 0000000..830f6f0 --- /dev/null +++ b/eigen/failtest/map_nonconst_ctor_on_const_ptr_3.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER float *ptr, DenseIndex rows, DenseIndex cols){ + Map > m(ptr, rows, cols, InnerStride<2>()); +} + +int main() {} diff --git a/eigen/failtest/map_nonconst_ctor_on_const_ptr_4.cpp b/eigen/failtest/map_nonconst_ctor_on_const_ptr_4.cpp new file mode 100644 index 0000000..c3e8c95 --- /dev/null +++ b/eigen/failtest/map_nonconst_ctor_on_const_ptr_4.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER +#else +#define CV_QUALIFIER const +#endif + +using namespace Eigen; + +void foo(const float *ptr, DenseIndex rows, DenseIndex cols){ + Map > m(ptr, rows, cols, OuterStride<>(2)); +} + +int main() {} diff --git a/eigen/failtest/map_on_const_type_actually_const_0.cpp b/eigen/failtest/map_on_const_type_actually_const_0.cpp new file mode 100644 index 0000000..8cb6aa0 --- /dev/null +++ b/eigen/failtest/map_on_const_type_actually_const_0.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(float *ptr){ + Map(ptr, 1, 1).coeffRef(0,0) = 1.0f; +} + +int main() {} diff --git a/eigen/failtest/map_on_const_type_actually_const_1.cpp b/eigen/failtest/map_on_const_type_actually_const_1.cpp new file mode 100644 index 0000000..04e067c --- /dev/null +++ b/eigen/failtest/map_on_const_type_actually_const_1.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(float *ptr){ + Map(ptr).coeffRef(0) = 1.0f; +} + +int main() {} diff --git a/eigen/failtest/partialpivlu_int.cpp b/eigen/failtest/partialpivlu_int.cpp new file mode 100644 index 0000000..98ef282 --- /dev/null +++ b/eigen/failtest/partialpivlu_int.cpp @@ -0,0 +1,14 @@ +#include "../Eigen/LU" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define SCALAR int +#else +#define SCALAR float +#endif + +using namespace Eigen; + +int main() +{ + PartialPivLU > lu(Matrix::Random(10,10)); +} diff --git a/eigen/failtest/qr_int.cpp b/eigen/failtest/qr_int.cpp new file mode 100644 index 0000000..ce200e8 --- /dev/null +++ b/eigen/failtest/qr_int.cpp @@ -0,0 +1,14 @@ +#include "../Eigen/QR" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define SCALAR int +#else +#define SCALAR float +#endif + +using namespace Eigen; + +int main() +{ + HouseholderQR > qr(Matrix::Random(10,10)); +} diff --git a/eigen/failtest/ref_1.cpp b/eigen/failtest/ref_1.cpp new file mode 100644 index 0000000..8b798d5 --- /dev/null +++ b/eigen/failtest/ref_1.cpp @@ -0,0 +1,18 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void call_ref(Ref a) { } + +int main() +{ + VectorXf a(10); + CV_QUALIFIER VectorXf& ac(a); + call_ref(ac); +} diff --git a/eigen/failtest/ref_2.cpp b/eigen/failtest/ref_2.cpp new file mode 100644 index 0000000..0b779cc --- /dev/null +++ b/eigen/failtest/ref_2.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +using namespace Eigen; + +void call_ref(Ref a) { } + +int main() +{ + MatrixXf A(10,10); +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD + call_ref(A.row(3)); +#else + call_ref(A.col(3)); +#endif +} diff --git a/eigen/failtest/ref_3.cpp b/eigen/failtest/ref_3.cpp new file mode 100644 index 0000000..f46027d --- /dev/null +++ b/eigen/failtest/ref_3.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +using namespace Eigen; + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +void call_ref(Ref a) { } +#else +void call_ref(const Ref &a) { } +#endif + +int main() +{ + VectorXf a(10); + call_ref(a+a); +} diff --git a/eigen/failtest/ref_4.cpp b/eigen/failtest/ref_4.cpp new file mode 100644 index 0000000..6c11fa4 --- /dev/null +++ b/eigen/failtest/ref_4.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +using namespace Eigen; + +void call_ref(Ref > a) {} + +int main() +{ + MatrixXf A(10,10); +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD + call_ref(A.transpose()); +#else + call_ref(A); +#endif +} diff --git a/eigen/failtest/ref_5.cpp b/eigen/failtest/ref_5.cpp new file mode 100644 index 0000000..846d527 --- /dev/null +++ b/eigen/failtest/ref_5.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Core" + +using namespace Eigen; + +void call_ref(Ref a) { } + +int main() +{ + VectorXf a(10); + DenseBase &ac(a); +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD + call_ref(ac); +#else + call_ref(ac.derived()); +#endif +} diff --git a/eigen/failtest/transpose_nonconst_ctor_on_const_xpr.cpp b/eigen/failtest/transpose_nonconst_ctor_on_const_xpr.cpp new file mode 100644 index 0000000..4223e7f --- /dev/null +++ b/eigen/failtest/transpose_nonconst_ctor_on_const_xpr.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(CV_QUALIFIER Matrix3d &m){ + Transpose t(m); +} + +int main() {} diff --git a/eigen/failtest/transpose_on_const_type_actually_const.cpp b/eigen/failtest/transpose_on_const_type_actually_const.cpp new file mode 100644 index 0000000..d0b7d0d --- /dev/null +++ b/eigen/failtest/transpose_on_const_type_actually_const.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Core" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void foo(){ + MatrixXf m; + Transpose(m).coeffRef(0, 0) = 1.0f; +} + +int main() {} -- cgit v1.2.3