ev - evaluate expressions
ev ’expr’ ..
Ev evaluates expressions given on the command line, and sends the
results to the standard output, one per line. An expression contains
real numbers, function calls, and the following operators:
+ - * / ^
Operators are evaluated left to right, except ’^’, which is right
associative. Powers have the highest precedence; multiplication and
division are evaluated before addition and subtraction. Expressions
can be grouped with parentheses. All values are double precision real.
The following library of functions is available:
if(cond, then, else)
if cond is greater than zero, then is evaluated, otherwise
else is evaluated.
select(N, a1, a2, ..)
return aN (N is rounded to the nearest integer). If N is
zero, the number of available arguments is returned.
rand(x) compute a random number between 0 and 1 based on x.
floor(x) return largest integer not greater than x.
ceil(x) return smallest integer not less than x.
sqrt(x) return square root of x.
exp(x) compute e to the power of x (e approx = 2.718281828).
log(x) compute the logarithm of x to the base e.
log10(x) compute the logarithm of x to the base 10.
sin(x), cos(x), tan(x)
asin(x), acos(x), atan(x)
inverse trigonometric functions.
inverse tangent of y/x (range -pi to pi).
To pass the square root of two and the sine of .5 to a program:
program ‘ev ’sqrt(2)’ ’sin(.5)’‘