Class documentation of Concepts

Loading...
Searching...
No Matches
cgUzawaFabric.hh
Go to the documentation of this file.
1
6#ifndef CGUzawafabric_hh
7#define CGUzawafabric_hh
8
9#if __GNUC__ == 2
10# include <float.h>
11# define EPS DBL_EPSILON
12#else
13# include <limits>
14# define EPS std::numeric_limits<double>::epsilon()
15#endif
16#include "cgUzawa.hh"
18
19using concepts::Real;
20
21namespace vectorial {
22
23 // ********************************************************* CGUzawaFabric **
24
33 public:
43 Real maxeps = EPS,
44 int maxit = 0, uint relres = 0)
45 : A_(A), B_(B), Bt_(Bt), C_(C), Ai_(Ai),
46 maxeps_(maxeps), maxit_(maxit), relres_(relres) { }
47 virtual concepts::Operator<Real>* operator()
48 (concepts::Operator<Real>& matrix) {
49 return new CGUzawa(A_, B_, Bt_, C_, Ai_, maxeps_, maxit_, relres_);
50 }
51 protected:
52 virtual std::ostream& info(std::ostream& os) const {
53 return os << concepts::typeOf(*this)<<"(maxeps = " << maxeps_ << ", maxit = "
54 << maxit_ << ", relres = " << relres_ << ")";
55 }
56 private:
68 Real maxeps_;
70 int maxit_;
72 uint relres_;
73 };
74
75} // namespace vectorial
76
77#endif // CGUzawafabric_hh
CGUzawaFabric(concepts::Operator< Real > &A, concepts::Operator< Real > &B, concepts::Operator< Real > &Bt, concepts::Operator< Real > &C, concepts::Operator< Real > &Ai, Real maxeps=EPS, int maxit=0, uint relres=0)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
std::string typeOf(const T &t)
Definition output.hh:43
double Real
Definition typedefs.hh:39