Class documentation of Concepts

Loading...
Searching...
No Matches
bramblePasciakFabric.hh
Go to the documentation of this file.
1
6#ifndef BramblePasciakfabric_hh
7#define BramblePasciakfabric_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 "bramblePasciak.hh"
18
19namespace vectorial {
20
21 using concepts::Real;
22
23 // ************************************************** BramblePasciakFabric **
24
34 public:
46 Real maxeps = EPS,
47 int maxit = 0, uint relres = 0)
48 : A_(A), B_(B), Bt_(Bt), C_(C), W_(W),
49 maxeps_(maxeps), maxit_(maxit), relres_(relres) { }
50 virtual concepts::Operator<Real>* operator()
51 (concepts::Operator<Real>& matrix) {
52 return new BramblePasciak(A_, B_, Bt_, C_, W_, maxeps_, maxit_,
53 relres_);
54 }
55 protected:
56 virtual std::ostream& info(std::ostream& os) const {
57 return os << concepts::typeOf(*this)<<"(maxeps = " << maxeps_ << ", maxit = "
58 << maxit_ << ", relres = " << relres_ << ")";
59 }
60 private:
72 Real maxeps_;
74 int maxit_;
76 uint relres_;
77 };
78
79} // namespace vectorial
80
81#endif // BramblePasciakfabric_hh
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
BramblePasciakFabric(concepts::Operator< Real > &A, concepts::Operator< Real > &B, concepts::Operator< Real > &Bt, concepts::Operator< Real > &C, concepts::Operator< Real > &W, Real maxeps=EPS, int maxit=0, uint relres=0)
std::string typeOf(const T &t)
Definition output.hh:43
double Real
Definition typedefs.hh:39