eigen/Eigen
Antonio Sanchez 543e34ab9d Re-implement move assignments.
The original swap approach leads to potential undefined behavior (reading
uninitialized memory) and results in unnecessary copying of data for static
storage.

Here we pass down the move assignment to the underlying storage.  Static
storage does a one-way copy, dynamic storage does a swap.

Modified the tests to no longer read from the moved-from matrix/tensor,
since that can lead to UB. Added a test to ensure we do not access
uninitialized memory in a move.

Fixes: #2119
2021-03-10 16:55:20 +00:00
..
src Re-implement move assignments. 2021-03-10 16:55:20 +00:00
Cholesky Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
CholmodSupport Update link to suitesparse. 2016-01-27 22:48:40 +01:00
Core Fix excessive GEBP register spilling for 32-bit NEON. 2021-02-03 09:01:48 -08:00
Dense
Eigen
Eigenvalues Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
Geometry Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
Householder Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
IterativeLinearSolvers Add missing licence header to some top header files 2015-10-26 11:46:05 +01:00
Jacobi Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
KLUSupport Move KLU support to official 2017-11-10 14:11:22 +01:00
LU Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
MetisSupport Add missing licence header to some top header files 2015-10-26 11:46:05 +01:00
OrderingMethods Remove EIGEN_MPL2_ONLY guards around code re-licensed from LGPL to MPL2 in 2ca1e73239 2019-03-05 10:24:54 -08:00
PardisoSupport Extend CUDA support to matrix inversion and selfadjointeigensolver 2018-06-11 18:33:24 +02:00
PaStiXSupport clarify Pastix requirements 2017-11-27 22:11:57 +01:00
QR Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
QtAlignedMalloc Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
Sparse Remove EIGEN_MPL2_ONLY guards around code re-licensed from LGPL to MPL2 in 2ca1e73239 2019-03-05 10:24:54 -08:00
SparseCholesky Remove EIGEN_MPL2_ONLY guards around code re-licensed from LGPL to MPL2 in 2ca1e73239 2019-03-05 10:24:54 -08:00
SparseCore bug #1101: typo 2015-10-30 12:02:52 +01:00
SparseLU Fix numerous shadow-warnings for GCC<=4.8 2018-08-28 18:32:39 +02:00
SparseQR Old gcc versions have problems with recursive #pragma GCC diagnostic push/pop 2018-08-28 11:44:15 +02:00
SPQRSupport Update link to suitesparse. 2016-01-27 22:48:40 +01:00
StdDeque bug #1389: MSVC's std containers do not properly align in 64 bits mode if the requested alignment is larger than 16 bytes (e.g., with AVX) 2017-02-03 15:22:35 +01:00
StdList bug #1389: MSVC's std containers do not properly align in 64 bits mode if the requested alignment is larger than 16 bytes (e.g., with AVX) 2017-02-03 15:22:35 +01:00
StdVector bug #1389: MSVC's std containers do not properly align in 64 bits mode if the requested alignment is larger than 16 bytes (e.g., with AVX) 2017-02-03 15:22:35 +01:00
SuperLUSupport bug #1119: Adjust call to ?gssvx for SuperLU 5 2016-07-10 02:29:57 +02:00
SVD Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
UmfPackSupport Update link to suitesparse. 2016-01-27 22:48:40 +01:00