Calculator
Inputs
The Calculator has a configurable amout of inputs. A veriable name is assigned to each input, that can be used in the formula to calculate the output.
Outputs
- output - the output value calculated with the formula.
Configuration
Global:
- formula - The mathematical formula to calculate the output
- synchronized - Whether the inputs should be synchronized.
Per Input:
- default value - the default value of the input variable
- variable name - the name of the variable assigned to this input
Description
The Calculator Task is a mathematical processing task that evaluates a given formula using input values and produces an output value.
The Math Engine is a simple calculator language that allows you to evaluate mathematical expressions. It supports a wide range of arithmetic operations, comparison operators, logical operators, and built-in mathematical functions. This user manual provides an overview of the math syntax and how to use it effectively.
Basic Arithmetic Operations
The Math Engine supports the following basic arithmetic operations:
- Addition: Use the
+
operator to add two numbers together. For example,2 + 3
evaluates to5
. - Subtraction: Use the
-
operator to subtract one number from another. For example,5 - 2
evaluates to3
. - Multiplication: Use the
*
operator to multiply two numbers. For example,2 * 3
evaluates to6
. - Division: Use the
/
operator to divide one number by another. For example,6 / 2
evaluates to3
. - Modulo: Use the
%
operator to find the remainder of the division of one number by another. For example,7 % 3
evaluates to1
. - Exponentiation: Use the
**
operator to raise a number to a power. For example,2 ** 3
evaluates to8
.
Comparison Operators
The Math Engine allows you to compare numbers using the following operators:
- Greater Than: Use the
>
operator to check if one number is greater than another. For example,5 > 3
evaluates to1
(true). - Less Than: Use the
<
operator to check if one number is less than another. For example,2 < 5
evaluates to1
(true). - Greater Than or Equal To: Use the
>=
operator to check if one number is greater than or equal to another. For example,5 >= 3
evaluates to1
(true). - Less Than or Equal To: Use the
<=
operator to check if one number is less than or equal to another. For example,2 <= 5
evaluates to1
(true). - Equal To: Use the
==
operator to check if two numbers are equal. For example,2 == 2
evaluates to1
(true). - Not Equal To: Use the
!=
operator to check if two numbers are not equal. For example,2 != 3
evaluates to1
(true).
The comparison operators return 1
if the condition is true and 0
if the condition is false.
Logical Operators
The Math Engine supports logical operators to perform logical operations on boolean values. In the Math Engine, any non-zero value is considered true, and 0
is considered false. The logical operators include:
- Logical AND: Use the
&
operator to perform a logical AND operation between two boolean values. For example,1 & 0
evaluates to0
(false). - Logical OR: Use the
|
operator to perform a logical OR operation between two boolean values. For example,1 | 0
evaluates to1
(true). - Logical XOR: Use the
^
operator to perform a logical XOR operation between two boolean values. For example,1 ^ 0
evaluates to1
(true).
Parentheses for Grouping
You can use parentheses (
and )
to group expressions and control the order of operations. Expressions inside parentheses are evaluated first. For example, (2 + 3) * 4
evaluates to 20
because the addition is performed before the multiplication.
Variables
The Math Engine allows you to use variables in your expressions. A variable is a named value that can be assigned a number or an expression. To use a variable, simply type its name. For example, if you have assigned x = 2
, you can use x
in your expressions.
Constants
The Math Engine provides two constants:
- π (pi): Use
pi
to represent the mathematical constant π (approximately 3.14159). - e (Euler’s number): Use
e
to represent the mathematical constant e (approximately 2.71828).
Built-in Mathematical Functions
The Math Engine provides a set of built-in mathematical functions that you can use in your expressions. These functions include:
- Trigonometric functions:
sin
,cos
,tan
,asin
,acos
,atan
- Hyperbolic functions:
sinh
,cosh
,tanh
,asinh
,acosh
,atanh
- Logarithmic functions:
log
,log2
,log10
- Exponential and square root functions:
exp
,sqrt
- Rounding functions:
floor
,ceil
,round
- Absolute value function:
abs
- Minimum and maximum functions:
min
,max
To use a function, type the function name followed by parentheses ()
. If the function requires arguments, specify them inside the parentheses. For example, sin(0.5)
calculates the sine of 0.5
.
Conditional Expressions
The Math Engine supports conditional expressions using the inline if-else syntax. The syntax for a conditional expression is as follows:
condition ? expression_if_true : expression_if_false
The condition
is evaluated first. If the condition is true (non-zero), the expression_if_true
is evaluated and returned. Otherwise, the expression_if_false
is evaluated and returned. For example, x > 0 ? 1 : -1
returns 1
if x
is greater than 0
, and -1
otherwise.
Examples
Here are some examples of valid Math Engine expressions:
- Arithmetic:
2 + 3
,5 - 2
,2 * 3
,6 / 2
,7 % 3
,2 ** 3
- Comparison:
5 > 3
,2 < 5
,5 >= 3
,2 <= 5
,2 == 2
,2 != 3
- Logical:
1 & 0
,1 | 0
,1 ^ 0
- Grouping:
(2 + 3) * 4
- Variables:
x + y
, wherex = 2
andy = 3
- Constants:
2 * pi
,e ** 2
- Functions:
sin(0.5)
,log10(100)
,sqrt(16)
- Conditional:
x > 0 ? 1 : -1
, wherex = 2
Limitations
- The Math Engine does not support complex numbers or vector operations.
- The Math Engine grammar is case-sensitive, so make sure to use consistent casing for variable names and function calls.
- Division (
/
) always performs floating-point division, even if both operands are integers.