Struct work_steal_queue::rand::FastRand
source · #[repr(C)]pub struct FastRand { /* private fields */ }Expand description
Fast random number generate.
Implement xorshift64+: 2 32-bit xorshift sequences added together.
Shift triplet [17,7,16] was calculated as indicated in Marsaglia’s
Xorshift paper: https://www.jstatsoft.org/article/view/v008i14/xorshift.pdf
This generator passes the SmallCrush suite, part of TestU01 framework:
http://simul.iro.umontreal.ca/testu01/tu01.html
Implementations§
source§impl FastRand
impl FastRand
sourcepub fn new(seed: RngSeed) -> FastRand
pub fn new(seed: RngSeed) -> FastRand
Initializes a new, thread-local, fast random number generator.
sourcepub fn replace_seed(&self, seed: RngSeed) -> RngSeed
pub fn replace_seed(&self, seed: RngSeed) -> RngSeed
Replaces the state of the random number generator with the provided seed, returning the seed that represents the previous state of the random number generator.
The random number generator will become equivalent to one created with the same seed.