pub struct BinomialSampler { /* private fields */ }Expand description
Enables sampling a Z according to the binomial distribution Bin(n, p).
Attributes:
distr: defines the binomial distribution with parametersnandpto sample fromrng: defines theThreadRngthat’s used to sample fromdistr
§Examples
use qfall_math::utils::sample::binomial::BinomialSampler;
let n = 2;
let p = 0.5;
let mut bin_sampler = BinomialSampler::init(n, p).unwrap();
let sample = bin_sampler.sample();
assert!(0 <= sample);
assert!(sample <= n);Implementations§
Source§impl BinomialSampler
impl BinomialSampler
Sourcepub fn init(n: impl Into<Z>, p: impl Into<Q>) -> Result<Self, MathError>
pub fn init(n: impl Into<Z>, p: impl Into<Q>) -> Result<Self, MathError>
Initializes the BinomialSampler with
distras the binomial distribution withntries and success probabilitypfor each try, andrngas a freshThreadRng.
Parameters:
n: specifies the number of triesp: specifies the success probability
Returns a BinomialSampler or a MathError if n < 0,
p ∉ (0,1), or n does not fit into an i64.
§Examples
use qfall_math::utils::sample::binomial::BinomialSampler;
let n = 2;
let p = 0.5;
let mut bin_sampler = BinomialSampler::init(n, p).unwrap();§Errors and Failures
- Returns a
MathErrorof typeInvalidIntegerInputifn < 0. - Returns a
MathErrorof typeInvalidIntervalifp ∉ (0,1). - Returns a
MathErrorof typeConversionErrorifndoes not fit into ani64.
Auto Trait Implementations§
impl Freeze for BinomialSampler
impl !RefUnwindSafe for BinomialSampler
impl !Send for BinomialSampler
impl !Sync for BinomialSampler
impl Unpin for BinomialSampler
impl !UnwindSafe for BinomialSampler
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