Struct rand::XorShiftRng
source · pub struct XorShiftRng { /* private fields */ }
Expand description
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).
Implementations
sourceimpl XorShiftRng
impl XorShiftRng
sourcepub fn new_unseeded() -> XorShiftRng
pub fn new_unseeded() -> XorShiftRng
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
sourceimpl Clone for XorShiftRng
impl Clone for XorShiftRng
sourcefn clone(&self) -> XorShiftRng
fn clone(&self) -> XorShiftRng
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for XorShiftRng
impl Debug for XorShiftRng
sourceimpl Rand for XorShiftRng
impl Rand for XorShiftRng
sourceimpl Rng for XorShiftRng
impl Rng for XorShiftRng
sourcefn next_f32(&mut self) -> f32
fn next_f32(&mut self) -> f32
Return the next random f32 selected from the half-open
interval
[0, 1)
. Read moresourcefn next_f64(&mut self) -> f64
fn next_f64(&mut self) -> f64
Return the next random f64 selected from the half-open
interval
[0, 1)
. Read moresourcefn fill_bytes(&mut self, dest: &mut [u8])
fn fill_bytes(&mut self, dest: &mut [u8])
Fill
dest
with random data. Read moresourcefn gen<T: Rand>(&mut self) -> Twhere
Self: Sized,
fn gen<T: Rand>(&mut self) -> Twhere
Self: Sized,
Return a random value of a
Rand
type. Read moresourcefn gen_iter<'a, T: Rand>(&'a mut self) -> Generator<'a, T, Self> ⓘwhere
Self: Sized,
fn gen_iter<'a, T: Rand>(&'a mut self) -> Generator<'a, T, Self> ⓘwhere
Self: Sized,
Return an iterator that will yield an infinite number of randomly
generated items. Read more
sourcefn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> Twhere
Self: Sized,
fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> Twhere
Self: Sized,
sourcefn gen_weighted_bool(&mut self, n: u32) -> boolwhere
Self: Sized,
fn gen_weighted_bool(&mut self, n: u32) -> boolwhere
Self: Sized,
Return a bool with a 1 in n chance of true Read more
sourcefn gen_ascii_chars<'a>(&'a mut self) -> AsciiGenerator<'a, Self> ⓘwhere
Self: Sized,
fn gen_ascii_chars<'a>(&'a mut self) -> AsciiGenerator<'a, Self> ⓘwhere
Self: Sized,
Return an iterator of random characters from the set A-Z,a-z,0-9. Read more
sourcefn choose<'a, T>(&mut self, values: &'a [T]) -> Option<&'a T>where
Self: Sized,
fn choose<'a, T>(&mut self, values: &'a [T]) -> Option<&'a T>where
Self: Sized,
Return a random element from
values
. Read moresourceimpl SeedableRng<[u32; 4]> for XorShiftRng
impl SeedableRng<[u32; 4]> for XorShiftRng
Auto Trait Implementations
impl RefUnwindSafe for XorShiftRng
impl Send for XorShiftRng
impl Sync for XorShiftRng
impl Unpin for XorShiftRng
impl UnwindSafe for XorShiftRng
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more