00001 00006 #ifndef bicgstabTest_hh 00007 #define bicgstabTest_hh 00008 00009 #include "basics/testcase.hh" 00010 #include "space/space.hh" 00011 00012 namespace test { 00013 00018 class BiCgStabTest : public TestCase { 00019 public: 00020 BiCgStabTest() : spc(5) {} 00021 virtual ~BiCgStabTest() {} 00022 virtual void run(); 00023 00025 00026 void denseMatrixReal(); 00027 void sparseMatrixReal(); 00028 void denseMatrixCmplx(); 00029 void sparseMatrixCmplx(); 00030 00032 template<class F> 00033 void testNormal(concepts::Matrix<F>& m, 00034 concepts::Vector<F>& rhs, 00035 F res[5]); 00037 template<class F, class G> 00038 void testPrecond(concepts::Matrix<F>& m, concepts::Operator<G>& p, 00039 concepts::Operator<G>& pinv, 00040 concepts::Vector<F>& rhs, F res[5]); 00042 private: 00043 concepts::DummySpace<concepts::Real> spc; 00044 }; 00045 00046 } // namespace test 00047 00048 #endif // bicgstabTest_hh