From 28dde19e40a3d758faa94f0fc228857f7b3192ea Mon Sep 17 00:00:00 2001 From: Adolfo Rodriguez Tsouroukdissian Date: Wed, 21 Apr 2010 17:15:57 +0200 Subject: - Added problem size constructor to decompositions that did not have one. It preallocates member data structures. - Updated unit tests to check above constructor. - In the compute() method of decompositions: Made temporary matrices/vectors class members to avoid heap allocations during compute() (when dynamic matrices are used, of course). These changes can speed up decomposition computation time when a solver instance is used to solve multiple same-sized problems. An added benefit is that the compute() method can now be invoked in contexts were heap allocations are forbidden, such as in real-time control loops. CAVEAT: Not all of the decompositions in the Eigenvalues module have a heap-allocation-free compute() method. A future patch may address this issue, but some required API changes need to be incorporated first. --- test/cholesky.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'test/cholesky.cpp') diff --git a/test/cholesky.cpp b/test/cholesky.cpp index a446f5d73..0ae26c7d5 100644 --- a/test/cholesky.cpp +++ b/test/cholesky.cpp @@ -163,4 +163,8 @@ void test_cholesky() CALL_SUBTEST_7( cholesky_verify_assert() ); CALL_SUBTEST_8( cholesky_verify_assert() ); CALL_SUBTEST_2( cholesky_verify_assert() ); + + // Test problem size constructors + CALL_SUBTEST_9( LLT(10) ); + CALL_SUBTEST_9( LDLT(10) ); } -- cgit v1.2.3