use crate::types::Spline;
#[must_use]
pub const fn apply_fast_path(spline: Spline, measurement_count: usize) -> Spline {
match spline {
Spline::Linear => Spline::Linear,
Spline::Quadratic => {
if measurement_count > 5000 {
Spline::Linear
} else {
Spline::Quadratic
}
}
Spline::Cubic => {
if measurement_count > 5000 {
Spline::Linear
} else if measurement_count >= 2500 {
Spline::Quadratic
} else {
Spline::Cubic
}
}
Spline::Polynomial(degree, bounds_factor) => {
match degree {
1 => Spline::Linear, 2 => Spline::Quadratic, 3 => Spline::Cubic, _ => Spline::Polynomial(degree, bounds_factor), }
}
}
}