pub struct Rng { /* private fields */ }
Expand description
Recommended engine. Currently Xorshift128+.
Implementations§
Source§impl Rng
impl Rng
Sourcepub fn iter<T: 'static>(
&mut self,
rand: fn(&mut Self) -> T,
) -> impl '_ + Iterator<Item = T>
pub fn iter<T: 'static>( &mut self, rand: fn(&mut Self) -> T, ) -> impl '_ + Iterator<Item = T>
A helper function to turn random number generation into an iterator.
Example:
use tiny_rng::{Rng, Rand};
let mut rng = Rng::from_seed(0);
for x in rng.iter(Rand::rand_u32).take(10) {
println!("0x{:08x}", x);
}
Trait Implementations§
Source§impl Rand for Rng
impl Rand for Rng
Source§fn from_seed(seed: u64) -> Self
fn from_seed(seed: u64) -> Self
To obtain reproducible results.
If feature
std
is enabled, from_time()
may be used instead,
to use system time as microseconds as a seed. Apply
from_seed(random_seed())
to establish a faster local RNG
from a global seed RNG.Source§fn rand_usize(&mut self) -> usize
fn rand_usize(&mut self) -> usize
A sample from the uniform distribution on
0..=usize::MAX
.Source§fn rand_bounded_u32(&mut self, m: u32) -> u32
fn rand_bounded_u32(&mut self, m: u32) -> u32
A sample from the uniform distribution on
0..m
.Source§fn rand_bounded_u64(&mut self, m: u64) -> u64
fn rand_bounded_u64(&mut self, m: u64) -> u64
A sample from the uniform distribution on
0..m
.Source§fn rand_bounded_usize(&mut self, m: usize) -> usize
fn rand_bounded_usize(&mut self, m: usize) -> usize
A sample from the uniform distribution on
0..m
.Source§fn rand_range_u32(&mut self, a: u32, b: u32) -> u32
fn rand_range_u32(&mut self, a: u32, b: u32) -> u32
A sample from the uniform distribution on
a..b
.Source§fn rand_range_u64(&mut self, a: u64, b: u64) -> u64
fn rand_range_u64(&mut self, a: u64, b: u64) -> u64
A sample from the uniform distribution on
a..b
.Source§fn rand_range_i32(&mut self, a: i32, b: i32) -> i32
fn rand_range_i32(&mut self, a: i32, b: i32) -> i32
A sample from the uniform distribution on
a..b
.Source§fn rand_range_i64(&mut self, a: i64, b: i64) -> i64
fn rand_range_i64(&mut self, a: i64, b: i64) -> i64
A sample from the uniform distribution on
a..b
.Source§fn rand_f32(&mut self) -> f32
fn rand_f32(&mut self) -> f32
A sample from the uniform distribution on the interval [0, 1).
⚠️ WARNING: Achieving uniform distribution of floats is complex and requires analysis yet to be accomplished.
⚠️ WARNING: Achieving uniform distribution of floats is complex and requires analysis yet to be accomplished.
Source§fn rand_f64(&mut self) -> f64
fn rand_f64(&mut self) -> f64
A sample from the uniform distribution on the interval [0, 1).
⚠️ WARNING: Achieving uniform distribution of floats is complex and requires analysis yet to be accomplished.
⚠️ WARNING: Achieving uniform distribution of floats is complex and requires analysis yet to be accomplished.
Source§fn choice<'a, T>(&mut self, a: &'a [T]) -> &'a T
fn choice<'a, T>(&mut self, a: &'a [T]) -> &'a T
A sample from the uniform distribution on the non-empty slice.
Auto Trait Implementations§
impl Freeze for Rng
impl RefUnwindSafe for Rng
impl Send for Rng
impl Sync for Rng
impl Unpin for Rng
impl UnwindSafe for Rng
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