diff options
author | 2014-03-07 23:18:20 +0100 | |
---|---|---|
committer | 2014-03-07 23:18:20 +0100 | |
commit | ba2f79e6800ca2762821fe5ab537bc5f10a1268a (patch) | |
tree | f712958888656dd03c85654a1a68a0db7ed3c382 /Eigen/src/Core | |
parent | 72461be96227341053abe7c95de366545e2884ed (diff) |
Fix selfadjoint_matrix_vector_product for complex with packet size > 2 (e.g., AVX)
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r-- | Eigen/src/Core/products/SelfadjointMatrixVector.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Eigen/src/Core/products/SelfadjointMatrixVector.h b/Eigen/src/Core/products/SelfadjointMatrixVector.h index f698f67f9..fdc81205a 100644 --- a/Eigen/src/Core/products/SelfadjointMatrixVector.h +++ b/Eigen/src/Core/products/SelfadjointMatrixVector.h @@ -113,9 +113,9 @@ EIGEN_DONT_INLINE void selfadjoint_matrix_vector_product<Scalar,Index,StorageOrd for (size_t i=starti; i<alignedStart; ++i) { - res[i] += t0 * A0[i] + t1 * A1[i]; - t2 += numext::conj(A0[i]) * rhs[i]; - t3 += numext::conj(A1[i]) * rhs[i]; + res[i] += cj0.pmul(A0[i], t0) + cj0.pmul(A1[i],t1); + t2 += cj1.pmul(A0[i], rhs[i]); + t3 += cj1.pmul(A1[i], rhs[i]); } // Yes this an optimization for gcc 4.3 and 4.4 (=> huge speed up) // gcc 4.2 does this optimization automatically. |