00001 #include<config.h> 00002 CPS_START_NAMESPACE 00008 //--------------------------------------------------------------------------- 00009 00010 #ifndef INCLUDED_ALG_DENS_H 00011 #define INCLUDED_ALG_DENS_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/dens_arg.h> 00020 CPS_START_NAMESPACE 00021 00022 //--------------------------------------------------------------------------- 00024 00031 //--------------------------------------------------------------------------- 00032 class AlgDens : public Alg 00033 { 00034 private: 00035 char *cname; 00036 00037 // The argument structure for the pbp algorithm 00038 DensArg *alg_dens_arg; 00039 00040 // Node checkerboard size of the fermion field 00041 int f_size; 00042 int map_table[100]; 00043 int save_table[100]; 00044 int load_table[100]; 00045 int refresh_table[100]; 00046 int a_coor_table[100]; 00047 int b_coor_table[100]; 00048 00049 // The source vector 00050 Vector *src; 00051 Vector *srcM; 00052 00053 // The solution vectors 00054 Vector *save; 00055 Vector *sol; 00056 Vector *solM; 00057 //int *map_table; 00058 //int *save_table; 00059 //int *load_table; 00060 //int *refresh_table; 00061 //int *a_coor_table; 00062 //int *b_coor_table; 00063 00064 void make_tables(void); 00065 void clear_vector(void); 00066 void save_vector(Vector *v, int obsID); 00067 void load_vector(Vector *v, int obsID); 00068 00069 public: 00070 AlgDens(Lattice & latt, CommonArg *c_arg, DensArg *arg); 00071 00072 virtual ~AlgDens(); 00073 00074 void run(void); 00075 00076 }; 00077 00078 #endif 00079 00080 00081 00082 00083 00084 CPS_END_NAMESPACE
1.3.9.1