use crate::config::FfnActivation;
use ferrox_moe::GluAct;
impl From<FfnActivation> for GluAct {
fn from(a: FfnActivation) -> Self {
match a {
FfnActivation::Swiglu | FfnActivation::SwigluFused => GluAct::Swiglu,
FfnActivation::Gelu => GluAct::Geglu,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn gelu_maps_to_geglu_and_never_to_swiglu() {
assert_eq!(GluAct::from(FfnActivation::Gelu), GluAct::Geglu);
assert_eq!(GluAct::from(FfnActivation::Swiglu), GluAct::Swiglu);
assert_eq!(GluAct::from(FfnActivation::SwigluFused), GluAct::Swiglu);
}
}