PINE LIBRARY

MathEasingFunctions

Library "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/en-us/dotnet/desktop/wpf/graphics-multimedia/easing-functions

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)
animationeasingfunctionMATHsmoothstatisticsTIMEtransition

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.

Disclaimer