66 seed_tmp2 = (seed_tmp3 << 12) | 1498;
67 seed_tmp1 = (seed_tmp2 << 12) | 712;
68 seed_tmp0 = (seed_tmp1 << 12) | 1645;
86 for(
int m=
Nd-2; m>=0; --m)
108 lattice_ran_mult_tmp = 1;
113 for(
int i=0; i<nbits; ++i)
115 lbit = (lexoc & 1) > 0;
117 laamult = lattice_ran_mult_tmp * laa;
118 copymask(lattice_ran_mult_tmp,lbit,laamult);
141 for(
int i=0; i<nbits; ++i)
143 bit = (ibit & 1) > 0;
161 QDPIO::cout <<
"Finished init of RNG" << std::endl;
228 ran_tmp = seed * seed_mult;
231 ran_tmp = skewed_seed * seed_mult;
232 skewed_seed = ran_tmp;
274 for(
int i=0; i < N; ++i)
279 ran_tmp1 = seed * seed_mult;
282 ran_tmp2 = skewed_seed * seed_mult;
283 skewed_seed = ran_tmp2;
OScalar< PScalar< PScalar< RScalar< REAL > > > > Real
OLattice< PScalar< PSeed< RScalar< INTEGER32 > > > > LatticeSeed
OScalar< PScalar< PSeed< RScalar< INTEGER32 > > > > Seed
OLattice< PScalar< PScalar< RScalar< INTEGER32 > > > > LatticeInteger
OLattice< PScalar< PScalar< RScalar< LOGICAL > > > > LatticeBoolean
void copymask(IScalar< T > &d, const IScalar< T1 > &mask, const IScalar< T > &s1)
dest = (mask) ? s1 : dest
void cast_rep(T &d, const IScalar< T1 > &s1)
dest [float type] = source [int type]
UnaryReturn< IScalar< T >, FnGetSite >::Type_t getSite(const IScalar< T > &s1, int innersite)
const multi1d< int > & lattSize()
Virtual grid (problem grid) lattice size.
LatticeInteger latticeCoordinate(int mu)
coord[mu] <- mu : fill with lattice coord in mu direction
int vol()
Total lattice volume.
StandardOutputStream cout
Random number generator namespace.
float sranf(Seed &seed, Seed &skewed_seed, const Seed &seed_mult)
Scalar random number generator. Done on the front end. */.
Seed ran_mult_n
RNG multiplier raised to the volume+1.
int numbits(int x)
Find the number of bits required to represent x.
void savern(Seed &seed)
Return a copy of the random number seed.
Seed ran_mult
RNG multiplier.
void initDefaultRNG()
Initialize the random number generator with a default seed.
LatticeSeed * lattice_ran_mult
The lattice of skewed RNG multipliers.
void initRNG()
Initialize the internals of the random number generator.
void setrn(const Seed &seed)
Initialize the random number generator seed.
Seed ran_seed
Global (current) seed.
Yet another random number generator.
MakeReturn< UnaryNode< FnSeedToFloat, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, typenameUnaryReturn< C1, FnSeedToFloat >::Type_t >::Expression_t seedToFloat(const QDPExpr< T1, C1 > &l)
void QDP_error_exit(const char *format,...)
Simple error display and abort routine.
int setProfileLevel(int n)
Primary include file for QDP.