aether/common/random.hh
header file. A new random number can be requested as follows (the seed
parameter should not be supplied).rand
and random
should not be seeded non-deterministically if deterministic behaviour is required. Instead, a pseudo-deterministic C++ random number generator can be used by seeding it with Simulate's random number utility functions. This will provide deterministic random number generation.estimate_load
function.estimate_load
function to have deterministic split and merge. For instance using time since epoch or simulation start would generate a non-deterministic output whereas using tick count would generate a deterministic output.blob store
can be called synchronously, blocking the simulation until the download is complete.rand()
function and Simulate's generate_random_*
family are implemented as simple Linear Congruential Generators and are not suitable for this purpose. Aether's random number generators can be used to initialize ("seed") a higher-quality engine.