15 LatticeInteger
out =
in;
18 for(
int n = 0;
n < len; ++
n){
23 for(
int n = 0;
n > len; --
n){
32 const multi1d<int>& disp)
34 for(
int i=0;
i < disp.size(); ++
i)
36 int disp_dir = disp[
i] - 1;
38 blk2 =
displace(blk2, disp_len, disp_dir);
40 else if (disp[
i] < 0){
41 int disp_dir = -disp[
i] - 1;
43 blk2 =
displace(blk2, disp_len, disp_dir);
50 const multi1d<int>& disp,
53 std::vector<int> b_list;
54 LatticeInteger blk =
zero;
55 LatticeInteger One = 1;
58 for(
int b2(0); b2 < S.numSubsets(); b2++)
60 LatticeInteger blk2 =
zero;
65 int flag = toInt(
sum(blk2*blk));
79 if (blocks_to_check <= 0)
82 LatticeInteger One = 1;
83 LatticeInteger flag = 1;
85 if (blocks_to_check >
b.size())
86 blocks_to_check =
b.size();
88 for(
int k(0);
k < blocks_to_check;
k++)
90 LatticeInteger blk =
zero;
91 blk[S[
b[
k].blk]] = One;
97 if (toBool(
sum(flag) > 0))
Caclulates the couplings between neighboring blocks given a displacement path.
Primary include file for CHROMA library code.
T displace(const multi1d< LatticeColorMatrix > &u, const T &psi, int length, int dir, const Subset &sub)
Apply a displacement operator to a lattice field.
Asqtad Staggered-Dirac operator.
bool blocks_couple(const multi1d< DisplacedBlock > &b, const Set &S, const int len, int blocks_to_check)
std::vector< int > block_couplings(const int b, const Set &S, const multi1d< int > &disp, const int len)
static QDP_ColorVector * out
Constructor.
static QDP_ColorVector * in