diff --git a/vlib/math/easing.v b/vlib/math/easing.v deleted file mode 100644 index 1f7b1dd993..0000000000 --- a/vlib/math/easing.v +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright (c) 2020-2022 Leah Lundqvist. All rights reserved. -// Use of this source code is governed by a GPL license -// that can be found in the LICENSE file. -module math - -pub type EasingFunction = fn (arg_1 f64) f64 - -pub enum EasingType { - linear - ease_in_quad - ease_out_quad - ease_in_out_quad - ease_in_cubic - ease_out_cubic - ease_in_out_cubic - ease_in_quart - ease_out_quart - ease_in_out_quart - ease_in_quint - ease_out_quint - ease_in_out_quint -} - -fn linear(x f64) f64 { - return x -} - -fn ease_in_quad(x f64) f64 { - return x * x -} - -fn ease_out_quad(x f64) f64 { - return x * (2.0 - x) -} - -fn ease_in_out_quad(x f64) f64 { - return if x < .5 { 2.0 * x * x } else { -1.0 + (4.0 - 2.0 * x) * x } -} - -fn ease_in_cubic(x f64) f64 { - return x * x * x -} - -fn ease_out_cubic(x f64) f64 { - return (x - 1.0) * (x - 1.0) * (x - 1.0) + 1 -} - -fn ease_in_out_cubic(x f64) f64 { - return if x < .5 { 4.0 * x * x * x } else { (x - 1.0) * (2.0 * x - 2.0) * (2.0 * x - 2.0) + 1.0 } -} - -fn ease_in_quart(x f64) f64 { - return x * x * x * x -} - -fn ease_out_quart(x f64) f64 { - return 1.0 - (x - 1.0) * (x - 1.0) * (x - 1.0) * (x - 1.0) -} - -fn ease_in_out_quart(x f64) f64 { - return if x < 0.5 { - 8.0 * x * x * x * x - } else { - 1.0 - 8.0 * (x - 1.0) * (x - 1.0) * (x - 1.0) * (x - 1.0) - } -} - -fn ease_in_quint(x f64) f64 { - return x * x * x * x * x -} - -fn ease_out_quint(x f64) f64 { - return 1.0 + (x - 1.0) * (x - 1.0) * (x - 1.0) * (x - 1.0) * (x - 1.0) -} - -fn ease_in_out_quint(x f64) f64 { - return if x < 0.5 { - 16.0 * x * x * x * x * x - } else { - 1.0 + 16.0 * (x - 1.0) * (x - 1.0) * (x - 1.0) * (x - 1.0) * (x - 1.0) - } -} - -pub fn easing(easingtype EasingType) EasingFunction { - match easingtype { - .linear { return linear } - .ease_in_quad { return ease_in_quad } - .ease_out_quad { return ease_out_quad } - .ease_in_out_quad { return ease_in_out_quad } - .ease_in_cubic { return ease_in_cubic } - .ease_out_cubic { return ease_out_cubic } - .ease_in_out_cubic { return ease_in_out_cubic } - .ease_in_quart { return ease_in_quart } - .ease_out_quart { return ease_out_quart } - .ease_in_out_quart { return ease_in_out_quart } - .ease_in_quint { return ease_in_quint } - .ease_out_quint { return ease_out_quint } - .ease_in_out_quint { return ease_in_out_quint } - } -}