#include namespace Grid { namespace QCD { ///////////////////////////////////////////////////////////////// // Public interface ///////////////////////////////////////////////////////////////// GridCartesian *SpaceTimeGrid::makeFourDimGrid(const std::vector & latt,const std::vector &simd,const std::vector &mpi) { return new GridCartesian(latt,simd,mpi); } GridRedBlackCartesian *SpaceTimeGrid::makeFourDimRedBlackGrid(const GridCartesian *FourDimGrid) { return new GridRedBlackCartesian(FourDimGrid); } GridCartesian *SpaceTimeGrid::makeFiveDimGrid(int Ls,const GridCartesian *FourDimGrid) { int N4=FourDimGrid->_ndimension; std::vector latt5(1,Ls); std::vector simd5(1,1); std::vector mpi5(1,1); for(int d=0;d_fdimensions[d]); simd5.push_back(FourDimGrid->_simd_layout[d]); mpi5.push_back(FourDimGrid->_processors[d]); } return new GridCartesian(latt5,simd5,mpi5); } GridRedBlackCartesian *SpaceTimeGrid::makeFiveDimRedBlackGrid(int Ls,const GridCartesian *FourDimGrid) { int N4=FourDimGrid->_ndimension; int cbd=1; std::vector latt5(1,Ls); std::vector simd5(1,1); std::vector mpi5(1,1); std::vector cb5(1,0); for(int d=0;d_fdimensions[d]); simd5.push_back(FourDimGrid->_simd_layout[d]); mpi5.push_back(FourDimGrid->_processors[d]); cb5.push_back( 1); } return new GridRedBlackCartesian(latt5,simd5,mpi5,cb5,cbd); } }}