Test vectorization logic for int

This commit is contained in:
Christoph Hertzberg 2014-07-14 14:36:20 +02:00
parent a20e2462bf
commit 4f440b8123

View File

@ -77,8 +77,9 @@ bool test_redux(const Xpr&, int traversal, int unrolling)
template<typename Scalar, bool Enable = internal::packet_traits<Scalar>::Vectorizable> struct vectorization_logic template<typename Scalar, bool Enable = internal::packet_traits<Scalar>::Vectorizable> struct vectorization_logic
{ {
typedef internal::packet_traits<Scalar> PacketTraits;
enum { enum {
PacketSize = internal::packet_traits<Scalar>::size PacketSize = PacketTraits::size
}; };
static void run() static void run()
{ {
@ -151,7 +152,7 @@ template<typename Scalar, bool Enable = internal::packet_traits<Scalar>::Vectori
LinearTraversal,CompleteUnrolling)); LinearTraversal,CompleteUnrolling));
VERIFY(test_assign(Matrix3(),Matrix3().cwiseQuotient(Matrix3()), VERIFY(test_assign(Matrix3(),Matrix3().cwiseQuotient(Matrix3()),
LinearVectorizedTraversal,CompleteUnrolling)); PacketTraits::HasDiv ? LinearVectorizedTraversal : LinearTraversal,CompleteUnrolling));
VERIFY(test_assign(Matrix<Scalar,17,17>(),Matrix<Scalar,17,17>()+Matrix<Scalar,17,17>(), VERIFY(test_assign(Matrix<Scalar,17,17>(),Matrix<Scalar,17,17>()+Matrix<Scalar,17,17>(),
LinearTraversal,NoUnrolling)); LinearTraversal,NoUnrolling));
@ -209,6 +210,7 @@ void test_vectorization_logic()
#ifdef EIGEN_VECTORIZE #ifdef EIGEN_VECTORIZE
CALL_SUBTEST( vectorization_logic<int>::run() );
CALL_SUBTEST( vectorization_logic<float>::run() ); CALL_SUBTEST( vectorization_logic<float>::run() );
CALL_SUBTEST( vectorization_logic<double>::run() ); CALL_SUBTEST( vectorization_logic<double>::run() );
CALL_SUBTEST( vectorization_logic<std::complex<float> >::run() ); CALL_SUBTEST( vectorization_logic<std::complex<float> >::run() );