use std::str::FromStr;
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
pub enum StoppingCriteria {
FirstUIP = 0,
None,
}
impl std::fmt::Display for StoppingCriteria {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::FirstUIP => write!(f, "FirstUIP"),
Self::None => write!(f, "None"),
}
}
}
impl StoppingCriteria {
pub const MIN: StoppingCriteria = StoppingCriteria::FirstUIP;
pub const MAX: StoppingCriteria = StoppingCriteria::None;
}
impl FromStr for StoppingCriteria {
type Err = ();
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
"FirstUIP" => Ok(Self::FirstUIP),
"None" => Ok(Self::None),
_ => Err(()),
}
}
}