pub struct StreamPRNG<T: PRStream> { /* private fields */ }Expand description
The standard stream-based PRNG. It accepts a stream and implements
the PRNGenerator trait on top of it.
Implementations§
Source§impl<T: PRStream> StreamPRNG<T>
impl<T: PRStream> StreamPRNG<T>
Sourcepub fn new(stream: T) -> Self
pub fn new(stream: T) -> Self
Creates a new StreamPRNG from a given stream.
Trait Implementations§
Source§impl<T: Clone + PRStream> Clone for StreamPRNG<T>
impl<T: Clone + PRStream> Clone for StreamPRNG<T>
Source§fn clone(&self) -> StreamPRNG<T>
fn clone(&self) -> StreamPRNG<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for f32
impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for f32
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut StreamPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut StreamPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for f64
impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for f64
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut StreamPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut StreamPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for i32
impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for i32
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut StreamPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut StreamPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for i64
impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for i64
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut StreamPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut StreamPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for u32
impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for u32
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut StreamPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut StreamPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for u64
impl<T: PRStream> PRNConcreteBoundedGenerator<StreamPRNG<T>> for u64
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut StreamPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut StreamPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<const N: usize, T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for [u8; N]
impl<const N: usize, T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for [u8; N]
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for bool
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for bool
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for i128
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for i128
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for i16
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for i16
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for i32
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for i32
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for i64
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for i64
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for i8
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for i8
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for u128
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for u128
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for u16
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for u16
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for u32
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for u32
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for u64
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for u64
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for u8
impl<T: PRStream> PRNConcreteGenerator<StreamPRNG<T>> for u8
Source§fn generate(generator: &mut StreamPRNG<T>) -> Self
fn generate(generator: &mut StreamPRNG<T>) -> Self
Generates a new pseudo random instance of itself.
Source§impl<T: PRStream> PRNGenerator for StreamPRNG<T>
impl<T: PRStream> PRNGenerator for StreamPRNG<T>
Source§unsafe fn fill_raw(&mut self, dst_ptr: *mut u8, dst_len: usize)
unsafe fn fill_raw(&mut self, dst_ptr: *mut u8, dst_len: usize)
Fills the given raw buffer with randomness. Read more
Source§fn generate<T>(&mut self) -> Twhere
T: PRNConcreteGenerator<Self>,
fn generate<T>(&mut self) -> Twhere
T: PRNConcreteGenerator<Self>,
Generates pseudo random instance of given type if supported.
This function should support at least i32, u32, i64 and u64
types.
Source§fn generate_in_range<T, TBounds: RangeBounds<T>>(&mut self, range: TBounds) -> Twhere
T: PRNConcreteBoundedGenerator<Self>,
fn generate_in_range<T, TBounds: RangeBounds<T>>(&mut self, range: TBounds) -> Twhere
T: PRNConcreteBoundedGenerator<Self>,
Generates a pseudo random number in given range, if supported.
Source§impl<T: PRStream> ReprC for StreamPRNG<T>
impl<T: PRStream> ReprC for StreamPRNG<T>
impl<T: Eq + PRStream> Eq for StreamPRNG<T>
impl<T: PRStream> StructuralPartialEq for StreamPRNG<T>
Auto Trait Implementations§
impl<T> Freeze for StreamPRNG<T>where
T: Freeze,
impl<T> RefUnwindSafe for StreamPRNG<T>where
T: RefUnwindSafe,
impl<T> Send for StreamPRNG<T>where
T: Send,
impl<T> Sync for StreamPRNG<T>where
T: Sync,
impl<T> Unpin for StreamPRNG<T>where
T: Unpin,
impl<T> UnsafeUnpin for StreamPRNG<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for StreamPRNG<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more