diff --git a/test/solver/solver.cpp b/test/solver/solver.cpp index b6f228c13f5..7eb690a211f 100644 --- a/test/solver/solver.cpp +++ b/test/solver/solver.cpp @@ -50,6 +50,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include #include #include @@ -212,6 +213,21 @@ struct Ir : SimpleSolverTest> { }; +struct Chebyshev : SimpleSolverTest> { + static double tolerance() { return 1e7 * r::value; } + + static typename solver_type::parameters_type build_preconditioned( + std::shared_ptr exec, + gko::size_type iteration_count, bool check_residual = true) + { + return SimpleSolverTest>:: + build(exec, iteration_count, check_residual) + .with_preconditioner( + precond_type::build().with_max_block_size(1u).on(exec)); + } +}; + + template struct CbGmres : SimpleSolverTest> { static constexpr bool will_not_allocate() { return false; } @@ -927,9 +943,9 @@ using SolverTypes = ::testing::Types, Idr<4>,*/ - Ir, CbGmres<2>, CbGmres<10>, Gmres<2>, Gmres<10>, - FGmres<2>, FGmres<10>, Gcr<2>, Gcr<10>, LowerTrs, UpperTrs, - LowerTrsUnitdiag, UpperTrsUnitdiag + Ir, Chebyshev, CbGmres<2>, CbGmres<10>, Gmres<2>, + Gmres<10>, FGmres<2>, FGmres<10>, Gcr<2>, Gcr<10>, + LowerTrs, UpperTrs, LowerTrsUnitdiag, UpperTrsUnitdiag #ifdef GKO_COMPILING_CUDA , LowerTrsSyncfree, UpperTrsSyncfree,