mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
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.
This commit is contained in:
@@ -57,7 +57,6 @@ template<> struct NumTraits<int>
|
||||
ReadCost = 1,
|
||||
AddCost = 1,
|
||||
MulCost = 1,
|
||||
PacketSize = 4
|
||||
};
|
||||
};
|
||||
|
||||
@@ -71,7 +70,6 @@ template<> struct NumTraits<float>
|
||||
ReadCost = 1,
|
||||
AddCost = 1,
|
||||
MulCost = 1,
|
||||
PacketSize = 4
|
||||
};
|
||||
};
|
||||
|
||||
@@ -85,7 +83,6 @@ template<> struct NumTraits<double>
|
||||
ReadCost = 1,
|
||||
AddCost = 1,
|
||||
MulCost = 1,
|
||||
PacketSize = 2
|
||||
};
|
||||
};
|
||||
|
||||
@@ -99,7 +96,6 @@ template<typename _Real> struct NumTraits<std::complex<_Real> >
|
||||
ReadCost = 2,
|
||||
AddCost = 2 * NumTraits<Real>::AddCost,
|
||||
MulCost = 4 * NumTraits<Real>::MulCost + 2 * NumTraits<Real>::AddCost,
|
||||
PacketSize = 0
|
||||
};
|
||||
};
|
||||
|
||||
@@ -113,7 +109,6 @@ template<> struct NumTraits<long long int>
|
||||
ReadCost = 1,
|
||||
AddCost = 1,
|
||||
MulCost = 1,
|
||||
PacketSize = 0
|
||||
};
|
||||
};
|
||||
|
||||
@@ -127,7 +122,6 @@ template<> struct NumTraits<long double>
|
||||
ReadCost = 1,
|
||||
AddCost = 2,
|
||||
MulCost = 2,
|
||||
PacketSize = 0
|
||||
};
|
||||
};
|
||||
|
||||
@@ -141,7 +135,6 @@ template<> struct NumTraits<bool>
|
||||
ReadCost = 1,
|
||||
AddCost = 1,
|
||||
MulCost = 1,
|
||||
PacketSize = 0
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user