#[derive(Debug, Clone)]
#[non_exhaustive]
pub struct Population<GENOTYPE> {
pub members: Vec<GENOTYPE>,
}
#[derive(Debug, Clone, PartialEq)]
#[allow(clippy::module_name_repetitions)]
#[non_exhaustive]
pub struct EvaluatedPopulation<PHENOTYPE> {
pub members: Vec<Evaluated<PHENOTYPE>>,
}
#[derive(Debug, Clone, PartialEq)]
#[non_exhaustive]
pub struct Evaluated<PHENOTYPE> {
pub phenotype: PHENOTYPE,
pub fitness: f64,
pub adjusted_fitness: f64,
}
#[derive(Debug)]
#[non_exhaustive]
pub struct Species<GENOTYPE> {
pub identifier: (usize, usize),
pub representative: GENOTYPE,
pub population: Population<GENOTYPE>,
}
#[derive(Debug, PartialEq)]
#[non_exhaustive]
#[allow(clippy::module_name_repetitions)] pub struct EvaluatedSpecies<PHENOTYPE> {
pub identifier: (usize, usize),
pub sum_adjusted_fitness: f64,
pub population: EvaluatedPopulation<PHENOTYPE>,
}
#[derive(Debug)]
#[non_exhaustive]
pub struct Parents<PHENOTYPE> {
pub identifier: (usize, usize),
pub max_size: usize,
pub representative: PHENOTYPE,
pub population: EvaluatedPopulation<PHENOTYPE>,
}
#[derive(Debug)]
#[non_exhaustive]
pub struct Bare<GENOTYPE> {
pub identifier: (usize, usize),
pub max_size: usize,
pub representative: GENOTYPE,
}