2023-12-06 05:22:55 +08:00
|
|
|
/*
|
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
|
|
|
|
2023-12-06 05:22:55 +08:00
|
|
|
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;
|
2011-12-05 15:52:21 +08:00
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
|
2023-12-06 05:22:55 +08:00
|
|
|
EIGEN_DECLARE_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>());
|
2023-12-06 05:22:55 +08:00
|
|
|
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
|
|
|
}
|