Internal functions/Numeric functions

From Avisynth

Jump to: navigation, search

[edit] Numeric functions

They provide common mathematical operations on numeric variables.

  • Max   |   v2.58   |   Max(float, float [, ...])
Returns the maximum value of a set of numbers.
Examples:
Max (1, 2) = 2
Max (5, 3.0, 2) = 5.0
  • Min   |   v2.58   |   Min(float, float [, ...])
Returns the minimum value of a set of numbers.
Examples:
Max (1, 2) = 1
Max (5, 3.0, 2) = 2.0
  • MulDiv   |   v2.56   |   MulDiv(int, int, int)
Multiplies two ints (m, n) and divides the product by a third (d) in a single operation, with 64 bit intermediate result. The actual equation used is (m * n + d / 2) / d .
Examples:
MulDiv (1, 1, 2) = 1
MulDiv (2, 3, 2) = 3
  • Floor   |     |   Floor(float)
Converts from float to int (round down on any fractional amount).
Examples:
Floor(1.2) = 1
Floor(1.6) = 1
Floor(-1.2) = -2
Floor(-1.6) = -2
  • Ceil   |     |   Ceil(float)
Converts from float to int (round up on any fractional amount).
Examples:
Ceil(1.2) = 2.0
Ceil(1.6) = 2.0
Ceil(-1.2) = -1
Ceil(-1.6) = -1
  • Round   |     |   Round(float)
Converts from float to int (round off to nearest integer).
Examples:
Round(1.2) = 1
Round(1.6) = 2
Round(-1.2) = -1
Round(-1.6) = -2
  • Sin   |   v2   |   Sin(float)
Returns the sine of the argument (assumes it is radians).
Examples:
Sin(Pi()/4) = 0.707
Sin(Pi()/2) = 1.0
  • Cos   |   v2   |   Cos(float)
Returns the cosine of the argument (assumes it is radians).
Examples:
Cos(Pi()/4) = 0.707
Cos(Pi()/2) = 0.0
  • Pi   |   v2   |   Pi()
Returns the value of the "pi" constant (the ratio of a circle's perimeter to its diameter).
Examples:
d = Pi()    # d == 3.141593
  • Exp   |   v2   |   Exp(float)
Returns the natural (base-e) exponent of the argument.
Examples:
Exp(1) = 2.718282
Exp(0) = 1.0
  • Log   |   v2   |   Log(float)
Returns the natural (base-e) logarithm of the argument.
Examples:
Log(1) = 0.0
Log(10) = 2.30259
Log(Exp(1)) = 1.0
  • Pow   |   v2   |   Pow(float base, float power)
Returns "base" raised to the power indicated by the second argument.
Examples:
Pow(2, 3) = 8
Pow(3, 2) = 9
Pow(3.45, 1.75) = 8.7334
  • Sqrt   |   v2   |   Sqrt(float)
Returns the square root of the argument.
Examples:
Sqrt(1) = 1.0
Sqrt(2) = 1.4142
  • Abs   |   v2.07   |   Abs(float or int)
Returns the absolute value of its argument (returns float for float, integer for integer).
Examples:
Abs(-3.8) = 3.8
Abs(-4) = 4
  • Sign   |   v2.07   |   Sign(float)
Returns the sign of the value passed as argument (1, 0 or -1).
Examples:
Sign(-3.5) = -1
Sign(3.5) = 1
Sign(0) = 0
  • Int   |   v2.07   |   Int(float)
Converts from float to int (round towards zero).
Examples:
Int(1.2) = 1
Int(1.6) = 1
Int(-1.2) = -1
Int(-1.6) = -1
  • Frac   |   v2.07   |   Frac(float)
Returns the fractional portion of the value provided.
Examples:
Frac(3.7) = 0.7
Frac(-1.8) = -0.8
  • Float   |   v2.07   |   Float(int)
Converts int to float.
Examples:
Float(4) = 4.0
Float(4) / 3 = 1.333 (while 4 / 3 = 1 , due to integer division)
  • Rand   |   v2.07   |   Rand([int max] [, bool scale] [, bool seed])
Returns a random integer value. All parameters are optional.
  • max sets the maximum value+1 (default 32768) and can be set negative for negative results. It operates either in scaled or modulus mode (default scale=true only if abs(max) > 32768, false otherwise).
  • Scaled mode (scale=true) scales the internal random number generator value to the maximum value, while modulus mode (scale=false) uses the remainder from an integer divide of the random generator value by the maximum. I found modulus mode is best for smaller maximums.
  • Using seed=true seeds the random number generator with the current time. seed defaults to false and probably isn't necessary, although it's there just in case.
Typically, this function would be used with the Select function for random clips.
Examples:
Select(Rand(5), clip1, clip2, clip3, clip4, clip5)
  • Spline   |   v2.51   |   Spline(float X, x1, y1, x2, y2, .... [, bool cubic])
Interpolates the Y value at point X using the control points x1/y1, ... There have to be at least 2 x/y-pairs. The interpolation can be cubic (the result is a spline) or linear (the result is a polygon).
Examples:
Spline(5, 0, 0, 10, 10, 20, 0, false) = 5
Spline(5, 0, 0, 10, 10, 20, 0, true) = 7

Back to Internal functions.

Personal tools