# Calculator node

A calculator node is a node for calculation with data input / output.

You can do numerical calculations and access fields for output.

## Creating a calculator node

- Right-click the appropriate position of Arbor Editor.
- Click on the “Create Calculator”.
- Select the calculator node you want to create from the list.
- Rename the node as needed and press Enter to confirm.

## Recalculate mode

A mode is provided to specify whether or not to perform recalculations.

### Recalculate mode types

item | content
--- | ---
Dirty | Calculator.OnCheckDirty() and go back through the input slots to determine if recalculation is necessary.
Frame | Compare with the frame of the last recalculation and recalculate if the frame has passed. (default)
Scope | If the caller is CalculatorScope to suppress recomputation. Callback methods for Arbor, such as OnStateUpdate, are already wrapped in CalculatorScope. Please note that if you use it from other methods, it will always be recomputed.
Always | Always recalculate.

Note that even if it is judged that recalculation is unnecessary in modes other than “Dirty”, the same recalculation judgments as in “Dirty” mode will also be made.

### How to set the recalculation mode

- Click on the icon on the left side of the header section of the calculation node.
  Or, select “Recalculation mode” from the gear icon of the node.
- Select the mode you want to switch from the recalculation mode menu.

## Built-in Calculator

Calculator nodes that are used frequently are prepared from the beginning.

Arbor Reference : Calculator Reference