mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Add new default option EIGEN_SPLIT_LARGE_TESTS and cmake macro ei_add_test_multi.
When enabled, large tests are split into smaller executables. This needs minimal changes in the unit tests. Updated the LU test to use it.
This commit is contained in:
@@ -3,6 +3,8 @@ add_custom_target(btest)
|
||||
include(EigenTesting)
|
||||
ei_init_testing()
|
||||
|
||||
option(EIGEN_SPLIT_LARGE_TESTS "Split large tests into smaller executables" ON)
|
||||
|
||||
find_package(GSL)
|
||||
if(GSL_FOUND AND GSL_VERSION_MINOR LESS 9)
|
||||
set(GSL_FOUND "")
|
||||
@@ -119,7 +121,7 @@ ei_add_test(product_notemporary ${EI_OFLAG})
|
||||
ei_add_test(stable_norm)
|
||||
ei_add_test(bandmatrix)
|
||||
ei_add_test(cholesky " " "${GSL_LIBRARIES}")
|
||||
ei_add_test(lu ${EI_OFLAG})
|
||||
ei_add_test_multi(6 lu ${EI_OFLAG})
|
||||
ei_add_test(determinant)
|
||||
ei_add_test(inverse ${EI_OFLAG})
|
||||
ei_add_test(qr)
|
||||
|
||||
26
test/lu.cpp
26
test/lu.cpp
@@ -153,22 +153,28 @@ template<typename MatrixType> void lu_verify_assert()
|
||||
void test_lu()
|
||||
{
|
||||
for(int i = 0; i < g_repeat; i++) {
|
||||
#if defined EIGEN_TEST_PART_1
|
||||
CALL_SUBTEST( lu_non_invertible<Matrix3f>() );
|
||||
CALL_SUBTEST( lu_verify_assert<Matrix3f>() );
|
||||
#elif defined EIGEN_TEST_PART_2
|
||||
CALL_SUBTEST( (lu_non_invertible<Matrix<double, 4, 6> >()) );
|
||||
CALL_SUBTEST( (lu_verify_assert<Matrix<double, 4, 6> >()) );
|
||||
#elif defined EIGEN_TEST_PART_3
|
||||
CALL_SUBTEST( lu_non_invertible<MatrixXf>() );
|
||||
CALL_SUBTEST( lu_non_invertible<MatrixXd>() );
|
||||
CALL_SUBTEST( lu_non_invertible<MatrixXcf>() );
|
||||
CALL_SUBTEST( lu_non_invertible<MatrixXcd>() );
|
||||
CALL_SUBTEST( lu_invertible<MatrixXf>() );
|
||||
CALL_SUBTEST( lu_verify_assert<MatrixXf>() );
|
||||
#elif defined EIGEN_TEST_PART_4
|
||||
CALL_SUBTEST( lu_non_invertible<MatrixXd>() );
|
||||
CALL_SUBTEST( lu_invertible<MatrixXd>() );
|
||||
CALL_SUBTEST( lu_verify_assert<MatrixXd>() );
|
||||
#elif defined EIGEN_TEST_PART_5
|
||||
CALL_SUBTEST( lu_non_invertible<MatrixXcf>() );
|
||||
CALL_SUBTEST( lu_invertible<MatrixXcf>() );
|
||||
CALL_SUBTEST( lu_verify_assert<MatrixXcf>() );
|
||||
#elif defined EIGEN_TEST_PART_6
|
||||
CALL_SUBTEST( lu_non_invertible<MatrixXcd>() );
|
||||
CALL_SUBTEST( lu_invertible<MatrixXcd>() );
|
||||
CALL_SUBTEST( lu_verify_assert<MatrixXcd>() );
|
||||
#endif
|
||||
}
|
||||
|
||||
CALL_SUBTEST( lu_verify_assert<Matrix3f>() );
|
||||
CALL_SUBTEST( lu_verify_assert<Matrix3d>() );
|
||||
CALL_SUBTEST( lu_verify_assert<MatrixXf>() );
|
||||
CALL_SUBTEST( lu_verify_assert<MatrixXd>() );
|
||||
CALL_SUBTEST( lu_verify_assert<MatrixXcf>() );
|
||||
CALL_SUBTEST( lu_verify_assert<MatrixXcd>() );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user