Functions available from code: abs(value) = returns the absolute value of 'value' sin(value) = returns the sine of the radian angle 'value' cos(value) = returns the cosine of the radian angle 'value' tan(value) = returns the tangent of the radian angle 'value' asin(value) = returns the arcsine (in radians) of 'value' acos(value) = returns the arccosine (in radians) of 'value' atan(value) = returns the arctangent (in radians) of 'value' atan2(value,value2) = returns the arctangent (in radians) of 'value'/'value2' sqr(value) = returns the square of 'value' sqrt(value) = returns the square root of 'value' invsqrt(value) = returns the reciprocal of the square root of 'value' (1/sqrt(value)) (uses a fast approximation, may not always = 1/sqrt(value) :) pow(value,value2) = returns 'value' to the power of 'value2' exp(value) = returns e to the power of 'value' log(value) = returns the log in base e of 'value' log10(value) = returns the log in base 10 of 'value' floor(value) = returns the largest integer less than or equal to 'value' ceil(value) = returns the smallest integer greater than or equal to 'value' sign(value) = returns the sign of 'value' (-1.0 or 1.0, or 0.0 or -0.0) min(value,value2) = returns the smallest of 'value' and 'value2' max(var,var2) = returns the greatest of 'value' and 'value2' sigmoid(value,value2) = returns sigmoid function value of x='value' ('value2'=constraint) rand(value) = returns a random integer between 0 and 'value' band(value,value2) = returns a boolean AND of 'value' and 'value2' bor(value,value2) = returns a boolean OR of 'value' and 'value2' bnot(value) = returns a boolean NOT of 'value' if(condition,valtrue,valfalse) = returns 'valtrue' if 'condition' is nonzero, returns 'valfalse' otherwise. new in AVS 2.8+: only one of valtrue/valfalse is evaluated, depending on condition assign(dest, source) = if 'dest' is a variable, assigns the value of 'source' to it. returns the value of 'source'. a little trick: assign(if(v,a,b),1.0); is like if V is true, a=1.0, otherwise b=1.0. :) exec2(parm1, parm2) = evaluates parm1, then parm2, and returns the value of parm2. exec3(parm1, parm2, parm3) = evaluates parm1, then parm2, parm3, and returns the value of parm3. equal(value,value2) = returns 1.0 if 'value' is equal to 'value2', otherwise returns 0.0 above(value,value2) = returns 1.0 if 'value' is greater than 'value2', otherwise returns 0.0 below(value,value2) = returns 1.0 if 'value' is less than 'value2', otherwise returns 0.0 megabuf(index) = can be used to get or set an item from the 1 million item temp buffer to get, use: val=megabuf(index); to set, use: assign(megabuf(index),val); loop(count, statement) = executes times. count is evaluated once and clamped to 0..4096. best used with exec2() and exec3() and assign(). Note that the return value of loop() is undefined and should not be used.