# Math Formula

This node evaluates a mathematical expression based on the values in a row. The computed results can be either appended as new column or be used to replace an input column. Available variables are the values in the corresponding row of the table (left list in the dialog). Commonly used functions are shown in the list "Mathematical Functions". There are also some constants available, such as *pi* (the ratio of the circumference of a circle to its diameter), *e* (the base of the natural logarithms), the total number of rows in the table, and some other column based constants (`constant` category of functions).

This node uses *JEP*, the Java Math Expression Parser.

Column based constants such as *COL_MIN(col_name)* will be calculated in advance (if necessary).

You can reference the integer flow variables like this: `$${IflowVar}$$`, the floating point flow variables like this: `$${DflowVar}$$`.

Reference the columns with the form: `$colName$`

When any of the used columns contains a missing value, the result is missing, just like when the result would be NaN, infinite value, or outside of the 32 bit signed integer range when that is requested.

NaN values act as value true in boolean expressions and compared to anything (including NaN) in any way (including ==, but not !=, which is like !(... == ...)) is false (0).

*Please note the expressions are case sensitive.*

### Input Ports

- Type: Data Any input data

### Output Ports

- Type: Data Input data amended with math column.