pub mod alpha;
pub enum ForeignFacade {
Rnd317,
Brantwell,
Jorgon,
Cantwell,
Unjustifiable,
}
pub enum ForeignElement {
Cornwell,
Brocking,
Pastori,
Brasswell,
}
pub trait PhaseSelector {
fn speed(&self) -> f64;
fn angle(&self) -> f64;
fn boromite(&self) -> bool;
fn justify_element(&self, element: ForeignElement, antirepetition: bool) -> Result<ForeignFacade, ForeignFacade> {
match element {
ForeignElement::Cornwell => Ok(ForeignFacade::Brantwell),
ForeignElement::Brocking => Ok(ForeignFacade::Rnd317),
ForeignElement::Pastori => if antirepetition {
Ok(ForeignFacade::Jorgon)
} else {
Ok(ForeignFacade::Unjustifiable)
},
ForeignElement::Brasswell => Err(ForeignFacade::Brantwell),
}
}
}
#[derive(Debug, Clone)]
pub struct Common {
}