| diagram | ![]() |
||
| namespace | http://www.omg.org/space/xtce | ||
| children | xtce:ValueOperand xtce:ThisParameterOperand xtce:ParameterInstanceRefOperand xtce:Operator | ||
| used by |
|
||
| annotation |
|
||
| source | <complexType name="MathOperationType"> <annotation> <documentation xml:lang="en">Postfix (aka Reverse Polish Notation (RPN)) notation is used to describe mathmatical equations. It uses a stack where operands (either fixed values or ParameterInstances) are pushed onto the stack from first to last in the XML. As the operators are specified, each pops off operands as it evaluates them, and pushes the result back onto the stack. In this case postfix is used to avoid having to specify parenthesis. To convert from infix to postfix, use Dijkstra's "shunting yard" algorithm.</documentation> </annotation> <choice maxOccurs="unbounded"> <element name="ValueOperand" type="double"> <annotation> <documentation xml:lang="en">Use a constant in the calculation</documentation> </annotation> </element> <element name="ThisParameterOperand"> <annotation> <documentation xml:lang="en">Use the value of this parameter in the calculation</documentation> </annotation> </element> <element name="ParameterInstanceRefOperand" type="xtce:ParameterInstanceRefType"> <annotation> <documentation xml:lang="en">Use the value of another Parameter in the calculation</documentation> </annotation> </element> <element name="Operator" type="xtce:MathOperatorsType"> <annotation> <documentation xml:lang="en">Binary operators: +, -, *, /, %, ^ operate on the top two values in the stack, leaving the result on the top of the stack. Unary operators: 1/x, x!, e^x, ln, log, and trigonometric operators operate on the top member of the stack also leaving the result on the top of the stack. 'ln' is a natural log where 'log' is a base 10 logarithm. Trigonometric operators use degrees. 'swap' swaps the top two members of the stack.</documentation> </annotation> </element> </choice> </complexType> |
| diagram | ![]() |
||
| namespace | http://www.omg.org/space/xtce | ||
| type | double | ||
| properties |
|
||
| annotation |
|
||
| source | <element name="ValueOperand" type="double"> <annotation> <documentation xml:lang="en">Use a constant in the calculation</documentation> </annotation> </element> |
| diagram | ![]() |
||
| namespace | http://www.omg.org/space/xtce | ||
| annotation |
|
||
| source | <element name="ThisParameterOperand"> <annotation> <documentation xml:lang="en">Use the value of this parameter in the calculation</documentation> </annotation> </element> |
| diagram | ![]() |
||||||||||||||||||||||||
| namespace | http://www.omg.org/space/xtce | ||||||||||||||||||||||||
| type | xtce:ParameterInstanceRefType | ||||||||||||||||||||||||
| properties |
|
||||||||||||||||||||||||
| attributes |
|
||||||||||||||||||||||||
| annotation |
|
||||||||||||||||||||||||
| source | <element name="ParameterInstanceRefOperand" type="xtce:ParameterInstanceRefType"> <annotation> <documentation xml:lang="en">Use the value of another Parameter in the calculation</documentation> </annotation> </element> |
| diagram | ![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| namespace | http://www.omg.org/space/xtce | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| type | xtce:MathOperatorsType | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| properties |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| facets |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| annotation |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| source | <element name="Operator" type="xtce:MathOperatorsType"> <annotation> <documentation xml:lang="en">Binary operators: +, -, *, /, %, ^ operate on the top two values in the stack, leaving the result on the top of the stack. Unary operators: 1/x, x!, e^x, ln, log, and trigonometric operators operate on the top member of the stack also leaving the result on the top of the stack. 'ln' is a natural log where 'log' is a base 10 logarithm. Trigonometric operators use degrees. 'swap' swaps the top two members of the stack.</documentation> </annotation> </element> |