Revision 795181

Go back to digest for 13th April 2008

Features in Other

Gael Guennebaud committed changes in /branches/work/eigen2:

Added initial experimental support for explicit vectorization.

Currently only the following platform/operations are supported:
- SSE2 compatible architecture
- compiler compatible with intel's SSE2 intrinsics
- float, double and int data types
- fixed size matrices with a storage major dimension multiple of 4 (or 2 for double)
- scalar-matrix product, component wise: +,-,*,min,max
- matrix-matrix product only if the left matrix is vectorizable and column major or the right matrix is vectorizable and row major, e.g.: a.transpose() * b is not vectorized with the default column major storage.

To use it you must define EIGEN_VECTORIZE and EIGEN_INTEL_PLATFORM.

File Changes

Added 1 files
  • /branches/work/eigen2/Eigen/src/Core/PacketMath.h
Modified 24 files
  • /branches/work/eigen2
  •   /Eigen/Core
  •   /test/main.h
  •   /Eigen/src/Core/Block.h
  •   /Eigen/src/Core/CwiseBinaryOp.h
  •   /Eigen/src/Core/CwiseUnaryOp.h
  •   /Eigen/src/Core/DiagonalCoeffs.h
  •   /Eigen/src/Core/DiagonalMatrix.h
  •   /Eigen/src/Core/ForwardDeclarations.h
  •   /Eigen/src/Core/Functors.h
  •   /Eigen/src/Core/Identity.h
  •   /Eigen/src/Core/Map.h
  •   /Eigen/src/Core/Matrix.h
  •   /Eigen/src/Core/MatrixBase.h
  •   /Eigen/src/Core/MatrixStorage.h
  •   /Eigen/src/Core/Minor.h
  •   /Eigen/src/Core/NumTraits.h
  •   /Eigen/src/Core/Ones.h
  •   /Eigen/src/Core/OperatorEquals.h
  •   /Eigen/src/Core/Product.h
  •   /Eigen/src/Core/Random.h
  •   /Eigen/src/Core/Redux.h
  •   /Eigen/src/Core/Transpose.h
  •   /Eigen/src/Core/Util.h
  •   /Eigen/src/Core/Zero.h
25 files changed in total