[][src]Trait rand::distributions::weighted::alias_method::Weight

pub trait Weight: 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 { ... }
}

Trait that must be implemented for weights, that are used with WeightedIndex. Currently no guarantees on the correctness of WeightedIndex are given for custom implementations of this trait.

Associated Constants

const MAX: Self

Maximum number representable by Self.

const ZERO: Self

Element of Self equivalent to 0.

Loading content...

Required methods

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.

Loading content...

Provided methods

fn sum(values: &[Self]) -> Self

Sums all values in slice values.

Loading content...

Implementations on Foreign Types

impl Weight for f64[src]

impl Weight for f32[src]

impl Weight for usize[src]

impl Weight for u128[src]

impl Weight for u64[src]

impl Weight for u32[src]

impl Weight for u16[src]

impl Weight for u8[src]

impl Weight for isize[src]

impl Weight for i128[src]

impl Weight for i64[src]

impl Weight for i32[src]

impl Weight for i16[src]

impl Weight for i8[src]

Loading content...

Implementors

Loading content...