Bridge++  Ver. 2.0.2
fprop_alt_Standard_eo.h
Go to the documentation of this file.
1 
10 #ifndef FPROP_ALT_STANDARD_EO_INCLUDED
11 #define FPROP_ALT_STANDARD_EO_INCLUDED
12 
14 
15 #include "lib/Tools/timer.h"
16 
17 #include "lib/Fopr/afopr.h"
19 
20 #include "lib_alt/Solver/asolver.h"
21 
23 
29 template<typename AFIELD>
30 class Fprop_alt_Standard_eo : public Fprop_alt<AFIELD>
31 {
32  public:
33  typedef typename AFIELD::real_t real_t;
34  static const std::string class_name;
37 
38  private:
42 
44  double m_flop_count;
46 
48 
49  public:
50  Fprop_alt_Standard_eo(const Parameters& params_fopr,
51  const Parameters& params_solver)
52  : Fprop_alt<AFIELD>()
53  { init(params_fopr, params_solver); }
54 
55  Fprop_alt_Standard_eo(const Parameters& params_fopr,
56  const Parameters& params_solver,
57  Director_Smear *dr_smear)
58  : Fprop_alt<AFIELD>()
59  { init(params_fopr, params_solver, dr_smear); }
60 
62  { tidyup(); }
63 
64  void set_config(Field *);
65 
66  void invert(Field&, const Field&, int&, double&);
67 
68  void invert_D(Field&, const Field&, int&, double&);
69 
70  void invert_DdagD(Field&, const Field&, int&, double&);
71 
72  // inverter with AFIELD
73  void invert(AFIELD&, const AFIELD&, int&, double&);
74 
75  double flop_count();
76 
77  void reset_performance();
78 
79  void report_performance();
80 
81  void mult_performance(const std::string mode, const int Nrepeat);
82 
83  private:
84 
85  void init(const Parameters& params_fopr,
86  const Parameters& params_solver);
87 
88  void init(const Parameters& params_fopr,
89  const Parameters& params_solver,
90  Director_Smear *dr_smear);
91 
92  void tidyup();
93 
94  void invert_D(AFIELD&, const AFIELD&, int&, double&);
95 
96  void invert_DdagD(AFIELD&, const AFIELD&, int&, double&);
97 
98  void invert_De(AFIELD&, AFIELD&, AFIELD&, AFIELD&, int&, double&);
99 };
100 #endif
director_Smear.h
Fprop_alt_Standard_eo::report_performance
void report_performance()
Definition: fprop_alt_Standard_eo-tmpl.h:447
Fprop_alt_Standard_eo::m_elapsed_time
double m_elapsed_time
Definition: fprop_alt_Standard_eo.h:45
Fprop_alt_Standard_eo::Fprop_alt_Standard_eo
Fprop_alt_Standard_eo(const Parameters &params_fopr, const Parameters &params_solver, Director_Smear *dr_smear)
Definition: fprop_alt_Standard_eo.h:55
AFopr
Definition: afopr.h:48
ASolver
Definition: asolver.h:23
Fprop_alt_Standard_eo::invert
void invert(Field &, const Field &, int &, double &)
invert accordingly to the mode. [22 Sep 2018 H.Matsufuru]
Definition: fprop_alt_Standard_eo-tmpl.h:98
Parameters
Class for parameters.
Definition: parameters.h:46
Fprop_alt_Standard_eo::real_t
AFIELD::real_t real_t
Definition: fprop_alt_Standard_eo.h:33
Fprop_alt_Standard_eo::m_dr_smear
Director_Smear * m_dr_smear
Definition: fprop_alt_Standard_eo.h:47
Fprop_alt_Standard_eo::init
void init(const Parameters &params_fopr, const Parameters &params_solver)
Definition: fprop_alt_Standard_eo-tmpl.h:15
Fprop_alt_Standard_eo::mult_performance
void mult_performance(const std::string mode, const int Nrepeat)
Definition: fprop_alt_Standard_eo-tmpl.h:462
Fprop_alt_Standard_eo::set_config
void set_config(Field *)
Definition: fprop_alt_Standard_eo-tmpl.h:90
fprop_alt.h
Fprop_alt_Standard_eo::flop_count
double flop_count()
Definition: fprop_alt_Standard_eo-tmpl.h:430
Fprop_alt_Standard_eo::m_solver
ASolver< AFIELD > * m_solver
Definition: fprop_alt_Standard_eo.h:41
Fprop_alt_Standard_eo::m_fopr
AFopr< AFIELD > * m_fopr
Definition: fprop_alt_Standard_eo.h:40
Timer
Definition: timer.h:31
Field::real_t
double real_t
Definition: field.h:51
Fprop_alt_Standard_eo::Fprop_alt_Standard_eo
Fprop_alt_Standard_eo(const Parameters &params_fopr, const Parameters &params_solver)
Definition: fprop_alt_Standard_eo.h:50
Fprop_alt
Get quark propagator for Fopr with lexical site index: alternative version.
Definition: fprop_alt.h:29
timer.h
Fprop_alt_Standard_eo::m_kernel
AFopr< AFIELD > * m_kernel
Definition: fprop_alt_Standard_eo.h:39
Fprop_alt_Standard_eo
Get quark propagator for Fopr with lexical site index: alternative version.
Definition: fprop_alt_Standard_eo.h:30
Fprop_alt_Standard_eo::~Fprop_alt_Standard_eo
~Fprop_alt_Standard_eo()
Definition: fprop_alt_Standard_eo.h:61
Fprop_alt_Standard_eo::invert_De
void invert_De(AFIELD &, AFIELD &, AFIELD &, AFIELD &, int &, double &)
Definition: fprop_alt_Standard_eo-tmpl.h:377
Fprop_alt_Standard_eo::reset_performance
void reset_performance()
Definition: fprop_alt_Standard_eo-tmpl.h:438
Fprop_alt_Standard_eo::invert_DdagD
void invert_DdagD(Field &, const Field &, int &, double &)
Definition: fprop_alt_Standard_eo-tmpl.h:178
Fprop_alt_Standard_eo::invert_D
void invert_D(Field &, const Field &, int &, double &)
Definition: fprop_alt_Standard_eo-tmpl.h:118
Director_Smear
Manager of smeared configurations.
Definition: director_Smear.h:39
Fprop_alt_Standard_eo::m_timer
Timer m_timer
Definition: fprop_alt_Standard_eo.h:43
Fprop_alt_Standard_eo::tidyup
void tidyup()
Definition: fprop_alt_Standard_eo-tmpl.h:80
Fprop_alt_Standard_eo::m_flop_count
double m_flop_count
Definition: fprop_alt_Standard_eo.h:44
Field
Container of Field-type object.
Definition: field.h:46
afopr.h
asolver.h
Fprop_alt_Standard_eo::class_name
static const std::string class_name
Definition: fprop_alt_Standard_eo.h:34