30 const int Nin = b.
nin();
31 const int Nvol = b.
nvol();
32 const int Nex = b.
nex();
34 Field Be(Nin, Nvol / 2, Nex);
35 Field bo(Nin, Nvol / 2, Nex);
36 Field xe(Nin, Nvol / 2, Nex);
60 const int Nin = b.
nin();
61 const int Nvol = b.
nvol();
62 const int Nex = b.
nex();
64 Field Be(Nin, Nvol / 2, Nex);
65 Field bo(Nin, Nvol / 2, Nex);
66 Field xe(Nin, Nvol / 2, Nex);
68 int Nconv1 = 0, Nconv2 = 0;
69 double diff1 = 1.0, diff2 = 1.0;
94 Nconv = 2 * (Nconv1 + Nconv2);
97 diff = (diff1 + diff2) / 2.0;
115 if (flop_fopr < eps) {
120 const double flop_axpy =
static_cast<double>(Nin * Nex * 2) * (Nvol / 2 * NPE);
122 const double flop_preProp = flop_fopr + flop_axpy;
124 const double flop_postProp = flop_fopr + flop_axpy;
126 const double flop = flop_preProp + 2 * flop_solver + flop_postProp;
static double epsilon_criterion()
virtual void set_config(Field *)=0
setting pointer to the gauge configuration.
virtual void postProp(Field &, const Field &, const Field &)=0
Container of Field-type object.
static const std::string class_name
virtual Fopr * get_fopr()=0
void invert_D(Field &, const Field &, int &, double &)
void convertField(Field &eo, const Field &lex)
Bridge::VerboseLevel m_vl
void invert_DdagD(Field &, const Field &, int &, double &)
virtual double flop_count()
returns the flop in giga unit
Base class of fermion operator family.
virtual void set_mode(const std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
void crucial(const char *format,...)
virtual void preProp(Field &, Field &, const Field &)=0
virtual void solve(Field &solution, const Field &source, int &Nconv, double &diff)=0
virtual double flop_count()=0