aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-09-08 10:04:26 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-09-08 10:04:26 +0200
commit6162672dc55dc891a1e2ab1c93d503d7f41cfdac (patch)
tree69b225c8b0ffbd055fa096ee40056bd1ac9be765 /Eigen
parente54898f53e73b0cb3cc0d993f7816d14efe59fa6 (diff)
Runtime alignement is not possible if AlignedOnScalar is not true (e.g., for complex<double>)
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/Core/Redux.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/Eigen/src/Core/Redux.h b/Eigen/src/Core/Redux.h
index 5b82c9a65..c626946ba 100644
--- a/Eigen/src/Core/Redux.h
+++ b/Eigen/src/Core/Redux.h
@@ -207,7 +207,7 @@ struct redux_impl<Func, Derived, LinearVectorizedTraversal, NoUnrolling>
const Index packetSize = packet_traits<Scalar>::size;
const Index alignedStart = internal::first_aligned(mat);
enum {
- alignment = bool(Derived::Flags & DirectAccessBit) || bool(Derived::Flags & AlignedBit)
+ alignment = (bool(Derived::Flags & DirectAccessBit) && bool(packet_traits<Scalar>::AlignedOnScalar)) || bool(Derived::Flags & AlignedBit)
? Aligned : Unaligned
};
const Index alignedSize2 = ((size-alignedStart)/(2*packetSize))*(2*packetSize);