| commit | a8fdcae55d1f002966fc9b963597a404f30baa09 | [log] [tgz] |
|---|---|---|
| author | Antonio Sanchez <cantonios@google.com> | Wed Nov 18 13:23:13 2020 -0800 |
| committer | Rasmus Munk Larsen <rmlarsen@google.com> | Wed Nov 18 23:15:33 2020 +0000 |
| tree | 55578884327d442e933d9f975eae0ba798c8966e | |
| parent | 11e4056f6bbcc5dff23d051f662a4e5b91ee36a7 [diff] |
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
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
For more information go to http://eigen.tuxfamily.org/.
For pull request, bug reports, and feature requests, go to https://gitlab.com/libeigen/eigen.