---
name: "ev"
section: "1"
platform: "linux"
package: "radiance"
version: "4R1+20120125-1+b1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/ev"
---

# ev(1)

evaluate expressions

## NAME

ev - evaluate expressions

## SYNOPSIS

**ev 'expr' ..**

## DESCRIPTION

*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)**

  trigonometric functions.

- **asin(x), acos(x), atan(x)**

  inverse trigonometric functions.

- **atan2(y, x)**

  inverse tangent of y/x (range -pi to pi).

## EXAMPLE

To pass the square root of two and the sine of .5 to a program:

-

  program \`ev 'sqrt(2)' 'sin(.5)'\`

## AUTHOR

Greg Ward

## SEE ALSO

[icalc(1)](/icalc/1.md), [rcalc(1)](/rcalc/1.md)
