Enum WeightError

#[non_exhaustive]
pub enum WeightError

Invalid weight errors

This type represents errors from WeightedIndex::new, WeightedIndex::update_weights and other weighted distributions.

Variants

InvalidInput

The input weight sequence is empty, too long, or wrongly ordered

InvalidWeight

A weight is negative, too large for the distribution, or not a valid number

InsufficientNonZero

Not enough non-zero weights are available to sample values

When attempting to sample a single value this implies that all weights are zero. When attempting to sample amount values this implies that less than amount weights are greater than zero.

Overflow

Overflow when calculating the sum of weights

Trait Implementations

impl Clone for Error

fn clone(&self) -> Error

impl Copy for Error

impl Debug for Error

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl Display for Error

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl Eq for Error

impl Error for Error

impl PartialEq for Error

fn eq(&self, other: &Error) -> bool

impl StructuralPartialEq for Error

Auto Trait Implementations

impl Freeze for Error

impl RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl UnsafeUnpin for Error

impl UnwindSafe for Error

Blanket Implementations

impl<T> Any for Error where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Error where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Error where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for Error where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for Error

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for Error where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T> ToString for Error where T: Display + ?Sized,

fn to_string(&self) -> String

impl<T, U> Into<U> for Error where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for Error where U: Into<T>,

type Error = Infallible;
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto<U> for Error where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>