MathEasingFunctionsLibrary   "MathEasingFunctions" 
A collection of Easing functions.
Easing functions are commonly used for smoothing actions over time, They are used to smooth out the sharp edges
of a function and make it more pleasing to the eye, like for example the motion of a object through time.
Easing functions can be used in a variety of applications, including animation, video games, and scientific 
simulations. They are a powerful tool for creating realistic visual effects and can help to make your work more 
engaging and enjoyable to the eye.
---
Includes functions for ease in, ease out, and, ease in and out, for the following constructs:
sine, quadratic, cubic, quartic, quintic, exponential, elastic, circle, back, bounce.
---
Reference:
easings.net
learn.microsoft.com
 ease_in_sine_unbound(v) 
  Sinusoidal function, the position over elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_sine(v) 
  Sinusoidal function, the position over elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_sine_unbound(v) 
  Sinusoidal function, the position over elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_sine(v) 
  Sinusoidal function, the position over elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_sine_unbound(v) 
  Sinusoidal function, the position over elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_sine(v) 
  Sinusoidal function, the position over elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_quad_unbound(v) 
  Quadratic function, the position equals the square of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_quad(v) 
  Quadratic function, the position equals the square of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_quad_unbound(v) 
  Quadratic function, the position equals the square of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_quad(v) 
  Quadratic function, the position equals the square of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_quad_unbound(v) 
  Quadratic function, the position equals the square of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_quad(v) 
  Quadratic function, the position equals the square of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_cubic_unbound(v) 
  Cubic function, the position equals the cube of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_cubic(v) 
  Cubic function, the position equals the cube of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_cubic_unbound(v) 
  Cubic function, the position equals the cube of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_cubic(v) 
  Cubic function, the position equals the cube of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_cubic_unbound(v) 
  Cubic function, the position equals the cube of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_cubic(v) 
  Cubic function, the position equals the cube of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_quart_unbound(v) 
  Quartic function, the position equals the formula `f(t)=t^4` of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_quart(v) 
  Quartic function, the position equals the formula `f(t)=t^4` of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_quart_unbound(v) 
  Quartic function, the position equals the formula `f(t)=t^4` of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_quart(v) 
  Quartic function, the position equals the formula `f(t)=t^4` of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_quart_unbound(v) 
  Quartic function, the position equals the formula `f(t)=t^4` of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_quart(v) 
  Quartic function, the position equals the formula `f(t)=t^4` of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_quint_unbound(v) 
  Quintic function, the position equals the formula `f(t)=t^5` of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_quint(v) 
  Quintic function, the position equals the formula `f(t)=t^5` of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_quint_unbound(v) 
  Quintic function, the position equals the formula `f(t)=t^5` of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_quint(v) 
  Quintic function, the position equals the formula `f(t)=t^5` of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_quint_unbound(v) 
  Quintic function, the position equals the formula `f(t)=t^5` of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_quint(v) 
  Quintic function, the position equals the formula `f(t)=t^5` of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_expo_unbound(v) 
  Exponential function, the position equals the exponential formula of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_expo(v) 
  Exponential function, the position equals the exponential formula of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_expo_unbound(v) 
  Exponential function, the position equals the exponential formula of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_expo(v) 
  Exponential function, the position equals the exponential formula of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_expo_unbound(v) 
  Exponential function, the position equals the exponential formula of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_expo(v) 
  Exponential function, the position equals the exponential formula of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_circ_unbound(v) 
  Circular function, the position equals the circular formula of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_circ(v) 
  Circular function, the position equals the circular formula of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_circ_unbound(v) 
  Circular function, the position equals the circular formula of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_circ(v) 
  Circular function, the position equals the circular formula of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_circ_unbound(v) 
  Circular function, the position equals the circular formula of elapsed time (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_circ(v) 
  Circular function, the position equals the circular formula of elapsed time (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_back_unbound(v) 
  Back function, the position retreats a bit before resuming (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_back(v) 
  Back function, the position retreats a bit before resuming (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_back_unbound(v) 
  Back function, the position retreats a bit before resuming (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_back(v) 
  Back function, the position retreats a bit before resuming (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_back_unbound(v) 
  Back function, the position retreats a bit before resuming (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_back(v) 
  Back function, the position retreats a bit before resuming (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_elastic_unbound(v) 
  Elastic function, the position oscilates back and forth like a spring (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_elastic(v) 
  Elastic function, the position oscilates back and forth like a spring (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_elastic_unbound(v) 
  Elastic function, the position oscilates back and forth like a spring (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_elastic(v) 
  Elastic function, the position oscilates back and forth like a spring (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_elastic_unbound(v) 
  Elastic function, the position oscilates back and forth like a spring (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_elastic(v) 
  Elastic function, the position oscilates back and forth like a spring (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_bounce_unbound(v) 
  Bounce function, the position bonces from the boundery (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_bounce(v) 
  Bounce function, the position bonces from the boundery (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_bounce_unbound(v) 
  Bounce function, the position bonces from the boundery (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_out_bounce(v) 
  Bounce function, the position bonces from the boundery (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_bounce_unbound(v) 
  Bounce function, the position bonces from the boundery (unbound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 ease_in_out_bounce(v) 
  Bounce function, the position bonces from the boundery (bound).
  Parameters:
     v (float) : `float` Elapsed time.
  Returns: Ratio of change.
 select(v, formula, effect, bounded) 
  Parameters:
     v (float) 
     formula (string) 
     effect (string) 
     bounded (bool)
Transition
[CLX] Library Motion - Examples📑 Showcase
This is ready-to-show indicator version of the example code form the `motion` library. It can be used to create string- or color-based effects.
Library: 
================================================================================
📑 Setup
To use this library in your own scripts, you must first import it. To do this, add the following line to the top of your script:
 import cryptolinx/Motion/1 as motion 
Next, create a `keyframe` object by using the `varip` keyword.
 varip myKeyframe = motion.keyframe.new(_intv = 1, _steps = 1) 
Based on your needs, you can now use one of the simplified functions to create a transition effect, or you can use the `transition()` or `iteration()` function to create a custom transition effect.
📑 Simplified Functions:
 (direct output) 
 
// motion.marquee(keyframe myKeyframe, string _seq, int _ws, int _maxLoops, bool _ltr)
motion.marquee(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
// motion.slideInLeft(keyframe myKeyframe, string _seq, int _ws, int _maxLoops, bool _refill)
motion.slideInLeft(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
// motion.slideOutLeft(keyframe myKeyframe, string _seq, int _ws, int _maxLoops, bool _refill)
motion.slideOutLeft(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
// motion.slideInRight(keyframe myKeyframe, string _seq, int _ws, int _maxLoops, bool _refill)
motion.slideInRight(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
// motion.slideOutRight(keyframe myKeyframe, string _seq, int _ws, int _maxLoops, bool _refill)
motion.slideOutRight(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
// motion.blink(keyframe myKeyframe, string _seq, int _ws, int _maxLoops)
motion.blink(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
 
 (indirect output) 
 
// After you create a transition, you can use the `output` field of the `keyframe` object to get the result.
// motion.marquee(myKeyframe, 'Hello World!', 3, 0)
myKeyframe.output

