29 lc[dir] = (coord[dir] + sgnum(sign) + 4*nrow[dir]) % nrow[dir];
37 int sgnum(
int x)
const {
return (x > 0) ? 1 : -1;}
64 return pmap(coord, isign, dir);
82 for(
int dir=0; dir < func.
numArray(); ++dir)
86 mapsa[dir].make(my_local_map);
104 return pmap(coord, mult*isign);
123 bimaps[0].make(my_neg_map);
126 bimaps[1].make(my_pos_map);
138 pmap(mm), mult(mmult), dir(dd) {}
142 return pmap(coord, mult*isign, dir);
161 for(
int dir=0; dir < func.
numArray(); ++dir)
165 bimapsa(0,dir).make(my_neg_map);
168 bimapsa(1,dir).make(my_pos_map);
ArrayBiDirectional of general permutation map class for communications.
void make(const ArrayMapFunc &func)
Actual constructor from a function object.
virtual int numArray() const =0
Returns the array size - the number of directions which are to be used.
void make(const ArrayMapFunc &func)
Actual constructor from a function object.
void make(const MapFunc &func)
Actual constructor from a function object.
Container for a multi-dimensional 1D array.
ArrayBiDirectionalMap shift
Definition of shift function object.
const multi1d< int > & lattSize()
Virtual grid (problem grid) lattice size.
Yet another random number generator.
void initDefaultMaps()
Initializer for maps.
Primary include file for QDP.
Function object used for constructing the default nearest neighbor map.
virtual multi1d< int > operator()(const multi1d< int > &coord, int sign, int dir) const
Maps a lattice coordinate under a map to a new lattice coordinate.
virtual ~NearestNeighborMapFunc()
virtual int numArray() const
Returns the array size - the number of directions which are to be used.
PackageArrayBiDirectionalMapFunc(const ArrayMapFunc &mm, int mmult, int dd)
virtual multi1d< int > operator()(const multi1d< int > &coord, int isign) const
Maps a lattice coordinate under a map to a new lattice coordinate.
virtual ~PackageArrayMapFunc()
virtual multi1d< int > operator()(const multi1d< int > &coord, int isign) const
Maps a lattice coordinate under a map to a new lattice coordinate.
PackageArrayMapFunc(const ArrayMapFunc &mm, int dd)
PackageBiDirectionalMapFunc(const MapFunc &mm, int mmult)
virtual ~PackageBiDirectionalMapFunc()
virtual multi1d< int > operator()(const multi1d< int > &coord, int isign) const
Maps a lattice coordinate under a map to a new lattice coordinate.