14 #ifndef FIELD_F_INCLUDED 
   15 #define FIELD_F_INCLUDED 
   45   int myindex(
const int c2, 
const int s, 
const int site, 
const int ex)
 
   95   double cmp_r(
const int cc, 
const int s, 
const int site, 
const int e = 0)
 
  101   double cmp_i(
const int cc, 
const int s, 
const int site, 
const int e = 0)
 
  107   void set_r(
const int cc, 
const int s, 
const int site, 
const int e, 
const double re)
 
  112   void set_i(
const int cc, 
const int s, 
const int site, 
const int e, 
const double im)
 
  117   void set_ri(
const int cc, 
const int s, 
const int site, 
const int e, 
const double re, 
const double im)
 
  127     for (
int cc = 0; cc < 
m_Nc; ++cc) {
 
  137     for (
int cc = 0; cc < 
m_Nc; ++cc) {
 
  145     for (
int cc = 0; cc < 
m_Nc; ++cc) {
 
  151   void clear_vec(
const int s, 
const int site, 
const int e)
 
  153     for (
int cc = 0; cc < 
m_Nc2; ++cc) {
 
  175     int is = size * i_thread / Nthread;
 
  176     int ns = size * (i_thread + 1) / Nthread;
 
  178     double *p = this->
ptr(0);
 
  180     for (
int k = is; k < ns; k += 2) {
 
  206     int is = size * i_thread / Nthread;
 
  207     int ns = size * (i_thread + 1) / Nthread;
 
  209     double       *yp = this->
ptr(0);
 
  210     const double *xp = w.
ptr(0);
 
  212     for (
int k = is; k < ns; k += 2) {
 
void mult_Field_Gd(Field_F &y, const int ex, const Field_G &u, int ex1, const Field_F &x, int ex2)
 
double cmp_i(const int cc, const int s, const int site, const int e=0) const 
 
static int get_num_threads()
returns available number of threads. 
 
const double * ptr(const int jin, const int site, const int jex) const 
 
double r(const int c) const 
 
void set_vec(const int s, const int site, const int e, const Vec_SU_N &F)
 
void set_i(const int cc, const int s, const int site, const int e, const double im)
 
Container of Field-type object. 
 
void check()
check several assumptions for performance implementation. 
 
friend void copy(Field &y, const Field &x)
copy(y, x): y = x 
 
void clear_vec(const int s, const int site, const int e)
 
int myindex(const int c2, const int s, const int site, const int ex) const 
 
void multadd_Field_Gn(Field_F &y, const int ex, const Field_G &u, int ex1, const Field_F &x, int ex2, const double a)
 
static int get_thread_id()
returns thread id. 
 
Wilson-type fermion field. 
 
void mult_GMproj2(Field_F &y, const int pm, const GammaMatrix &gm, const Field_F &x)
projection with gamma matrix: (1  gamma) 
 
void set(const int c, const double re, const double im)
 
void reset(int Nvol, int Nex)
 
void set_r(const int cc, const int s, const int site, const int e, const double re)
 
void Ix(const Field_F &w)
 
void mult_iGM(Field_F &y, const GammaMatrix &gm, const Field_F &x)
gamma matrix multiplication (i is multiplied) 
 
double i(const int c) const 
 
void multadd_Field_Gd(Field_F &y, const int ex, const Field_G &u, int ex1, const Field_F &x, int ex2, const double a)
 
void set_ri(const int cc, const int s, const int site, const int e, const double re, const double im)
 
void reset(const int Nin, const int Nvol, const int Nex, const element_type cmpl=COMPLEX)
 
Common parameter class: provides parameters as singleton. 
 
std::valarray< double > field
 
void mult_Field_Gn(Field_F &y, const int ex, const Field_G &u, int ex1, const Field_F &x, int ex2)
 
void mult_GM(Field_F &y, const GammaMatrix &gm, const Field_F &x)
gamma matrix multiplication 
 
Field_F & operator=(const Field_F &v)
 
element_type field_element_type() const 
 
Vec_SU_N vec(const int s, const int site, const int e=0) const 
 
Field_F(const int Nvol=CommonParameters::Nvol(), const int Nex=1)
 
void add_vec(const int s, const int site, const int e, const Vec_SU_N &F)
 
void mult_GMproj(Field_F &y, const int pm, const GammaMatrix &gm, const Field_F &x)
projection with gamma matrix: (1  gamma)/2 
 
int myindex(const int jin, const int site, const int jex) const 
 
double cmp_r(const int cc, const int s, const int site, const int e=0) const