mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
First part of a big refactoring of alignment control to enable the handling of arbitrarily aligned buffers. It includes:
- AlignedBit flag is deprecated. Alignment is now specified by the evaluator through the 'Alignment' enum, e.g., evaluator<Xpr>::Alignment. Its value is in Bytes. - Add several enums to specify alignment: Aligned8, Aligned16, Aligned32, Aligned64, Aligned128. AlignedMax corresponds to EIGEN_MAX_ALIGN_BYTES. Such enums are used to define the above Alignment value, and as the 'Options' template parameter of Map<> and Ref<>. - The Aligned enum is now deprecated. It is now an alias for Aligned16. - Currently, traits<Matrix<>>, traits<Array<>>, traits<Ref<>>, traits<Map<>>, and traits<Block<>> also expose the Alignment enum.
This commit is contained in:
@@ -162,12 +162,12 @@ void unalignedassert()
|
||||
}
|
||||
for(int b=8; b<EIGEN_MAX_ALIGN_BYTES; b+=8)
|
||||
{
|
||||
VERIFY_RAISES_ASSERT(construct_at_boundary<Vector8f>(b));
|
||||
VERIFY_RAISES_ASSERT(construct_at_boundary<Matrix4f>(b));
|
||||
VERIFY_RAISES_ASSERT(construct_at_boundary<Vector4d>(b));
|
||||
VERIFY_RAISES_ASSERT(construct_at_boundary<Matrix2d>(b));
|
||||
VERIFY_RAISES_ASSERT(construct_at_boundary<Matrix4d>(b));
|
||||
VERIFY_RAISES_ASSERT(construct_at_boundary<Vector2cd>(b));
|
||||
if(b<32) VERIFY_RAISES_ASSERT(construct_at_boundary<Vector8f>(b));
|
||||
if(b<64) VERIFY_RAISES_ASSERT(construct_at_boundary<Matrix4f>(b));
|
||||
if(b<32) VERIFY_RAISES_ASSERT(construct_at_boundary<Vector4d>(b));
|
||||
if(b<32) VERIFY_RAISES_ASSERT(construct_at_boundary<Matrix2d>(b));
|
||||
if(b<128) VERIFY_RAISES_ASSERT(construct_at_boundary<Matrix4d>(b));
|
||||
if(b<32) VERIFY_RAISES_ASSERT(construct_at_boundary<Vector2cd>(b));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user