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.