diff options
author | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2014-02-18 18:06:44 -0800 |
---|---|---|
committer | Benoit Steiner <benoit.steiner.goog@gmail.com> | 2014-02-18 18:06:44 -0800 |
commit | 7ed9441ea472031bb9357b5bec80151cae7ed2cb (patch) | |
tree | ecd2a8a0973068987bdb5ec631a79e8b82641e56 /test/mapped_matrix.cpp | |
parent | 64a85800bd3573a7da7a396fde9707dce87a58d9 (diff) |
Reverted the definition of the EIGEN_ALIGN to its former meaning (i.e. a boolean)
Created a new EIGEN_ALIGN_BYTES define to encode how the data should be aligned
Fixed a few remaining alignment issues exposed when the Eigen code is compiled with avx enabled.
Created a new EIGEN_ALIGN_DEFAULT define, which is set to the minimum alignment value required for the chosen instruction set. Use this value instead of EIGEN_ALIGN32 to preserve the existing alignment on SSE/Altivec/Neon.
Diffstat (limited to 'test/mapped_matrix.cpp')
-rw-r--r-- | test/mapped_matrix.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/test/mapped_matrix.cpp b/test/mapped_matrix.cpp index c18e687a5..5eba3ecb3 100644 --- a/test/mapped_matrix.cpp +++ b/test/mapped_matrix.cpp @@ -26,7 +26,7 @@ template<typename VectorType> void map_class_vector(const VectorType& m) Scalar* array1 = internal::aligned_new<Scalar>(size); Scalar* array2 = internal::aligned_new<Scalar>(size); Scalar* array3 = new Scalar[size+1]; - Scalar* array3unaligned = size_t(array3)%16 == 0 ? array3+1 : array3; + Scalar* array3unaligned = size_t(array3)%EIGEN_ALIGN_BYTES == 0 ? array3+1 : array3; Scalar array4[EIGEN_TESTMAP_MAX_SIZE]; Map<VectorType, Aligned>(array1, size) = VectorType::Random(size); @@ -64,7 +64,7 @@ template<typename MatrixType> void map_class_matrix(const MatrixType& m) for(int i = 0; i < size; i++) array2[i] = Scalar(1); Scalar* array3 = new Scalar[size+1]; for(int i = 0; i < size+1; i++) array3[i] = Scalar(1); - Scalar* array3unaligned = size_t(array3)%16 == 0 ? array3+1 : array3; + Scalar* array3unaligned = size_t(array3)%EIGEN_ALIGN_BYTES == 0 ? array3+1 : array3; Map<MatrixType, Aligned>(array1, rows, cols) = MatrixType::Ones(rows,cols); Map<MatrixType>(array2, rows, cols) = Map<MatrixType>(array1, rows, cols); Map<MatrixType>(array3unaligned, rows, cols) = Map<MatrixType>(array1, rows, cols); @@ -90,7 +90,7 @@ template<typename VectorType> void map_static_methods(const VectorType& m) Scalar* array1 = internal::aligned_new<Scalar>(size); Scalar* array2 = internal::aligned_new<Scalar>(size); Scalar* array3 = new Scalar[size+1]; - Scalar* array3unaligned = size_t(array3)%16 == 0 ? array3+1 : array3; + Scalar* array3unaligned = size_t(array3)%EIGEN_ALIGN_BYTES == 0 ? array3+1 : array3; VectorType::MapAligned(array1, size) = VectorType::Random(size); VectorType::Map(array2, size) = VectorType::Map(array1, size); |