pub mod eagle;
pub mod eagle3;
pub mod medusa;
pub mod vanilla;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "kebab-case")]
pub enum Method {
Autoregressive,
Vanilla,
Medusa,
Eagle2,
Eagle3,
}
impl Method {
pub const fn name(self) -> &'static str {
match self {
Method::Autoregressive => "autoregressive",
Method::Vanilla => "vanilla-sd",
Method::Medusa => "medusa",
Method::Eagle2 => "eagle-2",
Method::Eagle3 => "eagle-3",
}
}
pub const fn needs_draft_model(self) -> bool {
matches!(self, Method::Vanilla | Method::Eagle2 | Method::Eagle3)
}
}