feat: add #[must_use] to all functions

This commit is contained in:
2026-02-15 12:19:53 +01:00
parent 303028dc10
commit b4f5d73cbd
11 changed files with 33 additions and 0 deletions
+3
View File
@@ -4,18 +4,21 @@ const C3: f32 = C1 + 1.0;
/// <https://easings.net/#easeInBack> /// <https://easings.net/#easeInBack>
#[inline] #[inline]
#[must_use]
pub fn back_in(t: f32) -> f32 { pub fn back_in(t: f32) -> f32 {
C3 * t * t * t - C1 * t * t C3 * t * t * t - C1 * t * t
} }
/// <https://easings.net/#easeOutBack> /// <https://easings.net/#easeOutBack>
#[inline] #[inline]
#[must_use]
pub fn back_out(t: f32) -> f32 { pub fn back_out(t: f32) -> f32 {
1.0 + C3 * (t - 1.0).powi(3) + C1 * (t - 1.0).powi(2) 1.0 + C3 * (t - 1.0).powi(3) + C1 * (t - 1.0).powi(2)
} }
/// <https://easings.net/#easeInOutBack> /// <https://easings.net/#easeInOutBack>
#[inline] #[inline]
#[must_use]
pub fn back_in_out(t: f32) -> f32 { pub fn back_in_out(t: f32) -> f32 {
if t < 0.5 { if t < 0.5 {
((2.0 * t).powi(2) * ((C2 + 1.0) * 2.0 * t - C2)) / 2.0 ((2.0 * t).powi(2) * ((C2 + 1.0) * 2.0 * t - C2)) / 2.0
+3
View File
@@ -1,11 +1,13 @@
/// <https://easings.net/#easeInBounce> /// <https://easings.net/#easeInBounce>
#[inline] #[inline]
#[must_use]
pub fn bounce_in(t: f32) -> f32 { pub fn bounce_in(t: f32) -> f32 {
1.0 - bounce_out(1.0 - t) 1.0 - bounce_out(1.0 - t)
} }
/// <https://easings.net/#easeOutBounce> /// <https://easings.net/#easeOutBounce>
#[inline] #[inline]
#[must_use]
pub fn bounce_out(t: f32) -> f32 { pub fn bounce_out(t: f32) -> f32 {
const N1: f32 = 7.5625; const N1: f32 = 7.5625;
const D1: f32 = 2.75; const D1: f32 = 2.75;
@@ -22,6 +24,7 @@ pub fn bounce_out(t: f32) -> f32 {
/// <https://easings.net/#easeInOutBounce> /// <https://easings.net/#easeInOutBounce>
#[inline] #[inline]
#[must_use]
pub fn bounce_in_out(t: f32) -> f32 { pub fn bounce_in_out(t: f32) -> f32 {
if t < 0.5 { if t < 0.5 {
(1.0 - bounce_out(1.0 - 2.0 * t)) / 2.0 (1.0 - bounce_out(1.0 - 2.0 * t)) / 2.0
+3
View File
@@ -1,17 +1,20 @@
/// <https://easings.net/#easeInCirc> /// <https://easings.net/#easeInCirc>
#[inline] #[inline]
#[must_use]
pub fn circ_in(t: f32) -> f32 { pub fn circ_in(t: f32) -> f32 {
1.0 - (1.0 - t.powi(2)).sqrt() 1.0 - (1.0 - t.powi(2)).sqrt()
} }
/// <https://easings.net/#easeOutCirc> /// <https://easings.net/#easeOutCirc>
#[inline] #[inline]
#[must_use]
pub fn circ_out(t: f32) -> f32 { pub fn circ_out(t: f32) -> f32 {
(1.0 - (t - 1.0).powi(2)).sqrt() (1.0 - (t - 1.0).powi(2)).sqrt()
} }
/// <https://easings.net/#easeInOutCirc> /// <https://easings.net/#easeInOutCirc>
#[inline] #[inline]
#[must_use]
pub fn circ_in_out(t: f32) -> f32 { pub fn circ_in_out(t: f32) -> f32 {
if t < 0.5 { if t < 0.5 {
(1.0 - (1.0 - (2.0 * t).powi(2)).sqrt()) / 2.0 (1.0 - (1.0 - (2.0 * t).powi(2)).sqrt()) / 2.0
+3
View File
@@ -1,17 +1,20 @@
/// <https://easings.net/#easeInCubic> /// <https://easings.net/#easeInCubic>
#[inline] #[inline]
#[must_use]
pub fn cubic_in(t: f32) -> f32 { pub fn cubic_in(t: f32) -> f32 {
t * t * t t * t * t
} }
/// <https://easings.net/#easeOutCubic> /// <https://easings.net/#easeOutCubic>
#[inline] #[inline]
#[must_use]
pub fn cubic_out(t: f32) -> f32 { pub fn cubic_out(t: f32) -> f32 {
1.0 - (1.0 - t).powi(3) 1.0 - (1.0 - t).powi(3)
} }
/// <https://easings.net/#easeInOutCubic> /// <https://easings.net/#easeInOutCubic>
#[inline] #[inline]
#[must_use]
pub fn cubic_in_out(t: f32) -> f32 { pub fn cubic_in_out(t: f32) -> f32 {
if t < 0.5 { if t < 0.5 {
4.0 * t * t * t 4.0 * t * t * t
+3
View File
@@ -5,6 +5,7 @@ const C5: f32 = (2.0 * PI) / 4.5;
/// <https://easings.net/#easeInElastic> /// <https://easings.net/#easeInElastic>
#[inline] #[inline]
#[must_use]
pub fn elastic_in(t: f32) -> f32 { pub fn elastic_in(t: f32) -> f32 {
if t <= 0.0 { if t <= 0.0 {
0.0 0.0
@@ -17,6 +18,7 @@ pub fn elastic_in(t: f32) -> f32 {
/// <https://easings.net/#easeOutElastic> /// <https://easings.net/#easeOutElastic>
#[inline] #[inline]
#[must_use]
pub fn elastic_out(t: f32) -> f32 { pub fn elastic_out(t: f32) -> f32 {
if t <= 0.0 { if t <= 0.0 {
0.0 0.0
@@ -29,6 +31,7 @@ pub fn elastic_out(t: f32) -> f32 {
/// <https://easings.net/#easeInOutElastic> /// <https://easings.net/#easeInOutElastic>
#[inline] #[inline]
#[must_use]
pub fn elastic_in_out(t: f32) -> f32 { pub fn elastic_in_out(t: f32) -> f32 {
if t <= 0.0 { if t <= 0.0 {
0.0 0.0
+3
View File
@@ -1,5 +1,6 @@
/// <https://easings.net/#easeInExpo> /// <https://easings.net/#easeInExpo>
#[inline] #[inline]
#[must_use]
pub fn expo_in(t: f32) -> f32 { pub fn expo_in(t: f32) -> f32 {
if t <= 0.0 { if t <= 0.0 {
0.0 0.0
@@ -10,6 +11,7 @@ pub fn expo_in(t: f32) -> f32 {
/// <https://easings.net/#easeOutExpo> /// <https://easings.net/#easeOutExpo>
#[inline] #[inline]
#[must_use]
pub fn expo_out(t: f32) -> f32 { pub fn expo_out(t: f32) -> f32 {
if 1.0 <= t { if 1.0 <= t {
1.0 1.0
@@ -20,6 +22,7 @@ pub fn expo_out(t: f32) -> f32 {
/// <https://easings.net/#easeInOutExpo> /// <https://easings.net/#easeInOutExpo>
#[inline] #[inline]
#[must_use]
pub fn expo_in_out(t: f32) -> f32 { pub fn expo_in_out(t: f32) -> f32 {
if t <= 0.0 { if t <= 0.0 {
0.0 0.0
+3
View File
@@ -43,12 +43,14 @@ pub use quint::*;
pub use sine::*; pub use sine::*;
#[inline] #[inline]
#[must_use]
pub fn linear(t: f32) -> f32 { pub fn linear(t: f32) -> f32 {
t t
} }
/// A linear easing that goes from `1.0` to `0.0`. /// A linear easing that goes from `1.0` to `0.0`.
#[inline] #[inline]
#[must_use]
pub fn reverse(t: f32) -> f32 { pub fn reverse(t: f32) -> f32 {
1.0 - t 1.0 - t
} }
@@ -64,6 +66,7 @@ pub fn reverse(t: f32) -> f32 {
/// assert!((ascending - descending).abs() < 0.001); /// assert!((ascending - descending).abs() < 0.001);
/// ``` /// ```
#[inline] #[inline]
#[must_use]
pub fn roundtrip(t: f32) -> f32 { pub fn roundtrip(t: f32) -> f32 {
if t < 0.5 { t * 2.0 } else { (1.0 - t) * 2.0 } if t < 0.5 { t * 2.0 } else { (1.0 - t) * 2.0 }
} }
+3
View File
@@ -1,17 +1,20 @@
/// <https://easings.net/#easeInQuad> /// <https://easings.net/#easeInQuad>
#[inline] #[inline]
#[must_use]
pub fn quad_in(t: f32) -> f32 { pub fn quad_in(t: f32) -> f32 {
t * t t * t
} }
/// <https://easings.net/#easeOutQuad> /// <https://easings.net/#easeOutQuad>
#[inline] #[inline]
#[must_use]
pub fn quad_out(t: f32) -> f32 { pub fn quad_out(t: f32) -> f32 {
1.0 - (1.0 - t).powi(2) 1.0 - (1.0 - t).powi(2)
} }
/// <https://easings.net/#easeInOutQuad> /// <https://easings.net/#easeInOutQuad>
#[inline] #[inline]
#[must_use]
pub fn quad_in_out(t: f32) -> f32 { pub fn quad_in_out(t: f32) -> f32 {
if t < 0.5 { if t < 0.5 {
2.0 * t * t 2.0 * t * t
+3
View File
@@ -1,17 +1,20 @@
/// <https://easings.net/#easeInQuart> /// <https://easings.net/#easeInQuart>
#[inline] #[inline]
#[must_use]
pub fn quart_in(t: f32) -> f32 { pub fn quart_in(t: f32) -> f32 {
t * t * t * t t * t * t * t
} }
/// <https://easings.net/#easeOutQuart> /// <https://easings.net/#easeOutQuart>
#[inline] #[inline]
#[must_use]
pub fn quart_out(t: f32) -> f32 { pub fn quart_out(t: f32) -> f32 {
1.0 - (1.0 - t).powi(4) 1.0 - (1.0 - t).powi(4)
} }
/// <https://easings.net/#easeInOutQuart> /// <https://easings.net/#easeInOutQuart>
#[inline] #[inline]
#[must_use]
pub fn quart_in_out(t: f32) -> f32 { pub fn quart_in_out(t: f32) -> f32 {
if t < 0.5 { if t < 0.5 {
8.0 * t * t * t * t 8.0 * t * t * t * t
+3
View File
@@ -1,17 +1,20 @@
/// <https://easings.net/#easeInQuint> /// <https://easings.net/#easeInQuint>
#[inline] #[inline]
#[must_use]
pub fn quint_in(t: f32) -> f32 { pub fn quint_in(t: f32) -> f32 {
t * t * t * t t * t * t * t
} }
/// <https://easings.net/#easeOutQuint> /// <https://easings.net/#easeOutQuint>
#[inline] #[inline]
#[must_use]
pub fn quint_out(t: f32) -> f32 { pub fn quint_out(t: f32) -> f32 {
1.0 - (1.0 - t).powi(5) 1.0 - (1.0 - t).powi(5)
} }
/// <https://easings.net/#easeInOutQuint> /// <https://easings.net/#easeInOutQuint>
#[inline] #[inline]
#[must_use]
pub fn quint_in_out(t: f32) -> f32 { pub fn quint_in_out(t: f32) -> f32 {
if t < 0.5 { if t < 0.5 {
16.0 * t * t * t * t * t 16.0 * t * t * t * t * t
+3
View File
@@ -2,18 +2,21 @@ use ::std::f32::consts::PI;
/// <https://easings.net/#easeInSine> /// <https://easings.net/#easeInSine>
#[inline] #[inline]
#[must_use]
pub fn sine_in(t: f32) -> f32 { pub fn sine_in(t: f32) -> f32 {
1.0 - (t * PI / 2.0).cos() 1.0 - (t * PI / 2.0).cos()
} }
/// <https://easings.net/#easeOutSine> /// <https://easings.net/#easeOutSine>
#[inline] #[inline]
#[must_use]
pub fn sine_out(t: f32) -> f32 { pub fn sine_out(t: f32) -> f32 {
(t * PI / 2.0).sin() (t * PI / 2.0).sin()
} }
/// <https://easings.net/#easeInOutSine> /// <https://easings.net/#easeInOutSine>
#[inline] #[inline]
#[must_use]
pub fn sine_in_out(t: f32) -> f32 { pub fn sine_in_out(t: f32) -> f32 {
-((PI * t).cos() - 1.0) / 2.0 -((PI * t).cos() - 1.0) / 2.0
} }