Various fixes in:

- vector to vector assign
 - PartialRedux
 - Vectorization criteria of Product
 - returned type of normalized
 - SSE integer mul
This commit is contained in:
Gael Guennebaud
2008-04-25 23:10:37 +00:00
parent a451835bce
commit 6f2c72fb53
8 changed files with 39 additions and 32 deletions

View File

@@ -138,12 +138,14 @@ struct ei_traits<Product<Lhs, Rhs, EvalMode> >
~(RowMajorBit | VectorizableBit | Like1DArrayBit)
| (
(
!(Lhs::Flags & RowMajorBit) && (Lhs::Flags & VectorizableBit)
(!(Lhs::Flags & RowMajorBit)) && (Lhs::Flags & VectorizableBit)
&& (Lhs::RowsAtCompileTime % ei_packet_traits<Scalar>::size == 0)
)
? VectorizableBit
: (
(
(Rhs::Flags & RowMajorBit) && (Rhs::Flags & VectorizableBit)
&& (Lhs::ColsAtCompileTime % ei_packet_traits<Scalar>::size == 0)
)
? RowMajorBit | VectorizableBit
: 0
@@ -282,7 +284,7 @@ Derived& MatrixBase<Derived>::lazyAssign(const Product<Lhs,Rhs,CacheOptimalProdu
&& (Lhs::RowsAtCompileTime%ei_packet_traits<Scalar>::size==0) ),
ei_meta_true,ei_meta_false>::ret()
#else
ei_meta_false
ei_meta_false()
#endif
);
return derived();