use thiserror::Error;
#[derive(Debug, Error)]
pub enum GeneticError {
#[error("invalid initial chromosome")]
InvalidInitialChromosome,
#[error("empty initial chromosome")]
EmptyInitialChromosome,
#[error("invalid population size")]
InvalidPopulationSize,
#[error("could not create valid initial population")]
InitialPopulationTimeout,
#[error("could not create valid offspring")]
MateTimeout,
#[error("an internal error occurred")]
Internal,
}