pub struct BlockPRNG<T: BlockStream> { /* private fields */ }
Expand description
The standard block-based PRNG. It accepts a stream and implements
the PRNGenerator
trait on top of it.
Implementations§
Trait Implementations§
Source§impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for f32
impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for f32
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut BlockPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut BlockPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for f64
impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for f64
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut BlockPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut BlockPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for i32
impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for i32
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut BlockPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut BlockPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for i64
impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for i64
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut BlockPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut BlockPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for u32
impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for u32
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut BlockPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut BlockPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for u64
impl<T: BlockStream> PRNConcreteBoundedGenerator<BlockPRNG<T>> for u64
Source§fn generate<TBounds: RangeBounds<Self>>(
generator: &mut BlockPRNG<T>,
range: TBounds,
) -> Self
fn generate<TBounds: RangeBounds<Self>>( generator: &mut BlockPRNG<T>, range: TBounds, ) -> Self
Generates a new pseudo random instance of itself in given range.
Source§impl<const N: usize, T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for [u8; N]
impl<const N: usize, T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for [u8; N]
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for bool
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for bool
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for i128
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for i128
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for i16
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for i16
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for i32
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for i32
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for i64
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for i64
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for i8
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for i8
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for u128
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for u128
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for u16
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for u16
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for u32
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for u32
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for u64
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for u64
Source§impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for u8
impl<T: BlockStream> PRNConcreteGenerator<BlockPRNG<T>> for u8
Source§impl<T: BlockStream> PRNGenerator for BlockPRNG<T>
impl<T: BlockStream> PRNGenerator for BlockPRNG<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: BlockStream> ReprC for BlockPRNG<T>
impl<T: BlockStream> ReprC for BlockPRNG<T>
impl<T: Eq + BlockStream> Eq for BlockPRNG<T>
impl<T: BlockStream> StructuralPartialEq for BlockPRNG<T>
Auto Trait Implementations§
impl<T> Freeze for BlockPRNG<T>
impl<T> RefUnwindSafe for BlockPRNG<T>
impl<T> Send for BlockPRNG<T>
impl<T> Sync for BlockPRNG<T>
impl<T> Unpin for BlockPRNG<T>
impl<T> UnwindSafe for BlockPRNG<T>
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