1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath/*
2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath   Intel Copyright (C) ....
3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath*/
4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "sparse_solver.h"
6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <Eigen/PardisoSupport>
7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathtemplate<typename T> void test_pardiso_T()
9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{
10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  PardisoLLT < SparseMatrix<T, RowMajor>, Lower> pardiso_llt_lower;
11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  PardisoLLT < SparseMatrix<T, RowMajor>, Upper> pardiso_llt_upper;
12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  PardisoLDLT < SparseMatrix<T, RowMajor>, Lower> pardiso_ldlt_lower;
13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  PardisoLDLT < SparseMatrix<T, RowMajor>, Upper> pardiso_ldlt_upper;
14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  PardisoLU  < SparseMatrix<T, RowMajor> > pardiso_lu;
15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  check_sparse_spd_solving(pardiso_llt_lower);
17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  check_sparse_spd_solving(pardiso_llt_upper);
18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  check_sparse_spd_solving(pardiso_ldlt_lower);
19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  check_sparse_spd_solving(pardiso_ldlt_upper);
20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  check_sparse_square_solving(pardiso_lu);
21c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath}
22c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
23c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid test_pardiso_support()
24c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{
25c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  CALL_SUBTEST_1(test_pardiso_T<float>());
26c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  CALL_SUBTEST_2(test_pardiso_T<double>());
27c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  CALL_SUBTEST_3(test_pardiso_T< std::complex<float> >());
28c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  CALL_SUBTEST_4(test_pardiso_T< std::complex<double> >());
29c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath}
30