diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-02-09 10:24:07 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-02-09 10:24:07 +0100 |
commit | 554aa9b31de06cf1d4464b1fe8e5a956091641ba (patch) | |
tree | a581e85eab97dd51a083633bd635aa249297a462 /failtest | |
parent | 3af29caae87b00ed8f002605573d227ad1b629a4 (diff) |
Add failtests for Ref<SparseMatrix>
Diffstat (limited to 'failtest')
-rw-r--r-- | failtest/CMakeLists.txt | 6 | ||||
-rw-r--r-- | failtest/sparse_ref_1.cpp | 18 | ||||
-rw-r--r-- | failtest/sparse_ref_2.cpp | 15 | ||||
-rw-r--r-- | failtest/sparse_ref_3.cpp | 15 | ||||
-rw-r--r-- | failtest/sparse_ref_4.cpp | 15 | ||||
-rw-r--r-- | failtest/sparse_ref_5.cpp | 16 |
6 files changed, 85 insertions, 0 deletions
diff --git a/failtest/CMakeLists.txt b/failtest/CMakeLists.txt index d2fea7bdc..c8795a344 100644 --- a/failtest/CMakeLists.txt +++ b/failtest/CMakeLists.txt @@ -41,6 +41,12 @@ ei_add_failtest("ref_5") ei_add_failtest("swap_1") ei_add_failtest("swap_2") +ei_add_failtest("sparse_ref_1") +ei_add_failtest("sparse_ref_2") +ei_add_failtest("sparse_ref_3") +ei_add_failtest("sparse_ref_4") +ei_add_failtest("sparse_ref_5") + if (EIGEN_FAILTEST_FAILURE_COUNT) message(FATAL_ERROR "${EIGEN_FAILTEST_FAILURE_COUNT} out of ${EIGEN_FAILTEST_COUNT} failtests FAILED. " diff --git a/failtest/sparse_ref_1.cpp b/failtest/sparse_ref_1.cpp new file mode 100644 index 000000000..d78d1f9b1 --- /dev/null +++ b/failtest/sparse_ref_1.cpp @@ -0,0 +1,18 @@ +#include "../Eigen/Sparse" + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +#define CV_QUALIFIER const +#else +#define CV_QUALIFIER +#endif + +using namespace Eigen; + +void call_ref(Ref<SparseMatrix<float> > a) { } + +int main() +{ + SparseMatrix<float> a(10,10); + CV_QUALIFIER SparseMatrix<float>& ac(a); + call_ref(ac); +} diff --git a/failtest/sparse_ref_2.cpp b/failtest/sparse_ref_2.cpp new file mode 100644 index 000000000..46c9440c2 --- /dev/null +++ b/failtest/sparse_ref_2.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Sparse" + +using namespace Eigen; + +void call_ref(Ref<SparseMatrix<float> > a) { } + +int main() +{ + SparseMatrix<float> A(10,10); +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD + call_ref(A.row(3)); +#else + call_ref(A.col(3)); +#endif +} diff --git a/failtest/sparse_ref_3.cpp b/failtest/sparse_ref_3.cpp new file mode 100644 index 000000000..a9949b552 --- /dev/null +++ b/failtest/sparse_ref_3.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Sparse" + +using namespace Eigen; + +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD +void call_ref(Ref<SparseMatrix<float> > a) { } +#else +void call_ref(const Ref<const SparseMatrix<float> > &a) { } +#endif + +int main() +{ + SparseMatrix<float> a(10,10); + call_ref(a+a); +} diff --git a/failtest/sparse_ref_4.cpp b/failtest/sparse_ref_4.cpp new file mode 100644 index 000000000..57bb6a1fc --- /dev/null +++ b/failtest/sparse_ref_4.cpp @@ -0,0 +1,15 @@ +#include "../Eigen/Sparse" + +using namespace Eigen; + +void call_ref(Ref<SparseMatrix<float> > a) {} + +int main() +{ + SparseMatrix<float> A(10,10); +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD + call_ref(A.transpose()); +#else + call_ref(A); +#endif +} diff --git a/failtest/sparse_ref_5.cpp b/failtest/sparse_ref_5.cpp new file mode 100644 index 000000000..4478f6f2f --- /dev/null +++ b/failtest/sparse_ref_5.cpp @@ -0,0 +1,16 @@ +#include "../Eigen/Sparse" + +using namespace Eigen; + +void call_ref(Ref<SparseMatrix<float> > a) { } + +int main() +{ + SparseMatrix<float> a(10,10); + SparseMatrixBase<SparseMatrix<float> > &ac(a); +#ifdef EIGEN_SHOULD_FAIL_TO_BUILD + call_ref(ac); +#else + call_ref(ac.derived()); +#endif +} |