#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub enum CoreKind {
Performance,
Efficiency,
LpEfficiency,
Unknown,
}
impl CoreKind {
pub const COUNT: usize = 4;
pub fn index(self) -> usize {
match self {
CoreKind::Performance => 0,
CoreKind::Efficiency => 1,
CoreKind::LpEfficiency => 2,
CoreKind::Unknown => 3,
}
}
}
impl std::fmt::Display for CoreKind {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
CoreKind::Performance => write!(f, "Performance"),
CoreKind::Efficiency => write!(f, "Efficiency"),
CoreKind::LpEfficiency => write!(f, "LpEfficiency"),
CoreKind::Unknown => write!(f, "Unknown"),
}
}
}