diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-06-24 22:18:09 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-06-24 22:18:09 +0200 |
commit | f3b875e434285919ea4cc71ac8691090e8731c32 (patch) | |
tree | 874844452dc17f2faca79ce61b8327f4c7abb4f1 /Eigen/src/Core | |
parent | 566867428c6134381c846d98ab86f9d2cc89a3c2 (diff) |
fix infinite loop
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r-- | Eigen/src/Core/products/SelfadjointProduct.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Eigen/src/Core/products/SelfadjointProduct.h b/Eigen/src/Core/products/SelfadjointProduct.h index 9eb5de772..35d5ded21 100644 --- a/Eigen/src/Core/products/SelfadjointProduct.h +++ b/Eigen/src/Core/products/SelfadjointProduct.h @@ -75,7 +75,8 @@ struct ei_selfadjoint_product<Scalar, Index, MatStorageOrder, ColMajor, AAT, UpL Index nc = size; // cache block size along the N direction computeProductBlockingSizes<Scalar,Scalar>(kc, mc, nc); // !!! mc must be a multiple of nr: - mc = (mc/Blocking::nr)*Blocking::nr; + if(mc>Blocking::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; |