diff --git a/Grid/lattice/Lattice_transfer.h b/Grid/lattice/Lattice_transfer.h index c475829d..1081dc9b 100644 --- a/Grid/lattice/Lattice_transfer.h +++ b/Grid/lattice/Lattice_transfer.h @@ -981,8 +981,14 @@ void InsertSlice(const Lattice &lowDim,Lattice & higherDim,int slice hcoor[orthog] = slice; for(int d=0;d_checker_dim == d ) { + hcoor[d]=hcoor[d]*2; // factor in the full coor for peekLocalSite + lcoor[ddl]=lcoor[ddl]*2; // factor in the full coor for peekLocalSite + } + ddl++; } + } peekLocalSite(s,lowDimv,lcoor); pokeLocalSite(s,higherDimv,hcoor); @@ -1003,6 +1009,7 @@ void ExtractSlice(Lattice &lowDim,const Lattice & higherDim,int slic assert(orthog=0); assert(hg->_processors[orthog]==1); + lowDim.Checkerboard() = higherDim.Checkerboard(); int dl; dl = 0; for(int d=0;d &lowDim,const Lattice & higherDim,int slic Coordinate lcoor(nl); Coordinate hcoor(nh); lg->LocalIndexToLocalCoor(idx,lcoor); - int ddl=0; hcoor[orthog] = slice; + int ddl=0; for(int d=0;d_checker_dim == d ) { + hcoor[d]=hcoor[d]*2; // factor in the full gridd coor for peekLocalSite + lcoor[ddl]=lcoor[ddl]*2; // factor in the full coor for peekLocalSite + } + ddl++; } } peekLocalSite(s,higherDimv,hcoor);