pub struct SimRng { /* private fields */ }Expand description
Seeded RNG wrapper for deterministic simulation
Implementations§
Source§impl SimRng
impl SimRng
Sourcepub fn gen_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
pub fn gen_range<T, R>(&mut self, range: R) -> Twhere
T: SampleUniform,
R: SampleRange<T>,
Generate a random value in the given range
Sourcepub fn gen_bool(&mut self, p: f64) -> bool
pub fn gen_bool(&mut self, p: f64) -> bool
Generate a random bool with the given probability of true
Sourcepub fn exponential(&mut self, rate: f64) -> f64
pub fn exponential(&mut self, rate: f64) -> f64
Generate an exponential random variable
Used for inter-arrival times in Poisson processes. Mean = 1/rate
Sourcepub fn poisson(&mut self, lambda: f64) -> u32
pub fn poisson(&mut self, lambda: f64) -> u32
Generate a Poisson random variable
Returns the number of events in a unit interval given the rate.
Sourcepub fn negbin(&mut self, mean: f64, dispersion: f64) -> u32
pub fn negbin(&mut self, mean: f64, dispersion: f64) -> u32
Generate from a negative binomial distribution
Used for order line counts. Returns at least 1. Uses Gamma-Poisson mixture.
Sourcepub fn zipf(&mut self, n: usize, alpha: f64) -> usize
pub fn zipf(&mut self, n: usize, alpha: f64) -> usize
Generate from a Zipf distribution
Used for SKU popularity. Returns an index in [0, n).
Sourcepub fn lognormal(&mut self, mean: f64, stddev: f64) -> f64
pub fn lognormal(&mut self, mean: f64, stddev: f64) -> f64
Generate a lognormal random variable
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SimRng
impl RefUnwindSafe for SimRng
impl Send for SimRng
impl Sync for SimRng
impl Unpin for SimRng
impl UnwindSafe for SimRng
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.