umfpack_support.cpp (1171B)
1 // This file is part of Eigen, a lightweight C++ template library 2 // for linear algebra. 3 // 4 // Copyright (C) 2011 Gael Guennebaud <g.gael@free.fr> 5 // 6 // This Source Code Form is subject to the terms of the Mozilla 7 // Public License v. 2.0. If a copy of the MPL was not distributed 8 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 10 #define EIGEN_NO_DEBUG_SMALL_PRODUCT_BLOCKS 11 #include "sparse_solver.h" 12 13 #include <Eigen/UmfPackSupport> 14 15 template<typename T1, typename T2> void test_umfpack_support_T() 16 { 17 UmfPackLU<SparseMatrix<T1, ColMajor, T2> > umfpack_colmajor; 18 UmfPackLU<SparseMatrix<T1, RowMajor, T2> > umfpack_rowmajor; 19 20 check_sparse_square_solving(umfpack_colmajor); 21 check_sparse_square_solving(umfpack_rowmajor); 22 23 check_sparse_square_determinant(umfpack_colmajor); 24 check_sparse_square_determinant(umfpack_rowmajor); 25 } 26 27 EIGEN_DECLARE_TEST(umfpack_support) 28 { 29 CALL_SUBTEST_1((test_umfpack_support_T<double, int>())); 30 CALL_SUBTEST_2((test_umfpack_support_T<std::complex<double>, int>())); 31 CALL_SUBTEST_3((test_umfpack_support_T<double, long >())); 32 CALL_SUBTEST_4((test_umfpack_support_T<std::complex<double>, long>())); 33 } 34