mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Fix sparse_extra_3, disable counting temporaries for testing DynamicSparseMatrix.
Multiplication of column-major `DynamicSparseMatrix`es involves three temporaries: - two for transposing twice to sort the coefficients (`ConservativeSparseSparseProduct.h`, L160-161) - one for a final copy assignment (`SparseAssign.h`, L108) The latter is avoided in an optimization for `SparseMatrix`. Since `DynamicSparseMatrix` is deprecated in favor of `SparseMatrix`, it's not worth the effort to optimize further, so I simply disabled counting temporaries via a macro. Note that due to the inclusion of `sparse_product.cpp`, the `sparse_extra` tests actually re-run all the original `sparse_product` tests as well. We may want to simply drop the `DynamicSparseMatrix` tests altogether, which would eliminate the test duplication. Related to #2048
This commit is contained in:
committed by
Rasmus Munk Larsen
parent
11e4056f6b
commit
a8fdcae55d
@@ -22,6 +22,9 @@ static long g_dense_op_sparse_count = 0;
|
||||
#endif
|
||||
|
||||
#define EIGEN_NO_DEPRECATED_WARNING
|
||||
// Disable counting of temporaries, since sparse_product(DynamicSparseMatrix)
|
||||
// has an extra copy-assignment.
|
||||
#define EIGEN_SPARSE_PRODUCT_IGNORE_TEMPORARY_COUNT
|
||||
#include "sparse_product.cpp"
|
||||
|
||||
#if 0 // sparse_basic(DynamicSparseMatrix) does not compile at all -> disabled
|
||||
|
||||
Reference in New Issue
Block a user