Difference between revisions of "Extensions.Quantities.Subtraction"

From emotive
Jump to navigation Jump to search
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Quantities]]
+
{{DISPLAYTITLE:'''Quantity Subtraction '''}}[[Category:Quantities]]
 
== Classification ==
 
== Classification ==
{{ClassificationActivity | Subtraction | Subtraction of two numeric variables | [[Operations]] | [[Quantities|OTX Quantities extension]] | [[Overloading semantics]] | [[InvalidConversionException]] | - }}
+
{{ClassificationActivity | Subtraction | Subtraction of two numeric variables | [[Operations]] | [[Extensions.Quantities|OTX Quantities extension]] | [[Extensions.Quantities#Terms|Overloading semantics]] | [[Extensions.Quantities.InvalidConversionException|InvalidConversionException]] | - }}
  
 
== OTL Syntax ==
 
== OTL Syntax ==
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
QuantityTerm = QuantityTerm1 - QuantityTerm2;
+
QuantityVariable = QuantityTerm - NumericTerm;
 +
QuantityVariable = NumericTerm - QuantityTerm;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 11: Line 12:
 
This is a term which as a result of the subtraction of two numeric values ​​(is NumericQuantity) returns with respect to their units.  
 
This is a term which as a result of the subtraction of two numeric values ​​(is NumericQuantity) returns with respect to their units.  
  
{{TermReturnValue| [[Quantity]] | Result of the subtraction of two numeric variables (NumericQuantity)}}
+
* When '''Quantity''' values are subtracted, the physical dimensions of the display unit of all '''Quantity''' operands will be identical.
 +
 
 +
* If scalar operands exist, they will be interpreted as normalized values according to the physical dimension of the '''Quantity''' operands. This allows e.g. the addition of 2 km - 1 m - 11 which will result in a '''Quantity''' of 1988 m.
 +
 
 +
* The display unit of the resulting '''Quantity''' will be set to the SI base unit corresponding to the '''Quantity''''s physical dimension. Furthermore, the display precision of the resulting '''Quantity''' will be the maximum of the display precisions of the operands.
 +
 
 +
{{TermReturnValue| [[Extensions.Quantities.Quantity|Quantity]] | Result of the subtraction of two numeric variables (NumericQuantity)}}
  
 
== Properties ==
 
== Properties ==
 
{| {{TableHeader}}
 
{| {{TableHeader}}
 
{{TableRowPropertiesHeader}}
 
{{TableRowPropertiesHeader}}
{{TableRowPropertie1| QuantityTerm1 | [[Quantity]] | [[Term]] | - | [1] | Left operand is of type NumericQuantity}}
+
{{TableRowPropertie1| QuantityTerm | [[Extensions.Quantities.Quantity|Quantity]] | [[Term]] | - | [1..*] | Quantity values are subtracted}}
{{TableRowPropertie1| QuantityTerm2 | [[Quantity]] | [[Term]] | - | [1] | Right operand is of type NumericQuantity}}
+
{{TableRowPropertie2| NumericTerm | [[Numeric]]| [[Term]] | - | [0..*] | Numeric values are subtracted}}
 
|}
 
|}
  
 
== OTL Examples ==
 
== OTL Examples ==
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
 
<syntaxhighlight lang="java" enclose="div" style="font-size: medium;">
Quantities.Quantity result;
+
/// Local Declarations
 +
 
 +
Quantities.Quantity Quantity1;
 +
 
 +
/// Flow
  
result = Quantity1 = 1 [@Unit, "ODX_RS_UNIT_LIB.odx", "km"] - 500 [@Unit, "ODX_RS_UNIT_LIB.odx", "m"];
+
// The assignment below will have the returned value: 1988 m (1988 [@Unit, "BL_DataLibraMIB.odx", "m"])
//Returns result = 500 m
+
Quantity1 = (2 [@Unit, "BL_DataLibraMIB.odx", "km"] - 1 [@Unit, "BL_DataLibraMIB.odx", "m"]) - 11;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== See also ==
 
== See also ==
[[Addition]] <br/>
+
[[Extensions.Quantities.Conversions|Conversions]] <br/>
[[Multiplication]] <br/>
+
[[Extensions.Quantities.Addition|Addition]] <br/>
[[Division]]
+
<!--[[Extensions.Quantities.Subtraction|Subtraction]] <br/>-->
 +
[[Extensions.Quantities.Multiplication|Multiplication]] <br/>
 +
[[Extensions.Quantities.Division|Division]] <br/>
 +
[[Extensions.Quantities.Modulo|Modulo]] <br/>
 +
[[Extensions.Quantities.AbsoluteValue|Absolute Value]] <br/>
 +
[[Extensions.Quantities.Negation|Negation]] <br/>
 +
[[Extensions.Quantities.RelationalOperations|Relational Operations]] <br/>
 +
[[Extensions.Quantities.OtherOperations|Other Operations]]

Latest revision as of 03:13, 13 September 2019

Classification

Name Subtraction
Short Description Subtraction of two numeric variables
Class Operations
Extension OTX Quantities extension
Group Overloading semantics
Exceptions InvalidConversionException
Checker Rules -
Standard Compliant Yes

OTL Syntax

QuantityVariable = QuantityTerm - NumericTerm;
QuantityVariable = NumericTerm - QuantityTerm;

Description

This is a term which as a result of the subtraction of two numeric values ​​(is NumericQuantity) returns with respect to their units.

  • When Quantity values are subtracted, the physical dimensions of the display unit of all Quantity operands will be identical.
  • If scalar operands exist, they will be interpreted as normalized values according to the physical dimension of the Quantity operands. This allows e.g. the addition of 2 km - 1 m - 11 which will result in a Quantity of 1988 m.
  • The display unit of the resulting Quantity will be set to the SI base unit corresponding to the Quantity's physical dimension. Furthermore, the display precision of the resulting Quantity will be the maximum of the display precisions of the operands.

Return Value

The Term returns the value, see table below.

Icons Note.png In OTX, Terms are categorized according to its return data type!
Data Type Description
Quantity Result of the subtraction of two numeric variables (NumericQuantity)

Properties

Name Data Type Class Default Cardinality Description
QuantityTerm Quantity Term - [1..*] Quantity values are subtracted
NumericTerm Numeric Term - [0..*] Numeric values are subtracted

OTL Examples

/// Local Declarations

Quantities.Quantity Quantity1;

/// Flow

// The assignment below will have the returned value: 1988 m (1988 [@Unit, "BL_DataLibraMIB.odx", "m"])
Quantity1 = (2 [@Unit, "BL_DataLibraMIB.odx", "km"] - 1 [@Unit, "BL_DataLibraMIB.odx", "m"]) - 11;

See also

Conversions
Addition
Multiplication
Division
Modulo
Absolute Value
Negation
Relational Operations
Other Operations