Grid 0.7.0
GridParallelRNG Class Reference

#include <Lattice_rng.h>

Inheritance diagram for GridParallelRNG:
GridRNGbase

Public Member Functions

GridBaseGrid (void) const
int generator_idx (int os, int is)
 GridParallelRNG (GridBase *grid)
template<class vobj, class distribution>
void fill (Lattice< vobj > &l, std::vector< distribution > &dist)
void SeedUniqueString (const std::string &s)
void SeedFixedIntegers (const std::vector< int > &seeds, int britney=0)
void Report ()
uint32_t GlobalU01 (int gsite)
void GetState (std::vector< RngStateType > &saved, RngEngine &eng)
void GetState (std::vector< RngStateType > &saved, int gen)
void SetState (std::vector< RngStateType > &saved, RngEngine &eng)
void SetState (std::vector< RngStateType > &saved, int gen)
void SetEngine (RngEngine &Eng, int gen)
void GetEngine (RngEngine &Eng, int gen)
template<class source>
void Seed (source &src, int gen)

Static Public Member Functions

static RngEngine Reseed (RngEngine &eng)
static RngEngine Reseed (RngEngine &eng, std::vector< uint32_t > &newseed, std::uniform_int_distribution< uint32_t > &uid)

Data Fields

std::vector< RngEngine > _generators
std::vector< std::uniform_real_distribution< RealD > > _uniform
std::vector< std::normal_distribution< RealD > > _gaussian
std::vector< std::discrete_distribution< int32_t > > _bernoulli
std::vector< std::uniform_int_distribution< uint32_t > > _uid

Private Attributes

double _time_counter
GridBase_grid
unsigned int _vol

Detailed Description

Definition at line 346 of file Lattice_rng.h.

Constructor & Destructor Documentation

◆ GridParallelRNG()

GridParallelRNG::GridParallelRNG ( GridBase * grid)
inline

Member Function Documentation

◆ Grid()

GridBase * GridParallelRNG::Grid ( void ) const
inline

◆ generator_idx()

int GridParallelRNG::generator_idx ( int os,
int is )
inline

Definition at line 354 of file Lattice_rng.h.

References _grid.

Referenced by fill(), GlobalU01(), BinaryIO::readRNG(), and BinaryIO::writeRNG().

◆ fill()

template<class vobj, class distribution>
void GridParallelRNG::fill ( Lattice< vobj > & l,
std::vector< distribution > & dist )
inline

◆ SeedUniqueString()

void GridParallelRNG::SeedUniqueString ( const std::string & s)
inline

◆ SeedFixedIntegers()

void GridParallelRNG::SeedFixedIntegers ( const std::vector< int > & seeds,
int britney = 0 )
inline

Definition at line 419 of file Lattice_rng.h.

References _grid, CartesianCommunicator::BroadcastWorld(), and thread_for.

Referenced by SeedUniqueString().

◆ Report()

void GridParallelRNG::Report ( )
inline

Definition at line 501 of file Lattice_rng.h.

References _time_counter, and GridLogMessage.

◆ GlobalU01()

uint32_t GridParallelRNG::GlobalU01 ( int gsite)
inline

Definition at line 510 of file Lattice_rng.h.

References GridRNGbase::_generators, _grid, GridRNGbase::_uid, and generator_idx().

◆ Reseed() [1/2]

RngEngine GridRNGbase::Reseed ( RngEngine & eng)
inlinestaticinherited

Definition at line 189 of file Lattice_rng.h.

References Reseed().

Referenced by Reseed().

◆ Reseed() [2/2]

RngEngine GridRNGbase::Reseed ( RngEngine & eng,
std::vector< uint32_t > & newseed,
std::uniform_int_distribution< uint32_t > & uid )
inlinestaticinherited

Definition at line 195 of file Lattice_rng.h.

◆ GetState() [1/2]

void GridRNGbase::GetState ( std::vector< RngStateType > & saved,
RngEngine & eng )
inlineinherited

Definition at line 208 of file Lattice_rng.h.

Referenced by GetState(), and BinaryIO::writeRNG().

◆ GetState() [2/2]

void GridRNGbase::GetState ( std::vector< RngStateType > & saved,
int gen )
inlineinherited

Definition at line 217 of file Lattice_rng.h.

References _generators, and GetState().

◆ SetState() [1/2]

void GridRNGbase::SetState ( std::vector< RngStateType > & saved,
RngEngine & eng )
inlineinherited

Definition at line 220 of file Lattice_rng.h.

Referenced by BinaryIO::readRNG(), and SetState().

◆ SetState() [2/2]

void GridRNGbase::SetState ( std::vector< RngStateType > & saved,
int gen )
inlineinherited

Definition at line 229 of file Lattice_rng.h.

References _generators, and SetState().

◆ SetEngine()

void GridRNGbase::SetEngine ( RngEngine & Eng,
int gen )
inlineinherited

Definition at line 232 of file Lattice_rng.h.

References _generators.

◆ GetEngine()

void GridRNGbase::GetEngine ( RngEngine & Eng,
int gen )
inlineinherited

Definition at line 235 of file Lattice_rng.h.

References _generators.

◆ Seed()

template<class source>
void GridRNGbase::Seed ( source & src,
int gen )
inlineinherited

Definition at line 238 of file Lattice_rng.h.

References _generators.

Referenced by GridSerialRNG::SeedFixedIntegers().

Field Documentation

◆ _time_counter

double GridParallelRNG::_time_counter
private

Definition at line 348 of file Lattice_rng.h.

Referenced by fill(), and Report().

◆ _grid

GridBase* GridParallelRNG::_grid
private

Definition at line 349 of file Lattice_rng.h.

Referenced by fill(), generator_idx(), GlobalU01(), Grid(), GridParallelRNG(), and SeedFixedIntegers().

◆ _vol

unsigned int GridParallelRNG::_vol
private

Definition at line 350 of file Lattice_rng.h.

Referenced by GridParallelRNG().

◆ _generators

◆ _uniform

std::vector<std::uniform_real_distribution<RealD> > GridRNGbase::_uniform
inherited

◆ _gaussian

std::vector<std::normal_distribution<RealD> > GridRNGbase::_gaussian
inherited

◆ _bernoulli

std::vector<std::discrete_distribution<int32_t> > GridRNGbase::_bernoulli
inherited

◆ _uid

std::vector<std::uniform_int_distribution<uint32_t> > GridRNGbase::_uid
inherited

The documentation for this class was generated from the following file: