eigen/Eigen
Antonio Sanchez ebb300d0b4 Modify Unary/Binary/TernaryOp evaluators to work for non-class types.
This used to work for non-class types (e.g. raw function pointers) in
Eigen 3.3.  This was changed in commit 11f55b29 to optimize the
evaluator:

> `sizeof((A-B).cwiseAbs2())` with A,B Vector4f is now 16 bytes, instead of 48 before this optimization.

though I cannot reproduce the 16 byte result.  Both before the change
and after, with multiple compilers/versions, I always get a result of 40 bytes.

https://godbolt.org/z/MsjTc1PGe

This change modifies the code slightly to allow non-class types.  The
final generated code is identical, and the expression remains 40 bytes
for the `abs2` sample case.

Fixes #2251
2021-05-23 12:44:37 -07:00
..
src Modify Unary/Binary/TernaryOp evaluators to work for non-class types. 2021-05-23 12:44:37 -07:00
Cholesky Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
CholmodSupport
Core Fix NVCC+ICC issues. 2021-03-15 18:42:04 +00: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
Jacobi Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
KLUSupport
LU Make vectorized compute_inverse_size4 compile with AVX. 2021-04-22 15:21:01 +00:00
MetisSupport
OrderingMethods
PardisoSupport
PaStiXSupport
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
SparseCholesky
SparseCore
SparseLU
SparseQR
SPQRSupport
StdDeque
StdList
StdVector
SuperLUSupport
SVD Remove vim specific comments to recognoize correct file-type. 2021-02-09 09:13:09 +01:00
UmfPackSupport