These blocks can be found in the Block Library in the Math group.

Calculates a total or sum of all inputs. Any val which doesn't evaluate to a number is ignored. If no vals evaluate to a number then return null.

In this example, we are adding currents A, B, and C to get Total Current.

## avg

Fold vals their standard average or arithmetic mean.
Calculates an average value of all inputs. Any val which doesn't evaluate to a number is ignored. If no vals evaluate to a number then return null.

## div

Multiply: 'vals₀ × vals₁ × vals₂ '.
Divides input b from input a. (a divided by b). Any val which doesn't evaluate to a number is ignored. If no vals evaluate to a number then return null.

## isEven

Checks to see if a number is an even number (a multiple of 2) and the input must be a whole number (integer).

## isOdd

Checks to see if a number is an odd number (not a multiple of 2) and the input must be a whole number (integer).

## Max

Maximum of vals.
Extracts the largest of various number input values. Any val which doesn't evaluate to a number is ignored. If no vals evaluate to a number then return null.

## min

Minimum of vals.
Extracts the smallest of various number input values. Any val which doesn't evaluate to a number is ignored. If no vals evaluate to null

## Modulo

Modulo/remainder: 'a % b'.
Modulo is the remainder (remaining whole number) after input a is divided by input b. Return null if a or b doesn't evaluate to number.

## Mult

Multiply: 'vals₀ × vals₁ × vals₂'.
Multiply two or more input values. There is no pre-defined limit to the number of input variables (though there may be a practical limit). Any val which doesn't evaluate to a number is ignored. If no vals evaluate to a number then return null.

## Neg

Negate: '-val'.
Negate reverses the math sign + or - of the input value to result in the opposite sign. Return null if val doesn't evaluate to number.

## sineWave

Generates a number output (result) based on a sine wave algorithm. min is the lowest number of the sinewave and max is the highest number of the sinewave.

Period is in minutes and determines the amount of time it takes to complete one full cycle of the sinewave.

## sub

Subtract: 'a - b'.
Return null if a or b doesn't evaluate to number.

## threshold

Threshold returns true when input is above or below a setpoint with configurable deadband.

The deadband is only applied when the output is going from true to false.

## aboveBy

Check if the base number is above the input number by a threshold.

## abs

Return the absolute value of the number\

## belowBy

Check if the base number is below the input number by a threshold

## limit

Limit val between an inclusive min and max

## Pow

Power a^b.
Returns null if a or b does not evaluate to a number.

## random

Generate a random number between min and max inclusive on every cycle.

## reset

Reset block computes output based on two linear equations. The input is clipped to inLo and inHi, the percentage of input along the linear segment between inLo and inHi is computed, and then that percentage is output as a Number between outLo and outHi.

## sqrt

Sqrt: '√`val`'.

Return null if `val` does not evaluate to a number.

## within

Verifies if the provided numbers are within an offset from the base.