Trait rand_distr::weighted_alias::AliasableWeight
source · [−]pub trait AliasableWeight: Sized + Copy + SampleUniform + PartialOrd + Add<Output = Self> + AddAssign + Sub<Output = Self> + SubAssign + Mul<Output = Self> + MulAssign + Div<Output = Self> + DivAssign + Sum {
const MAX: Self;
const ZERO: Self;
fn try_from_u32_lossy(n: u32) -> Option<Self>;
fn sum(values: &[Self]) -> Self { ... }
}Expand description
Trait that must be implemented for weights, that are used with
WeightedAliasIndex. Currently no guarantees on the correctness of
WeightedAliasIndex are given for custom implementations of this trait.
Associated Constants
Required methods
fn try_from_u32_lossy(n: u32) -> Option<Self>
fn try_from_u32_lossy(n: u32) -> Option<Self>
Produce an instance of Self from a u32 value, or return None if
out of range. Loss of precision (where Self is a floating point type)
is acceptable.
