Commit dcfbe1e0 authored by Stefano Sabatini's avatar Stefano Sabatini

doc/eval: sort functions by name

parent 41e5e28d
...@@ -20,111 +20,102 @@ The following unary operators are available: @code{+}, @code{-}. ...@@ -20,111 +20,102 @@ The following unary operators are available: @code{+}, @code{-}.
The following functions are available: The following functions are available:
@table @option @table @option
@item sinh(x) @item abs(x)
Compute hyperbolic sine of @var{x}. Compute absolute value of @var{x}.
@item cosh(x) @item acos(x)
Compute hyperbolic cosine of @var{x}. Compute arccosine of @var{x}.
@item tanh(x) @item asin(x)
Compute hyperbolic tangent of @var{x}. Compute arcsine of @var{x}.
@item sin(x) @item atan(x)
Compute sine of @var{x}. Compute arctangent of @var{x}.
@item ceil(expr)
Round the value of expression @var{expr} upwards to the nearest
integer. For example, "ceil(1.5)" is "2.0".
@item cos(x) @item cos(x)
Compute cosine of @var{x}. Compute cosine of @var{x}.
@item tan(x) @item cosh(x)
Compute tangent of @var{x}. Compute hyperbolic cosine of @var{x}.
@item atan(x)
Compute arctangent of @var{x}.
@item asin(x)
Compute arcsine of @var{x}.
@item acos(x) @item eq(x, y)
Compute arccosine of @var{x}. Return 1 if @var{x} and @var{y} are equivalent, 0 otherwise.
@item exp(x) @item exp(x)
Compute exponential of @var{x} (with base @code{e}, the Euler's number). Compute exponential of @var{x} (with base @code{e}, the Euler's number).
@item log(x) @item floor(expr)
Compute natural logarithm of @var{x}. Round the value of expression @var{expr} downwards to the nearest
integer. For example, "floor(-1.5)" is "-2.0".
@item abs(x)
Compute absolute value of @var{x}.
@item squish(x)
Compute expression @code{1/(1 + exp(4*x))}.
@item gauss(x) @item gauss(x)
Compute Gauss function of @var{x}, corresponding to Compute Gauss function of @var{x}, corresponding to
@code{exp(-x*x/2) / sqrt(2*PI)}. @code{exp(-x*x/2) / sqrt(2*PI)}.
@item isinf(x) @item gcd(x, y)
Return 1.0 if @var{x} is +/-INFINITY, 0.0 otherwise. Return the greatest common divisor of @var{x} and @var{y}. If both @var{x} and
@var{y} are 0 or either or both are less than zero then behavior is undefined.
@item isnan(x)
Return 1.0 if @var{x} is NAN, 0.0 otherwise.
@item mod(x, y) @item gt(x, y)
Compute the remainder of division of @var{x} by @var{y}. Return 1 if @var{x} is greater than @var{y}, 0 otherwise.
@item max(x, y) @item gte(x, y)
Return the maximum between @var{x} and @var{y}. Return 1 if @var{x} is greater than or equal to @var{y}, 0 otherwise.
@item min(x, y) @item hypot(x, y)
Return the maximum between @var{x} and @var{y}. This function is similar to the C function with the same name; it returns
"sqrt(@var{x}*@var{x} + @var{y}*@var{y})", the length of the hypotenuse of a
right triangle with sides of length @var{x} and @var{y}, or the distance of the
point (@var{x}, @var{y}) from the origin.
@item eq(x, y) @item if(x, y)
Return 1 if @var{x} and @var{y} are equivalent, 0 otherwise. Evaluate @var{x}, and if the result is non-zero return the result of
the evaluation of @var{y}, return 0 otherwise.
@item gte(x, y) @item if(x, y, z)
Return 1 if @var{x} is greater than or equal to @var{y}, 0 otherwise. Evaluate @var{x}, and if the result is non-zero return the evaluation
result of @var{y}, otherwise the evaluation result of @var{z}.
@item gt(x, y) @item ifnot(x, y)
Return 1 if @var{x} is greater than @var{y}, 0 otherwise. Evaluate @var{x}, and if the result is zero return the result of the
evaluation of @var{y}, return 0 otherwise.
@item lte(x, y) @item ifnot(x, y, z)
Return 1 if @var{x} is lesser than or equal to @var{y}, 0 otherwise. Evaluate @var{x}, and if the result is zero return the evaluation
result of @var{y}, otherwise the evaluation result of @var{z}.
@item lt(x, y) @item isinf(x)
Return 1 if @var{x} is lesser than @var{y}, 0 otherwise. Return 1.0 if @var{x} is +/-INFINITY, 0.0 otherwise.
@item st(var, expr) @item isnan(x)
Allow to store the value of the expression @var{expr} in an internal Return 1.0 if @var{x} is NAN, 0.0 otherwise.
variable. @var{var} specifies the number of the variable where to
store the value, and it is a value ranging from 0 to 9. The function
returns the value stored in the internal variable.
Note, Variables are currently not shared between expressions.
@item ld(var) @item ld(var)
Allow to load the value of the internal variable with number Allow to load the value of the internal variable with number
@var{var}, which was previously stored with st(@var{var}, @var{expr}). @var{var}, which was previously stored with st(@var{var}, @var{expr}).
The function returns the loaded value. The function returns the loaded value.
@item while(cond, expr) @item log(x)
Evaluate expression @var{expr} while the expression @var{cond} is Compute natural logarithm of @var{x}.
non-zero, and returns the value of the last @var{expr} evaluation, or
NAN if @var{cond} was always false.
@item ceil(expr) @item lt(x, y)
Round the value of expression @var{expr} upwards to the nearest Return 1 if @var{x} is lesser than @var{y}, 0 otherwise.
integer. For example, "ceil(1.5)" is "2.0".
@item floor(expr) @item lte(x, y)
Round the value of expression @var{expr} downwards to the nearest Return 1 if @var{x} is lesser than or equal to @var{y}, 0 otherwise.
integer. For example, "floor(-1.5)" is "-2.0".
@item trunc(expr) @item max(x, y)
Round the value of expression @var{expr} towards zero to the nearest Return the maximum between @var{x} and @var{y}.
integer. For example, "trunc(-1.5)" is "-1.0".
@item sqrt(expr) @item min(x, y)
Compute the square root of @var{expr}. This is equivalent to Return the maximum between @var{x} and @var{y}.
"(@var{expr})^.5".
@item mod(x, y)
Compute the remainder of division of @var{x} by @var{y}.
@item not(expr) @item not(expr)
Return 1.0 if @var{expr} is zero, 0.0 otherwise. Return 1.0 if @var{expr} is zero, 0.0 otherwise.
...@@ -137,31 +128,44 @@ Compute the power of @var{x} elevated @var{y}, it is equivalent to ...@@ -137,31 +128,44 @@ Compute the power of @var{x} elevated @var{y}, it is equivalent to
Return a pseudo random value between 0.0 and 1.0. @var{x} is the index of the Return a pseudo random value between 0.0 and 1.0. @var{x} is the index of the
internal variable which will be used to save the seed/state. internal variable which will be used to save the seed/state.
@item hypot(x, y) @item root(expr, max)
This function is similar to the C function with the same name; it returns Find an input value for which the function represented by @var{expr}
"sqrt(@var{x}*@var{x} + @var{y}*@var{y})", the length of the hypotenuse of a with argument @var{ld(0)} is 0 in the interval 0..@var{max}.
right triangle with sides of length @var{x} and @var{y}, or the distance of the
point (@var{x}, @var{y}) from the origin.
@item gcd(x, y) The expression in @var{expr} must denote a continuous function or the
Return the greatest common divisor of @var{x} and @var{y}. If both @var{x} and result is undefined.
@var{y} are 0 or either or both are less than zero then behavior is undefined.
@item if(x, y) @var{ld(0)} is used to represent the function input value, which means
Evaluate @var{x}, and if the result is non-zero return the result of that the given expression will be evaluated multiple times with
the evaluation of @var{y}, return 0 otherwise. various input values that the expression can access through
@code{ld(0)}. When the expression evaluates to 0 then the
corresponding input value will be returned.
@item if(x, y, z) @item sin(x)
Evaluate @var{x}, and if the result is non-zero return the evaluation Compute sine of @var{x}.
result of @var{y}, otherwise the evaluation result of @var{z}.
@item ifnot(x, y) @item sinh(x)
Evaluate @var{x}, and if the result is zero return the result of the Compute hyperbolic sine of @var{x}.
evaluation of @var{y}, return 0 otherwise.
@item ifnot(x, y, z) @item sqrt(expr)
Evaluate @var{x}, and if the result is zero return the evaluation Compute the square root of @var{expr}. This is equivalent to
result of @var{y}, otherwise the evaluation result of @var{z}. "(@var{expr})^.5".
@item squish(x)
Compute expression @code{1/(1 + exp(4*x))}.
@item st(var, expr)
Allow to store the value of the expression @var{expr} in an internal
variable. @var{var} specifies the number of the variable where to
store the value, and it is a value ranging from 0 to 9. The function
returns the value stored in the internal variable.
Note, Variables are currently not shared between expressions.
@item tan(x)
Compute tangent of @var{x}.
@item tanh(x)
Compute hyperbolic tangent of @var{x}.
@item taylor(expr, x) @item taylor(expr, x)
@item taylor(expr, x, id) @item taylor(expr, x, id)
...@@ -181,18 +185,14 @@ Note, when you have the derivatives at y instead of 0, ...@@ -181,18 +185,14 @@ Note, when you have the derivatives at y instead of 0,
@item time(0) @item time(0)
Return the current (wallclock) time in seconds. Return the current (wallclock) time in seconds.
@item root(expr, max) @item trunc(expr)
Find an input value for which the function represented by @var{expr} Round the value of expression @var{expr} towards zero to the nearest
with argument @var{ld(0)} is 0 in the interval 0..@var{max}. integer. For example, "trunc(-1.5)" is "-1.0".
The expression in @var{expr} must denote a continuous function or the
result is undefined.
@var{ld(0)} is used to represent the function input value, which means @item while(cond, expr)
that the given expression will be evaluated multiple times with Evaluate expression @var{expr} while the expression @var{cond} is
various input values that the expression can access through non-zero, and returns the value of the last @var{expr} evaluation, or
@code{ld(0)}. When the expression evaluates to 0 then the NAN if @var{cond} was always false.
corresponding input value will be returned.
@end table @end table
The following constants are available: The following constants are available:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment