Trait genotype::ParamHolder [−][src]
pub trait ParamHolder { fn param_count(&self) -> usize; fn get_param(&mut self, index: usize) -> &mut RangedParam; }
An entity with multiple parameters, i.e. a chromosone.
Examples
struct Weight(Param); struct Height(Param); impl RangedParam for Weight { fn range(&self) -> (Param, Param) { (40.0, 100.0) } // ... } impl RangedParam for Height { fn range(&self) -> (Param, Param) { (140.0, 185.0) } // ... } struct Human { weight: Weight, height: Height, } impl ParamHolder for Human { fn param_count(&self) -> usize { 2 } fn get_param(&mut self, index: usize) -> &mut RangedParam { match index { 0 => &mut self.weight, 1 => &mut self.height, _ => panic!("Bad index"), } } }
Required Methods
fn param_count(&self) -> usize
The number of parameters/genes on this chromosone.
fn get_param(&mut self, index: usize) -> &mut RangedParam
Implementors
impl<P: RangedParam> ParamHolder for ParamSet3d<P>
impl<P: RangedParam> ParamHolder for ParamSet2d<P>