52 namespace Test_SF_fAfP {
 
   53   const std::string 
test_name = 
"SF_fAfP.Boundary_Meson_2ptFunction";
 
   57     const std::string filename_input  = 
"test_SF_fAfP_Boundary_Meson_2ptFunction.yaml";
 
   58     const std::string filename_output = 
"stdout";
 
   60     class Parameters_Test_SF_fAfP : 
public Parameters {
 
   62       Parameters_Test_SF_fAfP()
 
   64         Register_string(
"gauge_config_status", 
"NULL");
 
   65         Register_string(
"gauge_config_type_input", 
"NULL");
 
   66         Register_string(
"config_filename_input", 
"NULL");
 
   68         Register_string(
"verbose_level", 
"NULL");
 
   70         Register_double(
"expected_result", 0.0);
 
   78 #ifdef USE_TESTMANAGER_AUTOREGISTER 
   80 #if defined(USE_OPENMP) || defined(USE_GROUP_SU2) 
  100     Parameters *params_test     = 
new Parameters_Test_SF_fAfP;
 
  118     params_manager.
read_params(filename_input, params_all);
 
  120     const string str_gconf_status = params_test->
get_string(
"gauge_config_status");
 
  121     const string str_gconf_read   = params_test->
get_string(
"gauge_config_type_input");
 
  122     const string readfile         = params_test->
get_string(
"config_filename_input");
 
  123     const string str_vlevel       = params_test->
get_string(
"verbose_level");
 
  125     const bool   do_check        = params_test->
is_set(
"expected_result");
 
  126     const double expected_result = do_check ? params_test->
get_double(
"expected_result") : 0.0;
 
  128     const string str_gmset_type  = params_clover->
get_string(
"gamma_matrix_type");
 
  129     const string str_proj_type   = params_proj->
get_string(
"projection_type");
 
  130     const string str_smear_type  = params_smear->
get_string(
"smear_type");
 
  131     const string str_solver_type = params_solver->
get_string(
"solver_type");
 
  136     vout.
general(vl, 
"  gconf_status = %s\n", str_gconf_status.c_str());
 
  137     vout.
general(vl, 
"  gconf_read   = %s\n", str_gconf_read.c_str());
 
  138     vout.
general(vl, 
"  readfile     = %s\n", readfile.c_str());
 
  139     vout.
general(vl, 
"  vlevel       = %s\n", str_vlevel.c_str());
 
  140     vout.
general(vl, 
"  gmset_type   = %s\n", str_gmset_type.c_str());
 
  141     vout.
general(vl, 
"  proj_type    = %s\n", str_proj_type.c_str());
 
  142     vout.
general(vl, 
"  smear_type   = %s\n", str_smear_type.c_str());
 
  143     vout.
general(vl, 
"  solver_type  = %s\n", str_solver_type.c_str());
 
  160     if (str_gconf_status == 
"Continue") {
 
  162     } 
else if (str_gconf_status == 
"Cold_start") {
 
  164     } 
else if (str_gconf_status == 
"Hot_start") {
 
  168       vout.
crucial(vl, 
"%s: unsupported gconf status \"%s\".\n", 
test_name.c_str(), str_gconf_status.c_str());
 
  172     Projection *proj  = Projection::New(str_proj_type);
 
  173     Smear      *smear = Smear::New(str_smear_type, proj);
 
  193     Fopr         *fopr       = fopr_smear;
 
  197     Solver *solver = Solver::New(str_solver_type, fopr);
 
  212     valarray<Field_F> H(Nc * Nd);
 
  213     valarray<Field_F> Hpr(Nc * Nd);
 
  221     vout.
general(vl, 
"  color spin   Nconv      diff           diff2\n");
 
  223     for (
int icolor = 0; icolor < Nc; ++icolor) {
 
  224       for (
int ispin = 0; ispin < Nd / 2; ++ispin) {
 
  225         source->
set_t0(b, icolor, ispin);
 
  227         int idx = icolor + Nc * ispin;
 
  228         fprop_lex->
invert_D(xq, b, Nconv, diff);
 
  235                      icolor, ispin, Nconv, diff, diff2);
 
  242       for (
int ispin = Nd / 2; ispin < Nd; ++ispin) {
 
  243         source->
set_tT(b, icolor, ispin);
 
  245         int idx = icolor + Nc * ispin;
 
  246         fprop_lex->
invert_D(xq, b, Nconv, diff);
 
  253                      icolor, ispin, Nconv, diff, diff2);
 
  264     for (
int t = 0; t < 2; ++t) {
 
  265       int site = index.
site(0, 0, 0, t);
 
  266       for (
int c1 = 0; c1 < Nc; ++c1) {
 
  267         for (
int c0 = 0; c0 < Nc; ++c0) {
 
  268           for (
int s1 = 0; s1 < Nd; ++s1) {
 
  269             for (
int s0 = 0; s0 < Nd; ++s0) {
 
  272                            H[c0 + Nc * s0].cmp_r(c1, s1, site),
 
  273                            H[c0 + Nc * s0].cmp_i(c1, s1, site));
 
  279     for (
int t = 0; t < 2; ++t) {
 
  280       int site = index.
site(0, 0, 0, t);
 
  281       for (
int c1 = 0; c1 < Nc; ++c1) {
 
  282         for (
int c0 = 0; c0 < Nc; ++c0) {
 
  283           for (
int s1 = 0; s1 < Nd; ++s1) {
 
  284             for (
int s0 = 0; s0 < Nd; ++s0) {
 
  287                            Hpr[c0 + Nc * s0].cmp_r(c1, s1, site),
 
  288                            Hpr[c0 + Nc * s0].cmp_i(c1, s1, site));
 
  298     vout.
general(vl, 
"boundary 2-point correlator with SF BC:\n");
 
  301     double            result = corr.
fAfP(H, Hpr);
 
  308     delete params_clover;
 
  311     delete params_dr_smear;
 
  312     delete params_solver;
 
  313     delete params_source;
 
  337       vout.
detailed(vl, 
"check skipped: expected_result not set.\n\n");
 
Random number generator base on M-series. 
 
const std::string test_name
 
void read_params(const std::string ¶ms_file, Parameters *params)
read parameters from file. 
 
void set_config(Field *U)
setting pointer to configuration 
 
void detailed(const char *format,...)
 
int site(const int &x, const int &y, const int &z, const int &t) const 
 
virtual const Field mult(const Field &)=0
multiplies fermion operator to a given field and returns the resultant field. 
 
void general(const char *format,...)
 
double fAfP(const std::valarray< Field_F > &sq1, const std::valarray< Field_F > &sq2)
 
virtual void set_config(Field *)=0
setting pointer to the gauge configuration. 
 
Container of Field-type object. 
 
Two-point correlator for Wilson-type fermions with SF BC. 
 
virtual void set_parameters(const Parameters &)=0
 
static Parameters * New(const std::string &realm)
 
void set_random(RandomNumbers *rand)
 
int boundary_meson_2ptFunction(void)
 
void set_tT(Field_F &src, int ic, int id)
Set the 3D wall source at t=T-1. 
 
Wilson-type fermion field. 
 
virtual void set_parameters(const Parameters ¶ms)=0
 
smeared fermion operator. 
 
static bool RegisterTest(const std::string &key, const Test_function func)
 
virtual void invert_D(Field &, const Field &, int &, double &)=0
 
Field * getptr_smearedConfig(int i_smear)
get pointer to i-th smeared config (0th is original thin link) 
 
bool is_set(const string &) const 
 
void set_t0(Field_F &src, int ic, int id)
Set the 3D wall source at t=1. 
 
double get_double(const string &key) const 
 
void set_parameters(const Parameters ¶ms)
 
Set of Gamma Matrices: basis class. 
 
int non_NULL(const std::string v)
 
Get quark propagator for Fopr with lexical site index. 
 
void set_config(Field *U)
set pointer to original thin link variable 
 
int get_Nsmear()
get number of applied smearing operation 
 
void crucial(const char *format,...)
 
void Register_Parameters(const string &, Parameters *const)
 
base class for projection operator into gauge group. 
 
Manager of smeared configurations. 
 
Base class for linear solver class family. 
 
void set_parameters(const Parameters ¶ms)
set paramters, must be called before set_config 
 
virtual void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
 
base class for smearing of link variables. 
 
Parameter manager with YAML parser. 
 
GaugeConfig class for file I/O of gauge configuration. 
 
Base class of fermion operator family. 
 
int verify(const double expected, const double result)
 
void read_file(Field *u, const string &filename)
 
string get_string(const string &key) const 
 
void report(const Bridge::VerboseLevel vl=Bridge::GENERAL)
 
static VerboseLevel set_verbose_level(const std::string &str)
 
void set_parameters(const Parameters ¶ms)