kill ei_add_test_multi. Now the macro ei_add_test does all that automatically, by parsing the source file. No risk anymore to specify the wrong number of tests! Also, introduce CALL_SUBTESTX for X=1..10 that allows to port existing code much quicker. And port already the product* and eigensolver* files.

This commit is contained in:
Benoit Jacob
2009-10-19 14:40:35 -04:00
parent 580672ea43
commit 6c1b91678b
17 changed files with 189 additions and 115 deletions

View File

@@ -117,17 +117,17 @@ void test_eigensolver_selfadjoint()
{
for(int i = 0; i < g_repeat; i++) {
// very important to test a 3x3 matrix since we provide a special path for it
CALL_SUBTEST( selfadjointeigensolver(Matrix3f()) );
CALL_SUBTEST( selfadjointeigensolver(Matrix4d()) );
CALL_SUBTEST( selfadjointeigensolver(MatrixXf(10,10)) );
CALL_SUBTEST( selfadjointeigensolver(MatrixXd(19,19)) );
CALL_SUBTEST( selfadjointeigensolver(MatrixXcd(17,17)) );
CALL_SUBTEST1( selfadjointeigensolver(Matrix3f()) );
CALL_SUBTEST2( selfadjointeigensolver(Matrix4d()) );
CALL_SUBTEST3( selfadjointeigensolver(MatrixXf(10,10)) );
CALL_SUBTEST4( selfadjointeigensolver(MatrixXd(19,19)) );
CALL_SUBTEST5( selfadjointeigensolver(MatrixXcd(17,17)) );
// some trivial but implementation-wise tricky cases
CALL_SUBTEST( selfadjointeigensolver(MatrixXd(1,1)) );
CALL_SUBTEST( selfadjointeigensolver(MatrixXd(2,2)) );
CALL_SUBTEST( selfadjointeigensolver(Matrix<double,1,1>()) );
CALL_SUBTEST( selfadjointeigensolver(Matrix<double,2,2>()) );
CALL_SUBTEST4( selfadjointeigensolver(MatrixXd(1,1)) );
CALL_SUBTEST4( selfadjointeigensolver(MatrixXd(2,2)) );
CALL_SUBTEST6( selfadjointeigensolver(Matrix<double,1,1>()) );
CALL_SUBTEST7( selfadjointeigensolver(Matrix<double,2,2>()) );
}
}