mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
bug fix in gemv:
solution always use a temporary in dst.innerStride != 1 even though this is not needed when packet_size == 1....
This commit is contained in:
@@ -330,9 +330,10 @@ template<> struct ei_gemv_selector<OnTheRight,ColMajor,true>
|
||||
* RhsBlasTraits::extractScalarFactor(prod.rhs());
|
||||
|
||||
enum {
|
||||
EvalToDest = (ei_packet_traits<Scalar>::size==1)
|
||||
||((Dest::Flags&ActualPacketAccessBit) && (!(Dest::Flags & RowMajorBit)))
|
||||
// FIXME find a way to allow an inner stride on the result if ei_packet_traits<Scalar>::size==1
|
||||
EvalToDest = (Dest::Flags&ActualPacketAccessBit) && (Dest::InnerStrideAtCompileTime==1)
|
||||
};
|
||||
|
||||
Scalar* EIGEN_RESTRICT actualDest;
|
||||
if (EvalToDest)
|
||||
actualDest = &dest.coeffRef(0);
|
||||
|
||||
Reference in New Issue
Block a user