pub struct Lcg64Xsh32 { /* fields omitted */ }
A PCG random number generator (XSH RR 64/32 (LCG) variant).
Permuted Congruential Generator with 64-bit state, internal Linear
Congruential Generator, and 32-bit output via "xorshift high (bits),
random rotation" output function.
This is a 64-bit LCG with explicitly chosen stream with the PCG-XSH-RR
output function. This combination is the standard pcg32
.
Despite the name, this implementation uses 16 bytes (128 bit) space
comprising 64 bits of state and 64 bits stream selector. These are both set
by SeedableRng
, using a 128-bit seed.
Construct an instance compatible with PCG seed and stream.
Note that PCG specifies default values for both parameters:
state = 0xcafef00dd15ea5e5
stream = 721347520444481703
Formats the value using the given formatter. Read more
Performs copy-assignment from source
. Read more
Fill dest
entirely with random data. Read more
We use a single 127-bit seed to initialise the state and select a stream.
One seed
bit (lowest bit of seed[8]
) is ignored.
Seed type, which is restricted to types mutably-dereferencable as u8
arrays (we recommend [u8; N]
for some N
). Read more
Create a new PRNG using the given seed. Read more
Create a new PRNG using a u64
seed. Read more
Create a new PRNG seeded from another Rng
. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more