diff --git a/Grid/qcd/action/momentum/DirichletFilter.h b/Grid/qcd/action/momentum/DirichletFilter.h index 86823282..1014d64e 100644 --- a/Grid/qcd/action/momentum/DirichletFilter.h +++ b/Grid/qcd/action/momentum/DirichletFilter.h @@ -55,15 +55,16 @@ struct DirichletFilter: public MomentumFilterBase //////////////////////////////////////////////////// LatticeInteger coor(grid); LatticeColourMatrix zz(grid); zz = Zero(); + Coordinate Global=grid->GlobalDimensions(); for(int mu=0;mu1) ) { + // If costly could provide Grid earlier and precompute masks + LatticeCoordinate(coor,mu); - auto P_mu = PeekIndex(P, mu); - P_mu = where(mod(coor,Block[mu])==Integer(Block[mu]-1),zz,P_mu); - PokeIndex(P, P_mu, mu); - + auto P_mu = PeekIndex(P, mu); + P_mu = where(mod(coor,Block[mu])==Integer(Block[mu]-1),zz,P_mu); + PokeIndex(P, P_mu, mu); + } } } };