PINE LIBRARY

Interpolation

Library "Interpolation"
Functions for interpolating values. Can be useful in signal processing or applied as a sigmoid function.

linear(k, delta, offset, unbound) Returns the linear adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the line the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

quadIn(k, delta, offset, unbound) Returns the quadratic (easing-in) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

quadOut(k, delta, offset, unbound) Returns the quadratic (easing-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

quadInOut(k, delta, offset, unbound) Returns the quadratic (easing-in-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

cubicIn(k, delta, offset, unbound) Returns the cubic (easing-in) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

cubicOut(k, delta, offset, unbound) Returns the cubic (easing-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

cubicInOut(k, delta, offset, unbound) Returns the cubic (easing-in-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

expoIn(k, delta, offset, unbound) Returns the exponential (easing-in) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

expoOut(k, delta, offset, unbound) Returns the exponential (easing-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

expoInOut(k, delta, offset, unbound) Returns the exponential (easing-in-out) adjusted value.
  Parameters:
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).

using(fn, k, delta, offset, unbound) Returns the adjusted value by function name.
  Parameters:
    fn: The name of the function. Allowed values: linear, quadIn, quadOut, quadInOut, cubicIn, cubicOut, cubicInOut, expoIn, expoOut, expoInOut.
    k: A number (float) from 0 to 1 representing where the on the curve the value is.
    delta: The amount the value should change as k reaches 1.
    offset: The start value.
    unbound: When true, k values less than 0 or greater than 1 are still calculated. When false (default), k values less than 0 will return the offset value and values greater than 1 will return (offset + delta).
interpolationMATH

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