[−][src]Struct rand::XorShiftRng
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]
pub fn new_unseeded() -> XorShiftRng
[src]
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 Rand for XorShiftRng
[src]
fn rand<R: Rng>(rng: &mut R) -> XorShiftRng
[src]
impl Rng for XorShiftRng
[src]
fn next_u32(&mut self) -> u32
[src]
fn next_u64(&mut self) -> u64
[src]
fn next_f32(&mut self) -> f32
[src]
fn next_f64(&mut self) -> f64
[src]
fn fill_bytes(&mut self, dest: &mut [u8])
[src]
fn gen<T: Rand>(&mut self) -> T where
Self: Sized,
[src]
Self: Sized,
ⓘImportant traits for Generator<'a, T, R>fn gen_iter<'a, T: Rand>(&'a mut self) -> Generator<'a, T, Self> where
Self: Sized,
[src]
Self: Sized,
fn gen_range<T: PartialOrd + SampleRange>(&mut self, low: T, high: T) -> T where
Self: Sized,
[src]
Self: Sized,
fn gen_weighted_bool(&mut self, n: u32) -> bool where
Self: Sized,
[src]
Self: Sized,
ⓘImportant traits for AsciiGenerator<'a, R>fn gen_ascii_chars<'a>(&'a mut self) -> AsciiGenerator<'a, Self> where
Self: Sized,
[src]
Self: Sized,
fn choose<'a, T>(&mut self, values: &'a [T]) -> Option<&'a T> where
Self: Sized,
[src]
Self: Sized,
fn choose_mut<'a, T>(&mut self, values: &'a mut [T]) -> Option<&'a mut T> where
Self: Sized,
[src]
Self: Sized,
fn shuffle<T>(&mut self, values: &mut [T]) where
Self: Sized,
[src]
Self: Sized,
impl SeedableRng<[u32; 4]> for XorShiftRng
[src]
fn reseed(&mut self, seed: [u32; 4])
[src]
Reseed an XorShiftRng. This will panic if seed
is entirely 0.
fn from_seed(seed: [u32; 4]) -> XorShiftRng
[src]
Create a new XorShiftRng. This will panic if seed
is entirely 0.
impl Clone for XorShiftRng
[src]
fn clone(&self) -> XorShiftRng
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for XorShiftRng
[src]
Auto Trait Implementations
impl Send for XorShiftRng
impl Unpin for XorShiftRng
impl Sync for XorShiftRng
impl UnwindSafe for XorShiftRng
impl RefUnwindSafe for XorShiftRng
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,