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§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.