Patched warning, see http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1402
parent
f998786cc0
commit
72f71b2ff5
|
@ -39,7 +39,7 @@ public:
|
||||||
enum {
|
enum {
|
||||||
DstAlignment = DstEvaluator::Alignment,
|
DstAlignment = DstEvaluator::Alignment,
|
||||||
SrcAlignment = SrcEvaluator::Alignment,
|
SrcAlignment = SrcEvaluator::Alignment,
|
||||||
DstHasDirectAccess = DstFlags & DirectAccessBit,
|
DstHasDirectAccess = (DstFlags & DirectAccessBit) == DirectAccessBit,
|
||||||
JointAlignment = EIGEN_PLAIN_ENUM_MIN(DstAlignment,SrcAlignment)
|
JointAlignment = EIGEN_PLAIN_ENUM_MIN(DstAlignment,SrcAlignment)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ private:
|
||||||
&& int(OuterStride)!=Dynamic && int(OuterStride)%int(InnerPacketSize)==0
|
&& int(OuterStride)!=Dynamic && int(OuterStride)%int(InnerPacketSize)==0
|
||||||
&& (EIGEN_UNALIGNED_VECTORIZE || int(JointAlignment)>=int(InnerRequiredAlignment)),
|
&& (EIGEN_UNALIGNED_VECTORIZE || int(JointAlignment)>=int(InnerRequiredAlignment)),
|
||||||
MayLinearize = bool(StorageOrdersAgree) && (int(DstFlags) & int(SrcFlags) & LinearAccessBit),
|
MayLinearize = bool(StorageOrdersAgree) && (int(DstFlags) & int(SrcFlags) & LinearAccessBit),
|
||||||
MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
|
MayLinearVectorize = bool(MightVectorize) && bool(MayLinearize) && bool(DstHasDirectAccess)
|
||||||
&& (EIGEN_UNALIGNED_VECTORIZE || (int(DstAlignment)>=int(LinearRequiredAlignment)) || MaxSizeAtCompileTime == Dynamic),
|
&& (EIGEN_UNALIGNED_VECTORIZE || (int(DstAlignment)>=int(LinearRequiredAlignment)) || MaxSizeAtCompileTime == Dynamic),
|
||||||
/* If the destination isn't aligned, we have to do runtime checks and we don't unroll,
|
/* If the destination isn't aligned, we have to do runtime checks and we don't unroll,
|
||||||
so it's only good for large enough sizes. */
|
so it's only good for large enough sizes. */
|
||||||
|
|
|
@ -183,8 +183,8 @@ EIGEN_DONT_INLINE void general_matrix_vector_product<Index,LhsScalar,LhsMapper,C
|
||||||
alignmentPattern = AllAligned;
|
alignmentPattern = AllAligned;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Index offset1 = (FirstAligned && alignmentStep==1)?3:1;
|
const Index offset1 = (alignmentPattern==FirstAligned && alignmentStep==1)?3:1;
|
||||||
const Index offset3 = (FirstAligned && alignmentStep==1)?1:3;
|
const Index offset3 = (alignmentPattern==FirstAligned && alignmentStep==1)?1:3;
|
||||||
|
|
||||||
Index columnBound = ((cols-skipColumns)/columnsAtOnce)*columnsAtOnce + skipColumns;
|
Index columnBound = ((cols-skipColumns)/columnsAtOnce)*columnsAtOnce + skipColumns;
|
||||||
for (Index i=skipColumns; i<columnBound; i+=columnsAtOnce)
|
for (Index i=skipColumns; i<columnBound; i+=columnsAtOnce)
|
||||||
|
@ -457,8 +457,8 @@ EIGEN_DONT_INLINE void general_matrix_vector_product<Index,LhsScalar,LhsMapper,R
|
||||||
alignmentPattern = AllAligned;
|
alignmentPattern = AllAligned;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Index offset1 = (FirstAligned && alignmentStep==1)?3:1;
|
const Index offset1 = (alignmentPattern==FirstAligned && alignmentStep==1)?3:1;
|
||||||
const Index offset3 = (FirstAligned && alignmentStep==1)?1:3;
|
const Index offset3 = (alignmentPattern==FirstAligned && alignmentStep==1)?1:3;
|
||||||
|
|
||||||
Index rowBound = ((rows-skipRows)/rowsAtOnce)*rowsAtOnce + skipRows;
|
Index rowBound = ((rows-skipRows)/rowsAtOnce)*rowsAtOnce + skipRows;
|
||||||
for (Index i=skipRows; i<rowBound; i+=rowsAtOnce)
|
for (Index i=skipRows; i<rowBound; i+=rowsAtOnce)
|
||||||
|
|
Loading…
Reference in New Issue