0

## Description

This part allows application users to enter a mathematical expression for calculation. In contrast to the calculation part, the calculation-1-1 part support large numbers (digits > 16).

## Use

The calculation part is used by entering the requested mathematical expression in the part. The system stores the calculated result in the defined data object.

## Editor Fields

 Field Name Description/Use Type/Options Optional/Mandatory Dataobject This is the data object in which the system will store the result of the calculation. Data Object Mandatory Decimals This is the number of decimals the system should display in the result. Integer Mandatory Round This specifies whether the system should round the result to the number of decimals specified above. If the end user selects "No" the system will truncate the result to the number of decimals specified above. Yes | No Optional Calculation This is the mathematical expression the system should use to perform the calculation. Text Mandatory

## Mathematical Expressions

Mathematical expressions can consist of the following elements:

• numbers (whole and floating using ‘.’ as decimal point)
• standard operators, such as  +, -, /, *
• parentheses to control the precedence of the operators
• mathematical functions: abs, ceil, floor, avg, min, max, exp, log, log10, log2, sin, cos, tan, asin, acos, atan, pow, deg, rad, sqrt, mod, PI, comp

comp
With v7.4, LogicNets added a new function called 'comp'. The syntax for comp(<number 1>, <number 2>), returns the following:

1 : when number 1 is larger than number 2
0 : when number 1 and number 2 are equal
-1 :  when number 1 is smaller than number 2

min, max
The min- and max- functions take a comma separated list of numbers to return the largest, smallest out of the list. E.g. min(2, -7, 3) ==> -7

pow
The pow-function takes two arguments e.g. pow(a, b) to perform a

PI is the constant π and can for example be used in the gonometric functions like:  cos(PI/4) ==> 0.70710678118655

mod
The mod-function takes two arguments e.g. mod(3, 2) ==> 1

## Using Data Variables and Default Values

Mathematical expressions can also include interpolated text , such as \$(my_var)

In support of interpolation, a default value can be defined in case of the variable being undefined. This should be used in most situations to prevent a calculation error and warning message during runtime. Default values are specified inside the () and after a colon as follows.

\$(my_var:0) gives a result of 0 if my_var is NULL
\$(my_var:1) gives a result of 1 if my_var is NULL

The inclusion of variables for default values is also possible as follows

\$(my_var: \$(my_default)) gives a result of \$(my_default) if my_var is NULL

Sample Mathematical Expressions (decimals = 2, round = yes)

(400000000000000000000000000 - 8) * 3     ==> 1199999999999999999999999976.00

(400000000000000000000000000 - 8.2562321) ==> 399999999999999999999999991.74

## Example

For an example form  in which you can enter a mathematical expression the system will pass to the calculation part, download and import the following sample project in your workspace. 