Struct rand::XorShiftRng
[−]
[src]
pub struct XorShiftRng { /* fields omitted */ }
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
An Xorshift[1] random number generator.
The Xorshift algorithm is not suitable for cryptographic purposes
but is very fast. If you do not know for sure that it fits your
requirements, use a more secure one such as IsaacRng
or OsRng
.
[1]: Marsaglia, George (July 2003). "Xorshift RNGs". Journal of Statistical Software. Vol. 8 (Issue 14).
Methods
impl XorShiftRng
[src]
fn new_unseeded() -> XorShiftRng
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Creates a new XorShiftRng instance which is not seeded.
The initial values of this RNG are constants, so all generators created
by this function will yield the same stream of random numbers. It is
highly recommended that this is created through SeedableRng
instead of
this function
Trait Implementations
impl Clone for XorShiftRng
[src]
fn clone(&self) -> XorShiftRng
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 Debug for XorShiftRng
[src]
impl Rng for XorShiftRng
[src]
fn next_u32(&mut self) -> u32
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Return the next random u32. Read more
fn next_u64(&mut self) -> u64
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Return the next random u64. Read more
fn next_f32(&mut self) -> f32
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Return the next random f32 selected from the half-open interval [0, 1)
. Read more
fn next_f64(&mut self) -> f64
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Return the next random f64 selected from the half-open interval [0, 1)
. Read more
fn fill_bytes(&mut self, dest: &mut [u8])
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Fill dest
with random data. Read more
fn gen<T: Rand>(&mut self) -> T
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Return a random value of a Rand
type.
fn gen_iter<'a, T: Rand>(&'a mut self) -> Generator<'a, T, Self>
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Return an iterator that will yield an infinite number of randomly generated items. Read more
fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Generate a random value in the range [low
, high
). Read more
fn gen_weighted_bool(&mut self, n: usize) -> bool
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Return a bool with a 1 in n chance of true
fn gen_ascii_chars<'a>(&'a mut self) -> AsciiGenerator<'a, Self>
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Return an iterator of random characters from the set A-Z,a-z,0-9.
fn choose<'a, T>(&mut self, values: &'a [T]) -> Option<&'a T>
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Return a random element from values
. Read more
fn shuffle<T>(&mut self, values: &mut [T])
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Shuffle a mutable slice in place.
impl SeedableRng<[u32; 4]> for XorShiftRng
[src]
fn reseed(&mut self, seed: [u32; 4])
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Reseed an XorShiftRng. This will panic if seed
is entirely 0.
fn from_seed(seed: [u32; 4]) -> XorShiftRng
🔬 This is a nightly-only experimental API. (rand
)
use rand
from crates.io
Create a new XorShiftRng. This will panic if seed
is entirely 0.