The following arithmetic operators are supported by XGen expressions.
| Operator | Description |
|---|---|
| + | Add |
| - | Subtract |
| * | Multiply |
| / | Divide |
| % | Modulus: Same as fmod() (see XGen expression functions) |
| ^ | Exponent: Same as pow() (see XGen expression functions) |
| [x,y,z] | Vector constructor |
| V[n] | Vector component access, where n must be 0, 1, or 2. |
| x ? y : z | Conditional operator (if x then y else z) |
| x && y | AND comparison |
| x || y | OR comparison |
| x == y | Equality test: Compares all three components. |
| x != y | Inequality test |
| x > y | Comparison, which uses [0] component of the vectors. |
| x < y | Comparison, which uses [0] component of the vectors. |
| x >= y | Comparison, which uses [0] component of the vectors. |
| x <= y | Comparison, which uses [0] component of the vectors. |
| !x | Logical negation |
| -> | Applies the function on the right to the expression on the left. |
Any level of parentheses may be used to clarify order of evaluation. An expression can be followed by the pound sign (for example, “#”) to signal its end. Therefore, you can put comments, or alternate versions of your expression, after the pound sign.