#
Mathematics

All operands must be of the same type, which is also the type returned by the
operation.

### Addition

`(+ [N0 = NUMBER] ... [NN = NUMBER])`

Standard addition (minimum of 2 arguments).

### Substraction

`(- [N0 = NUMBER] ... [NN = NUMBER])`

Standard substraction (minimum of 2 arguments).

### Multiplication

`(* [N0 = NUMBER] ... [NN = NUMBER])`

Standard multiplication (minimum of 2 arguments).

### Division

`(/ [N0 = NUMBER] [N1 = NUMBER])`

Standard division. Note that a division on integers is indeed an integer
division.

### Exponent

`(^ [N0 = NUMBER] [N1 = NUMBER])`

Standard exponentiation.

### Modulo

`(% [I0 = INT] [I1 = INT])`

Standard modulo operation.

### Minimum

`(min [N0 = NUMBER] ... [NN = NUMBER])`

Lowest value among the operands (minimum of 2 arguments).

### Maximum

`(max [N0 = NUMBER] ... [NN = NUMBER])`

Highest value among the operands (minimum of 2 arguments).

### Clamp

`(clamp [N0 = NUMBER] [N1 = NUMBER] [N2 = NUMBER])`

Equivalent to `(max N0 (min N1 N2))`

.

### Absolute

`(abs [NUMBER])`

Positive value of `[NUMBER]`

.