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;
// Required method
fn try_from_u32_lossy(n: u32) -> Option<Self>;
// Provided method
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.
Required Associated Constants§
Required Methods§
sourcefn 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.
Provided Methods§
Object Safety§
This trait is not object safe.