COSC-4P80-Assignment-2/lib/eigen-3.4.0/test/pardiso_support.cpp

30 lines
955 B
C++

/*
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);
}
EIGEN_DECLARE_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> >());
}