Struct rand::distributions::WeightedChoiceUnstable
[-] [+]
[src]
pub struct WeightedChoice<'a, T: 'a> {
// some fields omitted
}A distribution that selects from a finite collection of weighted items.
Each item has an associated weight that influences how likely it is to be chosen: higher weight is more likely.
The Clone restriction is a limitation of the Sample and
IndependentSample traits. Note that &T is (cheaply) Clone for
all T, as is usize, so one can store references or indices into
another vector.
Methods
impl<'a, T: Clone> WeightedChoice<'a, T>
fn new(items: &'a mut [Weighted<T>]) -> WeightedChoice<'a, T>
Create a new WeightedChoice.
Panics if:
- v is empty
- the total weight is 0
- the total weight is larger than a usize can contain.