diff options
Diffstat (limited to 'eigen/test/bicgstab.cpp')
-rw-r--r-- | eigen/test/bicgstab.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/eigen/test/bicgstab.cpp b/eigen/test/bicgstab.cpp index f327e2f..4cc0dd3 100644 --- a/eigen/test/bicgstab.cpp +++ b/eigen/test/bicgstab.cpp @@ -10,13 +10,16 @@ #include "sparse_solver.h" #include <Eigen/IterativeLinearSolvers> -template<typename T> void test_bicgstab_T() +template<typename T, typename I> void test_bicgstab_T() { - BiCGSTAB<SparseMatrix<T>, DiagonalPreconditioner<T> > bicgstab_colmajor_diag; - BiCGSTAB<SparseMatrix<T>, IdentityPreconditioner > bicgstab_colmajor_I; - BiCGSTAB<SparseMatrix<T>, IncompleteLUT<T> > bicgstab_colmajor_ilut; + BiCGSTAB<SparseMatrix<T,0,I>, DiagonalPreconditioner<T> > bicgstab_colmajor_diag; + BiCGSTAB<SparseMatrix<T,0,I>, IdentityPreconditioner > bicgstab_colmajor_I; + BiCGSTAB<SparseMatrix<T,0,I>, IncompleteLUT<T,I> > bicgstab_colmajor_ilut; //BiCGSTAB<SparseMatrix<T>, SSORPreconditioner<T> > bicgstab_colmajor_ssor; + bicgstab_colmajor_diag.setTolerance(NumTraits<T>::epsilon()*4); + bicgstab_colmajor_ilut.setTolerance(NumTraits<T>::epsilon()*4); + CALL_SUBTEST( check_sparse_square_solving(bicgstab_colmajor_diag) ); // CALL_SUBTEST( check_sparse_square_solving(bicgstab_colmajor_I) ); CALL_SUBTEST( check_sparse_square_solving(bicgstab_colmajor_ilut) ); @@ -25,6 +28,7 @@ template<typename T> void test_bicgstab_T() void test_bicgstab() { - CALL_SUBTEST_1(test_bicgstab_T<double>()); - CALL_SUBTEST_2(test_bicgstab_T<std::complex<double> >()); + CALL_SUBTEST_1((test_bicgstab_T<double,int>()) ); + CALL_SUBTEST_2((test_bicgstab_T<std::complex<double>, int>())); + CALL_SUBTEST_3((test_bicgstab_T<double,long int>())); } |