Rosetta
Classes | Typedefs | Functions
basic::random Namespace Reference

Classes

class  RandomGeneratorSettings
 A class to store settings from the options system for the random generator. Moved from core to basic. More...
 

Typedefs

typedef utility::pointer::shared_ptr< RandomGeneratorSettingsRandomGeneratorSettingsOP
 
typedef utility::pointer::shared_ptr< RandomGeneratorSettings const > RandomGeneratorSettingsCOP
 

Functions

int init_random_number_generators ()
 Initalize random number generators from the command line. More...
 
int determine_random_number_seed (basic::random::RandomGeneratorSettings const &settings)
 Figure out what seed to use based on a variety of settings stored in the RandomGeneratorSettings object. More...
 
void init_random_generators (int const start_seed, std::string const &RGtype)
 Initialize random generator systems (and send debug io to tracer with seed/mode info). More...
 

Typedef Documentation

◆ RandomGeneratorSettingsCOP

typedef utility::pointer::shared_ptr< RandomGeneratorSettings const > basic::random::RandomGeneratorSettingsCOP

◆ RandomGeneratorSettingsOP

typedef utility::pointer::shared_ptr< RandomGeneratorSettings > basic::random::RandomGeneratorSettingsOP

Function Documentation

◆ determine_random_number_seed()

int basic::random::determine_random_number_seed ( basic::random::RandomGeneratorSettings const &  settings)

Figure out what seed to use based on a variety of settings stored in the RandomGeneratorSettings object.

Note
In MPI mode, this function uses MPI_Bcast calls, and that these calls require that all MPI nodes reach this function, or deadlock will occur. This deadlock can be avoided if the settings' mpi_bcast_seed_from_node0_ boolean is set to false.

If this is the multi-threaded build, threads other than thread zero must provide their thread index to ensure that they get unique random seeds.

References utility::CSI_Red(), utility::CSI_Reset(), utility::CSI_Underline(), utility::options::OptionKeys::options::exit, basic::Tracer::Fatal, basic::options::OptionKeys::in::in, utility::mpi_rank(), and basic::TR.

Referenced by init_random_number_generators().

◆ init_random_generators()

void basic::random::init_random_generators ( int const  start_seed,
std::string const &  RGtype 
)

Initialize random generator systems (and send debug io to tracer with seed/mode info).

Given a particular seed, initialize random generator systems (and send debug io to tracer with seed/mode info).

References numeric::random::rg(), numeric::random::RandomGenerator::set_seed(), and basic::TR.

Referenced by init_random_number_generators(), simple_benchmark(), test_Random(), and thread_fxn().

◆ init_random_number_generators()

int basic::random::init_random_number_generators ( )

Initalize random number generators from the command line.

If this is the multi-threaded build, threads other than thread zero must provide their thread index to ensure that they get unique random seeds. Will return the seed value.

References determine_random_number_seed(), init_random_generators(), basic::random::RandomGeneratorSettings::initialize_from_options(), basic::options::option, and basic::random::RandomGeneratorSettings::rng_type().