pub struct Gunbel { /* private fields */ }Expand description
Gunbel Distribution
§Examples
let mut gunbel = rand_simple::Gunbel::new(1192u32);
assert_eq!(format!("{gunbel}"), "Gu(Location parameter, Scale parameter) = Gu(0, 1)");
println!("Returns a random number -> {}", gunbel.sample());
// If you want to change the parameters of the random variable
let location: f64 = 3_f64;
let scale: f64 = 1.5_f64;
let result: Result<(f64, f64), &str> = gunbel.try_set_params(location, scale);
assert_eq!(format!("{gunbel}"), "Gu(Location parameter, Scale parameter) = Gu(3, 1.5)");
println!("Returns a random number -> {}", gunbel.sample());Implementations§
Source§impl Gunbel
impl Gunbel
Sourcepub fn sample(&mut self) -> f64
pub fn sample(&mut self) -> f64
Calculate a random number from the distribution. The method used is Algorithm 3.53: Inverse Transform Sampling.
§Examples
let mut gunbel = rand_simple::Gunbel::new(1192u32);
let result = gunbel.sample();
println!("Random number from Gunbel distribution: {}", result);Sourcepub fn try_set_params(
&mut self,
location: f64,
scale: f64,
) -> Result<(f64, f64), &str>
pub fn try_set_params( &mut self, location: f64, scale: f64, ) -> Result<(f64, f64), &str>
Try to set parameters of the probability variable.
location- Location parameterscale- Scale parameter
§Errors
Returns an error if the scale parameter is less than or equal to zero. In such cases, the parameters of the probability variable are maintained from the previous setting.
§Examples
let mut gunbel = rand_simple::Gunbel::new(1192u32);
let location: f64 = 2_f64;
let scale: f64 = 1.5_f64;
let result: Result<(f64, f64), &str> = gunbel.try_set_params(location, scale);
assert_eq!(format!("{gunbel}"), "Gu(Location parameter, Scale parameter) = Gu(2, 1.5)");Trait Implementations§
Auto Trait Implementations§
impl Freeze for Gunbel
impl RefUnwindSafe for Gunbel
impl Send for Gunbel
impl Sync for Gunbel
impl Unpin for Gunbel
impl UnwindSafe for Gunbel
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