Skip to main content

simple_easing/
quart.rs

1/// <https://easings.net/#easeInQuart>
2#[inline]
3#[must_use]
4pub fn quart_in(t: f32) -> f32 {
5	t * t * t * t
6}
7
8/// <https://easings.net/#easeOutQuart>
9#[inline]
10#[must_use]
11pub fn quart_out(t: f32) -> f32 {
12	1.0 - (1.0 - t).powi(4)
13}
14
15/// <https://easings.net/#easeInOutQuart>
16#[inline]
17#[must_use]
18pub fn quart_in_out(t: f32) -> f32 {
19	if t < 0.5 {
20		8.0 * t * t * t * t
21	} else {
22		1.0 - (-2.0f32).mul_add(t, 2.0).powi(4) / 2.0
23	}
24}