diff --git a/test/eigen2/CMakeLists.txt b/test/eigen2/CMakeLists.txt index db3dab4e8..3ca6f5e73 100644 --- a/test/eigen2/CMakeLists.txt +++ b/test/eigen2/CMakeLists.txt @@ -87,7 +87,7 @@ ei_add_test_eigen2(first_aligned) ei_add_test_eigen2(mixingtypes) ei_add_test_eigen2(packetmath) ei_add_test_eigen2(unalignedassert) -ei_add_test_eigen2(vectorization_logic) +#ei_add_test_eigen2(vectorization_logic) ei_add_test_eigen2(basicstuff) ei_add_test_eigen2(linearstructure) ei_add_test_eigen2(cwiseop) diff --git a/test/eigen2/vectorization_logic.cpp b/test/eigen2/vectorization_logic.cpp deleted file mode 100644 index 24787dc02..000000000 --- a/test/eigen2/vectorization_logic.cpp +++ /dev/null @@ -1,116 +0,0 @@ -// This file is part of Eigen, a lightweight C++ template library -// for linear algebra. Eigen itself is part of the KDE project. -// -// Copyright (C) 2008 Gael Guennebaud -// -// Eigen is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 3 of the License, or (at your option) any later version. -// -// Alternatively, you can redistribute it and/or -// modify it under the terms of the GNU General Public License as -// published by the Free Software Foundation; either version 2 of -// the License, or (at your option) any later version. -// -// Eigen is distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License or the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License and a copy of the GNU General Public License along with -// Eigen. If not, see . - -#include "main.h" -#include - -template -bool test_assign(const Dst&, const Src&, int vectorization, int unrolling) -{ - return ei_assign_traits::Vectorization==vectorization - && ei_assign_traits::Unrolling==unrolling; -} - -template -bool test_sum(const Xpr&, int vectorization, int unrolling) -{ - return ei_sum_traits::Vectorization==vectorization - && ei_sum_traits::Unrolling==unrolling; -} - -void test_vectorization_logic() -{ - -#ifdef EIGEN_VECTORIZE - -#ifdef EIGEN_DEFAULT_TO_ROW_MAJOR - VERIFY(test_assign(Vector4f(),Vector4f(), - LinearVectorization,CompleteUnrolling)); - VERIFY(test_assign(Vector4f(),Vector4f()+Vector4f(), - LinearVectorization,CompleteUnrolling)); - VERIFY(test_assign(Vector4f(),Vector4f().cwise() * Vector4f(), - LinearVectorization,CompleteUnrolling)); -#else - VERIFY(test_assign(Vector4f(),Vector4f(), - InnerVectorization,CompleteUnrolling)); - VERIFY(test_assign(Vector4f(),Vector4f()+Vector4f(), - InnerVectorization,CompleteUnrolling)); - VERIFY(test_assign(Vector4f(),Vector4f().cwise() * Vector4f(), - InnerVectorization,CompleteUnrolling)); -#endif - - VERIFY(test_assign(Matrix4f(),Matrix4f(), - InnerVectorization,CompleteUnrolling)); - VERIFY(test_assign(Matrix4f(),Matrix4f()+Matrix4f(), - InnerVectorization,CompleteUnrolling)); - VERIFY(test_assign(Matrix4f(),Matrix4f().cwise() * Matrix4f(), - InnerVectorization,CompleteUnrolling)); - - VERIFY(test_assign(Matrix(),Matrix()+Matrix(), - InnerVectorization,InnerUnrolling)); - - VERIFY(test_assign(Matrix(),Matrix()+Matrix(), - NoVectorization,InnerUnrolling)); - - VERIFY(test_assign(Matrix(),Matrix().cwise() / Matrix(), - LinearVectorization,CompleteUnrolling)); - - VERIFY(test_assign(Matrix(),Matrix()+Matrix(), - NoVectorization,InnerUnrolling)); - - VERIFY(test_assign(Matrix(),Matrix().block<4,4>(2,3)+Matrix().block<4,4>(10,4), - NoVectorization,CompleteUnrolling)); - - VERIFY(test_assign(MatrixXf(10,10),MatrixXf(20,20).block(10,10,2,3), - SliceVectorization,NoUnrolling)); - - VERIFY(test_assign(VectorXf(10),VectorXf(10)+VectorXf(10), - LinearVectorization,NoUnrolling)); - - VERIFY(test_sum(VectorXf(10), - LinearVectorization,NoUnrolling)); - - VERIFY(test_sum(Matrix(), - NoVectorization,CompleteUnrolling)); - - VERIFY(test_sum(Matrix(), - LinearVectorization,CompleteUnrolling)); - - VERIFY(test_sum(Matrix(), - LinearVectorization,NoUnrolling)); - - VERIFY(test_sum(Matrix().block<4,4>(1,2), - NoVectorization,CompleteUnrolling)); - -#ifndef EIGEN_DEFAULT_TO_ROW_MAJOR - VERIFY(test_sum(Matrix().block<8,1>(1,2), - LinearVectorization,CompleteUnrolling)); -#endif - - VERIFY(test_sum(Matrix(), - NoVectorization,CompleteUnrolling)); - -#endif // EIGEN_VECTORIZE - -}