Struct xorshift::splitmix64::SplitMix64
[−]
[src]
pub struct SplitMix64(_);
A random number generator that uses the splitmix64 algorithm [1].
Description
Quoted from [1].
This is a fixed-increment version of Java 8's SplittableRandom
generator [2] and [3].
It is a very fast generator passing BigCrush
, and it can be useful if
for some reason you absolutely want 64 bits of state; otherwise, we
rather suggest to use a xoroshiro128+ (for moderately parallel
computations) or xorshift1024* (for massively parallel computations)
generator.
[1]: Sebastiano Vigna, splitmix64
[2]: Guy L. Steele, Jr., Doug Lea, and Christine H. Flood. 2014. Fast splittable pseudorandom number generators
[3]: JavaSE, SplittableRandom
Trait Implementations
impl Copy for SplitMix64
[src]
impl Clone for SplitMix64
[src]
fn clone(&self) -> SplitMix64
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Rng for SplitMix64
[src]
fn next_u32(&mut self) -> u32
Return the next random u32. Read more
fn next_u64(&mut self) -> u64
Return the next random u64. Read more
fn next_f32(&mut self) -> f32
Return the next random f32 selected from the half-open interval [0, 1)
. Read more
fn next_f64(&mut self) -> f64
Return the next random f64 selected from the half-open interval [0, 1)
. Read more
fn fill_bytes(&mut self, dest: &mut [u8])
Fill dest
with random data. Read more
fn gen<T>(&mut self) -> T where
T: Rand,
T: Rand,
Return a random value of a Rand
type. Read more
fn gen_iter<T>(&'a mut self) -> Generator<'a, T, Self> where
T: Rand,
T: Rand,
Return an iterator that will yield an infinite number of randomly generated items. Read more
fn gen_range<T>(&mut self, low: T, high: T) -> T where
T: SampleRange + PartialOrd<T>,
T: SampleRange + PartialOrd<T>,
Generate a random value in the range [low
, high
). Read more
fn gen_weighted_bool(&mut self, n: u32) -> bool
Return a bool with a 1 in n chance of true Read more
fn gen_ascii_chars(&'a mut self) -> AsciiGenerator<'a, Self>
Return an iterator of random characters from the set A-Z,a-z,0-9. Read more
fn choose<T>(&mut self, values: &'a [T]) -> Option<&'a T>
Return a random element from values
. Read more
fn choose_mut<T>(&mut self, values: &'a mut [T]) -> Option<&'a mut T>
Return a mutable pointer to a random element from values
. Read more
fn shuffle<T>(&mut self, values: &mut [T])
Shuffle a mutable slice in place. Read more
impl SeedableRng<u64> for SplitMix64
[src]
fn reseed(&mut self, seed: u64)
Reseed an RNG with the given seed. Read more
fn from_seed(seed: u64) -> SplitMix64
Create a new RNG with the given seed. Read more
impl Rand for SplitMix64
[src]
fn rand<R: Rng>(other: &mut R) -> SplitMix64
Generates a random instance of this type using the specified source of randomness. Read more