17faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// This file is part of Eigen, a lightweight C++ template library
27faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// for linear algebra.
37faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez//
47faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// Copyright (C) 2012 Désiré Nuentsa-Wakam <desire.nuentsa_wakam@inria.fr>
57faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez//
67faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// Eigen is free software; you can redistribute it and/or
77faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// modify it under the terms of the GNU Lesser General Public
87faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// License as published by the Free Software Foundation; either
97faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// version 3 of the License, or (at your option) any later version.
107faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez//
117faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// Alternatively, you can redistribute it and/or
127faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// modify it under the terms of the GNU General Public License as
137faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// published by the Free Software Foundation; either version 2 of
147faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// the License, or (at your option) any later version.
157faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez//
167faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// Eigen is distributed in the hope that it will be useful, but WITHOUT ANY
177faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
187faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License or the
197faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// GNU General Public License for more details.
207faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez//
217faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// You should have received a copy of the GNU Lesser General Public
227faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// License and a copy of the GNU General Public License along with
237faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez// Eigen. If not, see <http://www.gnu.org/licenses/>.
247faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez#include "sparse_solver.h"
257faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez#include <Eigen/SparseLU>
267faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez#include <Eigen/MetisSupport>
277faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez#include <unsupported/Eigen/SparseExtra>
287faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez
297faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandeztemplate<typename T> void test_metis_T()
307faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez{
317faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez  SparseLU<SparseMatrix<T, ColMajor>, MetisOrdering<int> > sparselu_metis;
327faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez
337faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez  check_sparse_square_solving(sparselu_metis);
347faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez}
357faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez
367faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandezvoid test_metis_support()
377faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez{
387faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez  CALL_SUBTEST_1(test_metis_T<double>());
397faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez}
40