From af38bccd3d5a5b2a67e3a0ee39a48ad1cf6e2084 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 24 Jun 2010 16:26:27 +0200 Subject: [PATCH] fix syrk --- Eigen/src/Core/products/SelfadjointProduct.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Eigen/src/Core/products/SelfadjointProduct.h b/Eigen/src/Core/products/SelfadjointProduct.h index 8ce797cff..9eb5de772 100644 --- a/Eigen/src/Core/products/SelfadjointProduct.h +++ b/Eigen/src/Core/products/SelfadjointProduct.h @@ -74,6 +74,8 @@ struct ei_selfadjoint_product(kc, mc, nc); + // !!! mc must be a multiple of nr: + mc = (mc/Blocking::nr)*Blocking::nr; Scalar* blockA = ei_aligned_stack_new(Scalar, kc*mc); std::size_t sizeB = kc*Blocking::PacketSize*Blocking::nr + kc*size; @@ -142,7 +144,7 @@ SelfAdjointView& SelfAdjointView ei_selfadjoint_product::Flags&RowMajorBit ? RowMajor : ColMajor, + MatrixType::Flags&RowMajorBit ? RowMajor : ColMajor, !UBlasTraits::NeedToConjugate, UpLo> ::run(_expression().cols(), actualU.cols(), &actualU.coeff(0,0), actualU.outerStride(), const_cast(_expression().data()), _expression().outerStride(), actualAlpha);