aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-03-07 23:18:20 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-03-07 23:18:20 +0100
commitba2f79e6800ca2762821fe5ab537bc5f10a1268a (patch)
treef712958888656dd03c85654a1a68a0db7ed3c382 /Eigen/src/Core
parent72461be96227341053abe7c95de366545e2884ed (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.h6
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.