diff options
author | Gael Guennebaud <g.gael@free.fr> | 2008-05-05 10:23:29 +0000 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2008-05-05 10:23:29 +0000 |
commit | 46fa4c713fa2fdb472e287cad95b5933135e6503 (patch) | |
tree | 451b02d2b48dda665d7f2c924c30b2ab03cf75cb /Eigen/src/Core/CwiseBinaryOp.h | |
parent | 8c6007f80e773ca3661c5a323d8e28ce49a609b3 (diff) |
* Started support for unaligned vectorization.
* Introduce a new highly optimized matrix-matrix product for large
matrices. The code is still highly experimental and it is activated
only if you define EIGEN_WIP_PRODUCT at compile time.
Currently the third dimension of the product must be a factor of
the packet size (x4 for floats) and the right handed side matrix
must be column major.
Moreover, currently c = a*b; actually computes c += a*b !!
Therefore, the code is provided for experimentation purpose only !
These limitations will be fixed soon or later to become the default
product implementation.
Diffstat (limited to 'Eigen/src/Core/CwiseBinaryOp.h')
-rw-r--r-- | Eigen/src/Core/CwiseBinaryOp.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Eigen/src/Core/CwiseBinaryOp.h b/Eigen/src/Core/CwiseBinaryOp.h index 3de3e2dd5..31afbe0f1 100644 --- a/Eigen/src/Core/CwiseBinaryOp.h +++ b/Eigen/src/Core/CwiseBinaryOp.h @@ -103,9 +103,10 @@ class CwiseBinaryOp : ei_no_assignment_operator, return m_functor(m_lhs.coeff(row, col), m_rhs.coeff(row, col)); } + template<int LoadMode> PacketScalar _packetCoeff(int row, int col) const { - return m_functor.packetOp(m_lhs.packetCoeff(row, col), m_rhs.packetCoeff(row, col)); + return m_functor.packetOp(m_lhs.template packetCoeff<LoadMode>(row, col), m_rhs.template packetCoeff<LoadMode>(row, col)); } protected: |