mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-30 00:50:37 +08:00
3fa415bd0c
- Eigen versions < 3.3 only supported SIMD instructions that required 16-byte alignment (SSE), whereas Eigen >= 3.3 also supports AVX instructions which require 32+-byte alignment. - Previously we only ever requested 16-byte alignment for Jets (if >= C++11 was enabled) which resulted in Eigen assertions being triggered on some compilers as reported as Issue #251: https://github.com/ceres-solver/ceres-solver/issues/251. - Now we use Eigen’s EIGEN_MAX_ALIGN_BYTES macro, defined in Eigen >= 3.3 to specify the byte alignment for Jets when C++11 is enabled for Eigen >= 3.3. For Eigen versions < 3.3, we maintain the previous behaviour of 16. Change-Id: I749af7a70ae794e0c2a59301128db781e338422c