///|
/// Sine acceleration.
pub fn sine_in(t : Double) -> Double {
ease_sine_in(t)
}
///|
/// Sine deceleration.
pub fn sine_out(t : Double) -> Double {
ease_sine_out(t)
}
///|
/// Sine acceleration followed by deceleration.
pub fn sine_in_out(t : Double) -> Double {
ease_sine_in_out(t)
}
///|
pub fn expo_in(t : Double) -> Double {
if t <= 0.0 {
0.0
} else {
power(2.0, 10.0 * (t - 1.0))
}
}
///|
pub fn expo_out(t : Double) -> Double {
if t >= 1.0 {
1.0
} else {
1.0 - power(2.0, -10.0 * t)
}
}
///|
pub fn expo_in_out(t : Double) -> Double {
if t <= 0.0 || t >= 1.0 {
t
} else if t < 0.5 {
power(2.0, 20.0 * t - 10.0) / 2.0
} else {
(2.0 - power(2.0, -20.0 * t + 10.0)) / 2.0
}
}
///|
pub fn circ_in(t : Double) -> Double {
1.0 - (1.0 - square(t)).sqrt()
}
///|
pub fn circ_out(t : Double) -> Double {
(1.0 - square(t - 1.0)).sqrt()
}
///|
pub fn circ_in_out(t : Double) -> Double {
if t < 0.5 {
(1.0 - (1.0 - square(2.0 * t)).sqrt()) / 2.0
} else {
((1.0 - square(2.0 * t - 2.0)).sqrt() + 1.0) / 2.0
}
}