Difference between revisions of "Extensions.Quantities.RelationalOperations"
Jump to navigation
Jump to search
(5 intermediate revisions by one other user not shown) | |||
Line 5: | Line 5: | ||
== OTL Syntax == | == OTL Syntax == | ||
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;"> | <syntaxhighlight lang="java" enclose="div" style="font-size: medium;"> | ||
− | + | BooleanValue = QuantityTerm == NumericTerm; | |
− | + | BooleanValue = QuantityTerm != NumericTerm; | |
− | + | BooleanValue = QuantityTerm > NumericTerm; | |
− | + | BooleanValue = QuantityTerm >= NumericTerm; | |
+ | BooleanValue = QuantityTerm < NumericTerm; | ||
+ | BooleanValue = QuantityTerm <= NumericTerm; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 23: | Line 25: | ||
{| {{TableHeader}} | {| {{TableHeader}} | ||
{{TableRowPropertiesHeader}} | {{TableRowPropertiesHeader}} | ||
− | {{TableRowPropertie1| | + | {{TableRowPropertie1| QuantityTerm | [[Extensions.Quantities.Quantity|Quantity]] | [[Term]] | - | [1] | Quantity value are compared}} |
− | {{TableRowPropertie2| | + | {{TableRowPropertie2| NumericTerm | [[Numeric]]| [[Term]] | - | [1] | Numeric value are compared}} |
|} | |} | ||
== OTL Examples == | == OTL Examples == | ||
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;"> | <syntaxhighlight lang="java" enclose="div" style="font-size: medium;"> | ||
+ | /// Local Declarations | ||
+ | |||
Boolean Boolean1 = false; | Boolean Boolean1 = false; | ||
Latest revision as of 06:38, 24 June 2019
Contents
Classification
Name | Relational Operations |
Short Description | Compares the numerical quantities |
Class | Operations |
Extension | OTX Quantities extension |
Group | Overloading semantics |
Exceptions | InvalidConversionException |
Checker Rules | - |
Standard Compliant | Yes |
OTL Syntax
BooleanValue = QuantityTerm == NumericTerm;
BooleanValue = QuantityTerm != NumericTerm;
BooleanValue = QuantityTerm > NumericTerm;
BooleanValue = QuantityTerm >= NumericTerm;
BooleanValue = QuantityTerm < NumericTerm;
BooleanValue = QuantityTerm <= NumericTerm;
Description
- When Quantity values are compared using relational operators, an OTX runtime shall use the quantities' normalized values for comparison. So if e.g. a Quantity of 8 kilometers is to be compared with a Quantity of 10 miles, the runtime system shall convert both values into meters before doing the comparison.
- Furthermore, the physical dimensions of the display unit of the Quantity values being compared shall be identical – e.g. it is allowed to compare distances with each other, but it is illegal to compare a distance to a time – in that case an InvalidConversionException shall be thrown.
- If scalar operands exist, they shall be interpreted as normalized values according to the physical dimension of the Quantity operands. This allows e.g. the comparison of 2 km < 11 which will result in false (because the comparison is equivalent to comparing 2 km < 11m).
Return Value
The Term returns the value, see table below.
![]()
In OTX, Terms are categorized according to its return data type!
Data Type | Description |
Boolean | The result of the comparision of the numerical quantities |
Properties
Name | Data Type | Class | Default | Cardinality | Description |
QuantityTerm | Quantity | Term | - | [1] | Quantity value are compared |
NumericTerm | Numeric | Term | - | [1] | Numeric value are compared |
OTL Examples
/// Local Declarations
Boolean Boolean1 = false;
/// Flow
Boolean1 = 8 [@Unit, "BL_DataLibraMIB.odx", "km"] != 10 [@Unit, "BL_DataLibraMIB.odx", "mile"];
See also
Addition
Subtraction
Multiplication
Division
Modulo
Absolute Value
Negation