Bridge++  Ver. 2.0.2
aprecond_Mixedprec.h
Go to the documentation of this file.
1 #ifndef APRECOND_MIXEDPREC_H
2 #define APRECOND_MIXEDPREC_H
3 
4 #include <cstdio>
5 #include <cstdlib>
6 
7 #include <string>
8 using std::string;
9 #include <vector>
10 using std::vector;
11 
13 #include "lib/Fopr/afopr.h"
14 #include "lib/IO/bridgeIO.h"
15 using Bridge::vout;
16 
18 
20 
21 // temporary
23 
24 
25 class Field;
26 
27 template<typename AFIELD, typename AFIELD2>
28 class APrecond_Mixedprec : public APrecond<AFIELD>
29 {
30  public:
31  typedef typename AFIELD::real_t real_t;
32  typedef typename AFIELD2::real_t real_t2;
33  static const std::string class_name;
34 
36 
37  private:
39  AFIELD2 m_v2, m_w2;
40 
42 
43  double m_accum_flop;
44 
45  public:
46 
48  {
49  m_solver = solver;
50  init();
51  }
52 
55  {
56  tidyup();
57  }
58 
59  void mult(AFIELD&, const AFIELD&);
60 
61  void reset_flop_count();
62 
63  double flop_count();
64 
65  private:
66  void init();
67  void tidyup();
68 };
69 
70 #endif // APRECOND_MIXEDPREC_H
APrecond_Mixedprec::LEXICAL
@ LEXICAL
Definition: aprecond_Mixedprec.h:35
bridgeIO.h
ASolver< AFIELD2 >
afield_base.h
asolver_BiCGStab.h
APrecond
Definition: aprecond.h:28
APrecond_Mixedprec::~APrecond_Mixedprec
~APrecond_Mixedprec()
Definition: aprecond_Mixedprec.h:54
APrecond_Mixedprec::tidyup
void tidyup()
Definition: aprecond_Mixedprec-tmpl.h:46
APrecond_Mixedprec::m_v2
AFIELD2 m_v2
Definition: aprecond_Mixedprec.h:39
APrecond_Mixedprec::m_w2
AFIELD2 m_w2
Definition: aprecond_Mixedprec.h:39
APrecond_Mixedprec::reset_flop_count
void reset_flop_count()
Definition: aprecond_Mixedprec-tmpl.h:112
real_t
double real_t
Definition: bridgeQXS_Clover_coarse_double.cpp:16
Field::real_t
double real_t
Definition: field.h:51
APrecond_Mixedprec::real_t2
AFIELD2::real_t real_t2
Definition: aprecond_Mixedprec.h:32
APrecond_Mixedprec::m_accum_flop
double m_accum_flop
Definition: aprecond_Mixedprec.h:43
APrecond_Mixedprec::field_type
field_type
Definition: aprecond_Mixedprec.h:35
APrecond_Mixedprec::real_t
AFIELD::real_t real_t
Definition: aprecond_Mixedprec.h:31
APrecond_Mixedprec::m_field_type
field_type m_field_type
Definition: aprecond_Mixedprec.h:41
APrecond_Mixedprec::flop_count
double flop_count()
Definition: aprecond_Mixedprec-tmpl.h:123
Test_Solver_Wilson::solver
int solver(const std::string &)
Definition: test_Solver_Wilson.cpp:134
APrecond_Mixedprec::class_name
static const std::string class_name
Definition: aprecond_Mixedprec.h:33
APrecond_Mixedprec
Definition: aprecond_Mixedprec.h:28
aprecond.h
APrecond_Mixedprec::m_solver
ASolver< AFIELD2 > * m_solver
Definition: aprecond_Mixedprec.h:38
commonParameters.h
Field
Container of Field-type object.
Definition: field.h:46
afopr.h
APrecond_Mixedprec::EVEN_ODD
@ EVEN_ODD
Definition: aprecond_Mixedprec.h:35
APrecond_Mixedprec::init
void init()
Definition: aprecond_Mixedprec-tmpl.h:19
Bridge::vout
BridgeIO vout
Definition: bridgeIO.cpp:512
APrecond_Mixedprec::mult
void mult(AFIELD &, const AFIELD &)
Definition: aprecond_Mixedprec-tmpl.h:55