2011-12-05 15:52:21 +08:00
|
|
|
/*
|
|
|
|
Intel Copyright (C) ....
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "sparse_solver.h"
|
2012-02-27 20:23:21 +08:00
|
|
|
#include <Eigen/PardisoSupport>
|
2011-12-05 15:52:21 +08:00
|
|
|
|
|
|
|
template<typename T> void test_pardiso_T()
|
|
|
|
{
|
2012-02-27 20:23:21 +08:00
|
|
|
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;
|
2011-12-05 15:52:21 +08:00
|
|
|
PardisoLU < SparseMatrix<T, RowMajor> > pardiso_lu;
|
|
|
|
|
2012-02-27 20:23:21 +08:00
|
|
|
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);
|
2011-12-05 15:52:21 +08:00
|
|
|
check_sparse_square_solving(pardiso_lu);
|
|
|
|
}
|
|
|
|
|
|
|
|
void test_pardiso_support()
|
|
|
|
{
|
2012-03-29 20:32:54 +08:00
|
|
|
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> >());
|
2011-12-05 15:52:21 +08:00
|
|
|
}
|