# expr

## Description

Evaluate an expression using a C-like language. Variables and operators are used to create output values.

## Examples

## Discussion

Use the expr object to perform mathematical calculations using C language-style mathematical operations. The object evaluates expressions that use the "variables" $i1-$i9 (the first to ninth inlets, taken as integers), $f1-$f9 (the inlets as floats) and $s1-$s9 (the inlets as symbols), and/or constants of the same types. The operators are +, -, *, /, &, |, &&, ||, !, ~, and ^, and you can also use a set of predefined mathematical and statistical functions. The list of functions in expr are as follows: min, max, int (convert to integer), float (convert to float), pow (power), sqrt (square root), exp (power of e to x), log10 (log), ln (natural log), log (nat. log), sin, cos, tan, asin (arcsin), acos, atan, atan2, sinh, cosh, tanh, fact (factorial), random, round, floor, ceil, size (size of a table), sum (sum of table contents), Sum (sum with boundaries), avg (of table contents), Avg (avg with boundaries), store (store into a table).

## Arguments

### expression [list]

The argument to the expr object is a mathematical expression composed of numbers, arithmetic operators such as + or *, comparisons such as or , C functions such as or , names of table objects, and changeable arguments ( , , and ) for ints, floats, and symbols received in the inlets.

### constant [number]

Numbers can be used as constants in the mathematical expression.

### inlet-format [symbol]

Changeable arguments that specify data formats associated with an inlet are described using a combination of a data type (

or ) and an inlet number (example: ). The argument will be replaced by numbers received in the specified inlet.### table-info [$s]

Changeable arguments that specify accessing data from a table are described using the argument table to be accessed. The argument should be immediately followed by a number in brackets specifying an address in the table. (Examples: or .)

and an inlet number which is replaced by the name of a### (other) [symbol]

The expr object understands the following arithmetic operators: , , , , %. Other operators are (one's complement), (bitwise exclusive or), , , , , and (not).

## Attributes

### Common Box Attributes

## Messages

### bang

### int

#### Arguments

### (inlet1)

#### Arguments

### (inlet2)

#### Arguments

### (inlet3)

#### Arguments

### (inlet4)

#### Arguments

### (inlet5)

#### Arguments

### (inlet6)

#### Arguments

### (inlet7)

#### Arguments

### (inlet8)

#### Arguments

### (inlet9)

#### Arguments

### float

#### Arguments

### (inlet1)

#### Arguments

### (inlet2)

#### Arguments

### (inlet3)

#### Arguments

### (inlet4)

#### Arguments

### (inlet5)

#### Arguments

### (inlet6)

#### Arguments

### (inlet7)

#### Arguments

### (inlet8)

#### Arguments

### (inlet9)

#### Arguments

### set

#### Arguments

### sm1

#### Arguments

### sm2

#### Arguments

### sm3

#### Arguments

### sm4

#### Arguments

### sm5

#### Arguments

### sm6

#### Arguments

### sm7

#### Arguments

### sm8

#### Arguments

### sm9

#### Arguments

### symbol

#### Arguments

### list

#### Arguments

## Output

### float

The output is the result of the evaluated expression.

### int

The output is the result of the evaluated expression.

## See Also

Name | Description |
---|---|

Working with Video in Jitter | Working with Video in Jitter |

Gen | Gen |

if | |

vexpr | |

round | |

Max Basic Tutorial 22: Designing Equations | Max Basic Tutorial 22: Designing Equations |