From f0238cfb6997c4acfc2bd200de7295f3fa36968f Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 3 Mar 2019 21:09:10 +0100 Subject: don't index Eigen --- eigen/test/zerosized.cpp | 102 ----------------------------------------------- 1 file changed, 102 deletions(-) delete mode 100644 eigen/test/zerosized.cpp (limited to 'eigen/test/zerosized.cpp') diff --git a/eigen/test/zerosized.cpp b/eigen/test/zerosized.cpp deleted file mode 100644 index 477ff00..0000000 --- a/eigen/test/zerosized.cpp +++ /dev/null @@ -1,102 +0,0 @@ -// This file is part of Eigen, a lightweight C++ template library -// for linear algebra. -// -// Copyright (C) 2011 Benoit Jacob -// -// This Source Code Form is subject to the terms of the Mozilla -// Public License v. 2.0. If a copy of the MPL was not distributed -// with this file, You can obtain one at http://mozilla.org/MPL/2.0/. - -#include "main.h" - - -template void zeroReduction(const MatrixType& m) { - // Reductions that must hold for zero sized objects - VERIFY(m.all()); - VERIFY(!m.any()); - VERIFY(m.prod()==1); - VERIFY(m.sum()==0); - VERIFY(m.count()==0); - VERIFY(m.allFinite()); - VERIFY(!m.hasNaN()); -} - - -template void zeroSizedMatrix() -{ - MatrixType t1; - typedef typename MatrixType::Scalar Scalar; - - if (MatrixType::SizeAtCompileTime == Dynamic || MatrixType::SizeAtCompileTime == 0) - { - zeroReduction(t1); - if (MatrixType::RowsAtCompileTime == Dynamic) - VERIFY(t1.rows() == 0); - if (MatrixType::ColsAtCompileTime == Dynamic) - VERIFY(t1.cols() == 0); - - if (MatrixType::RowsAtCompileTime == Dynamic && MatrixType::ColsAtCompileTime == Dynamic) - { - - MatrixType t2(0, 0), t3(t1); - VERIFY(t2.rows() == 0); - VERIFY(t2.cols() == 0); - - zeroReduction(t2); - VERIFY(t1==t2); - } - } - - if(MatrixType::MaxColsAtCompileTime!=0 && MatrixType::MaxRowsAtCompileTime!=0) - { - Index rows = MatrixType::RowsAtCompileTime==Dynamic ? internal::random(1,10) : Index(MatrixType::RowsAtCompileTime); - Index cols = MatrixType::ColsAtCompileTime==Dynamic ? internal::random(1,10) : Index(MatrixType::ColsAtCompileTime); - MatrixType m(rows,cols); - zeroReduction(m.template block<0,MatrixType::ColsAtCompileTime>(0,0,0,cols)); - zeroReduction(m.template block(0,0,rows,0)); - zeroReduction(m.template block<0,1>(0,0)); - zeroReduction(m.template block<1,0>(0,0)); - Matrix prod = m.template block(0,0,rows,0) * m.template block<0,MatrixType::ColsAtCompileTime>(0,0,0,cols); - VERIFY(prod.rows()==rows && prod.cols()==cols); - VERIFY(prod.isZero()); - prod = m.template block<1,0>(0,0) * m.template block<0,1>(0,0); - VERIFY(prod.size()==1); - VERIFY(prod.isZero()); - } -} - -template void zeroSizedVector() -{ - VectorType t1; - - if (VectorType::SizeAtCompileTime == Dynamic || VectorType::SizeAtCompileTime==0) - { - zeroReduction(t1); - VERIFY(t1.size() == 0); - VectorType t2(DenseIndex(0)); // DenseIndex disambiguates with 0-the-null-pointer (error with gcc 4.4 and MSVC8) - VERIFY(t2.size() == 0); - zeroReduction(t2); - - VERIFY(t1==t2); - } -} - -void test_zerosized() -{ - zeroSizedMatrix(); - zeroSizedMatrix(); - zeroSizedMatrix >(); - zeroSizedMatrix(); - zeroSizedMatrix >(); - zeroSizedMatrix >(); - zeroSizedMatrix >(); - zeroSizedMatrix >(); - zeroSizedMatrix >(); - zeroSizedMatrix >(); - - zeroSizedVector(); - zeroSizedVector(); - zeroSizedVector(); - zeroSizedVector >(); - zeroSizedVector >(); -} -- cgit v1.2.3