[][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]

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

impl Weight for u128[src]

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

impl Weight for u64[src]

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

impl Weight for u32[src]

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

impl Weight for u16[src]

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

impl Weight for u8[src]

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

impl Weight for isize[src]

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

impl Weight for i128[src]

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

impl Weight for i64[src]

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

impl Weight for i32[src]

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

impl Weight for i16[src]

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

impl Weight for i8[src]

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

Loading content...

Implementors

Loading content...