00001 #include<config.h> 00002 CPS_START_NAMESPACE 00008 //--------------------------------------------------------------------------- 00009 00010 #ifndef INCLUDED_ALG_PBP_H 00011 #define INCLUDED_ALG_PBP_H 00012 00013 CPS_END_NAMESPACE 00014 #include <util/lattice.h> 00015 #include <util/smalloc.h> 00016 #include <util/pmalloc.h> 00017 #include <alg/alg_base.h> 00018 #include <alg/common_arg.h> 00019 #include <alg/pbp_arg.h> 00020 CPS_START_NAMESPACE 00021 00022 //--------------------------------------------------------------------------- 00024 00049 //--------------------------------------------------------------------------- 00050 class AlgPbp : public Alg 00051 { 00052 private: 00053 char *cname; 00054 00055 PbpArg *alg_pbp_arg; 00056 // The argument structure for the pbp algorithm 00057 00058 int f_size; 00059 // Node checkerboard size of the fermion field 00060 00061 Vector *src; 00062 // The source vector 00063 00064 Vector *sol; 00065 // The solution vector 00066 00067 public: 00068 AlgPbp(Lattice & latt, CommonArg *c_arg, PbpArg *arg); 00069 00070 virtual ~AlgPbp(); 00071 00072 void run(void); 00073 00074 void runPointSource(int x, int y, int z, int t); 00075 }; 00076 00077 #endif 00078 00079 00080 00081 00082 00083 CPS_END_NAMESPACE
1.3.9.1