Struct sgx_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 RdRand
.
[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.0const fn clone_from(&mut self, source: &Self)
const 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
sourcefn rand<R: Rng>(rng: &mut R) -> XorShiftRng
fn rand<R: Rng>(rng: &mut R) -> XorShiftRng
Generates a random instance of this type using the specified source of
randomness. Read more
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<T: Rand>(&mut self) -> Generator<'_, T, Self>ⓘNotable traits for Generator<'a, T, R>impl<'a, T: Rand, R: Rng> Iterator for Generator<'a, T, R> type Item = T;
where
Self: Sized,
fn gen_iter<T: Rand>(&mut self) -> Generator<'_, T, Self>ⓘNotable traits for Generator<'a, T, R>impl<'a, T: Rand, R: Rng> Iterator for Generator<'a, T, R> type Item = T;
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(&mut self) -> AsciiGenerator<'_, Self>ⓘNotable traits for AsciiGenerator<'a, R>impl<'a, R: Rng> Iterator for AsciiGenerator<'a, R> type Item = char;
where
Self: Sized,
fn gen_ascii_chars(&mut self) -> AsciiGenerator<'_, Self>ⓘNotable traits for AsciiGenerator<'a, R>impl<'a, R: Rng> Iterator for AsciiGenerator<'a, R> type Item = char;
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 moresourcefn choose_mut<'a, T>(&mut self, values: &'a mut [T]) -> Option<&'a mut T>where
Self: Sized,
fn choose_mut<'a, T>(&mut self, values: &'a mut [T]) -> Option<&'a mut T>where
Self: Sized,
Return a mutable pointer to a random element from
values
. Read moresourceimpl SeedableRng<[u32; 4]> for XorShiftRng
impl SeedableRng<[u32; 4]> for XorShiftRng
sourcefn reseed(&mut self, seed: [u32; 4])
fn reseed(&mut self, seed: [u32; 4])
Reseed an XorShiftRng. This will panic if seed
is entirely 0.
sourcefn from_seed(seed: [u32; 4]) -> XorShiftRng
fn from_seed(seed: [u32; 4]) -> XorShiftRng
Create a new XorShiftRng. This will panic if seed
is entirely 0.
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
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstablefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> ToOwned for Twhere
T: Clone,
impl<T> ToOwned for Twhere
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
fn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
Uses borrowed data to replace owned data, usually by cloning. Read more