Go to the documentation of this file.
67 Field axq(nin, nvol, nex), abq(nin, nvol, nex);
71 unique_ptr<Timer> timer(
new Timer);
73 std::string mode_prev = fopr->
get_mode();
81 for (
int i = 0; i < Nrepeat; ++i) {
91 double flop_total = flop_fopr * double(2 * Nrepeat);
93 double elapsed_time = timer->elapsed_sec();
94 double flops = flop_total / elapsed_time;
95 double gflops = flops * 1.0e-9;
void invert_D(Field &, const Field &, int &, double &)
void set(const int jin, const int site, const int jex, double v)
virtual void mult(AFIELD &, const AFIELD &)
multiplies fermion operator to a given field.
virtual double flop_count()=0
virtual int field_nex()=0
returns the external degree of freedom of the fermion field.
virtual void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
virtual void set_config(Field *)=0
sets the gauge configuration.
virtual void solve(Field &solution, const Field &source, int &Nconv, double &diff)=0
virtual std::string get_mode() const
returns the current mult mode.
virtual int field_nvol()=0
returns the volume of the fermion field.
virtual double flop_count()
returns the number of floating point operations.
Bridge::VerboseLevel m_vl
virtual Fopr * get_fopr()=0
static const std::string class_name
void invert_DdagD(Field &, const Field &, int &, double &)
Container of Field-type object.
virtual int field_nin()=0
returns the on-site degree of freedom of the fermion field.
void mult_performance(const std::string mode, const int Nrepeat)
void general(const char *format,...)