aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/pardiso_support.cpp
blob: 67efad6d80450fd6137185330790c81ab4485561 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* 
   Intel Copyright (C) ....
*/

#include "sparse_solver.h"
#include <Eigen/PardisoSupport>

template<typename T> void test_pardiso_T()
{
  PardisoLLT < SparseMatrix<T, RowMajor>, Lower> pardiso_llt_lower;
  PardisoLLT < SparseMatrix<T, RowMajor>, Upper> pardiso_llt_upper;
  PardisoLDLT < SparseMatrix<T, RowMajor>, Lower> pardiso_ldlt_lower;
  PardisoLDLT < SparseMatrix<T, RowMajor>, Upper> pardiso_ldlt_upper;
  PardisoLU  < SparseMatrix<T, RowMajor> > pardiso_lu;

  check_sparse_spd_solving(pardiso_llt_lower);
  check_sparse_spd_solving(pardiso_llt_upper);
  check_sparse_spd_solving(pardiso_ldlt_lower);
  check_sparse_spd_solving(pardiso_ldlt_upper);
  check_sparse_square_solving(pardiso_lu);
}

void test_pardiso_support()
{
  CALL_SUBTEST_1(test_pardiso_T<float>());
  CALL_SUBTEST_2(test_pardiso_T<double>());
  CALL_SUBTEST_3(test_pardiso_T< std::complex<float> >());
  CALL_SUBTEST_4(test_pardiso_T< std::complex<double> >());
}