Primitive Types
Overview
This section describes primitive types assumed by all openEHR models. These are types supported directly by most programing languages, and usually visible via either a class interface and/or a built-in raw value type. The following table lists the primitive types assumed by openEHR.
| Type name in openEHR |
Description |
|---|---|
|
a type whose value is an 8-bit value. |
|
a type whose value is a member of an 8-bit character-set (ISO: "repertoire"). |
|
logical True/False values; usually physically represented as an integer, but need not be. |
|
32-bit integers. |
|
64-bit integers. |
|
32-bit real numbers in any interoperable representation, including single-width IEEE floating point. |
|
64-bit real numbers, in any interoperable representation including double-precision IEEE floating point. |
|
represents unicode-enabled strings. |
The figure below illustrates these types. Simple inheritance relationships are shown which facilitate the type descriptions below. Actual inheritance from or substitutability for an Any class is not assumed, and is shown only for convenience (e.g. to indicate that the '=' operator is available on any type). The type Ordered_numeric is on the other hand is used to indicate assumed substitutability of numeric types, and is intended to be mapped to an equivalent type in a real type system (e.g. in Java, java.lang.Number). Data-oriented implementation type systems such as XML-schema do not have such operations.
base.foundation_types.primitive_types PackageUnicode
It is assumed in the openEHR specifications that Unicode is supported by the type String. Unicode is needed for all Asian, Arabic and other script languages, for both data values (particularly plain text and coded text) and for many predefined string attributes of the classes in the openEHR Reference Model. It encompasses all existing character sets. In openEHR, UTF-8 encoding is assumed.
Class Definitions
Boolean Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Boolean |
|
|---|---|---|
Description |
Type representing minimal interface of built-in Boolean type. |
|
Inherit |
||
Functions |
Signature |
Meaning |
1..1 |
conjunction alias "and", "∧", "&" ( |
Logical conjunction of this with |
1..1 |
semistrict_conjunction alias "and then", "&&" ( |
Boolean semi-strict conjunction with |
1..1 |
disjunction alias "or", "∨", "|" ( |
Boolean disjunction with |
1..1 |
semistrict_disjunction alias "or else", "||" ( |
Boolean semi-strict disjunction with |
1..1 |
exclusive_disjunction alias "xor", "⊻" ( |
Boolean exclusive or with |
1..1 |
implication alias "implies", "⇒" ( |
Boolean implication of |
1..1 |
negation alias "not", "¬", "!" (): |
Boolean negation of the current value. |
Invariants |
Involutive_negation: |
|
Non_contradiction: |
||
Completeness: |
||
| Boolean | |||
|---|---|---|---|
Type representing minimal interface of built-in Boolean type. |
|||
Inherits: Any |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
conjunction alias "and", "∧", "&" ( |
Logical conjunction of this with |
||
semistrict_conjunction alias "and then", "&&" ( |
Boolean semi-strict conjunction with |
||
disjunction alias "or", "∨", "|" ( |
Boolean disjunction with |
||
semistrict_disjunction alias "or else", "||" ( |
Boolean semi-strict disjunction with |
||
exclusive_disjunction alias "xor", "⊻" ( |
Boolean exclusive or with |
||
implication alias "implies", "⇒" ( |
Boolean implication of |
||
negation alias "not", "¬", "!" (): |
Boolean negation of the current value. |
||
Invariants |
|||
Involutive_negation: |
|||
Non_contradiction: |
|||
Completeness: |
|||
{
"name": "Boolean",
"documentation": "Type representing minimal interface of built-in Boolean type.",
"ancestors": [
"Any"
],
"functions": {
"conjunction": {
"name": "conjunction",
"aliases": [
"and",
"∧",
"&"
],
"documentation": "Logical conjunction of this with `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Boolean"
}
},
"post_conditions": {
"Post_de_Morgan": "Result = not (not self or not other)",
"Post_commutative": "Result = (other and self)"
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"semistrict_conjunction": {
"name": "semistrict_conjunction",
"aliases": [
"and then",
"&&"
],
"documentation": "Boolean semi-strict conjunction with `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Boolean"
}
},
"post_conditions": {
"Post_de_Morgan": "Result = not (not self or else not other)"
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"disjunction": {
"name": "disjunction",
"aliases": [
"or",
"∨",
"|"
],
"documentation": "Boolean disjunction with `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Boolean"
}
},
"post_conditions": {
"Post_de_Morgan": "Result = not (not self and not other)",
"Post_commutative": "Result = (other or Current)",
"Post_consistent_with_semi_strict": "Result implies (self or else other)"
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"semistrict_disjunction": {
"name": "semistrict_disjunction",
"aliases": [
"or else",
"||"
],
"documentation": "Boolean semi-strict disjunction with `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Boolean"
}
},
"post_conditions": {
"Post_de_Morgan": "Result = not (not self and then not other)"
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"exclusive_disjunction": {
"name": "exclusive_disjunction",
"aliases": [
"xor",
"⊻"
],
"documentation": "Boolean exclusive or with `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Boolean"
}
},
"post_conditions": {
"Post_definition": "Result = ((self or other) and not (self and other))"
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"implication": {
"name": "implication",
"aliases": [
"implies",
"⇒"
],
"documentation": "Boolean implication of `_other_` (semi-strict)",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Boolean"
}
},
"post_conditions": {
"Post_definition": "Result = (not self or else other)"
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"negation": {
"name": "negation",
"aliases": [
"not",
"¬",
"!"
],
"documentation": "Boolean negation of the current value.",
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
}
},
"invariants": {
"Involutive_negation": "is_equal (not (not self))",
"Non_contradiction": "not (self and (not self))",
"Completeness": "self or else (not self)"
}
}
Ordered Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Ordered (abstract) |
|
|---|---|---|
Description |
Abstract parent class of ordered types i.e. types on which the '<' operator is defined. |
|
Inherit |
||
Functions |
Signature |
Meaning |
1..1 |
Arithmetic value comparison. Returns True if current object is less than In conjunction with |
|
1..1 |
less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
1..1 |
greater_than alias ">" ( |
True if current object greater than |
1..1 |
greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
| Ordered (abstract) | |||
|---|---|---|---|
Abstract parent class of ordered types i.e. types on which the '<' operator is defined. |
|||
Inherits: Any |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
(abstract) less_than alias "<" ( |
Arithmetic value comparison. Returns True if current object is less than In conjunction with |
||
less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
||
greater_than alias ">" ( |
True if current object greater than |
||
greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
||
{
"name": "Ordered",
"documentation": "Abstract parent class of ordered types i.e. types on which the '<' operator is defined.",
"is_abstract": true,
"ancestors": [
"Any"
],
"functions": {
"less_than": {
"name": "less_than",
"aliases": [
"<"
],
"documentation": "Arithmetic value comparison. Returns True if current object is less than `_other_`. This operator is effected and/or redefined in descendants to provide the appropriate ordering semantics for concrete types.\n\nIn conjunction with `=`, enables the definition of the related functions `_greater_than_()` etc.",
"is_abstract": true,
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Ordered"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"less_than_or_equal": {
"name": "less_than_or_equal",
"aliases": [
"<=",
"≤"
],
"documentation": "True if current object less than or equal to `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Ordered"
}
},
"post_conditions": {
"Post_result": "not (other < self)"
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"greater_than": {
"name": "greater_than",
"aliases": [
">"
],
"documentation": "True if current object greater than `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Ordered"
}
},
"post_conditions": {
"Post_result": "Result = (other < self)"
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"greater_than_or_equal": {
"name": "greater_than_or_equal",
"aliases": [
">=",
"≥"
],
"documentation": "True if current object greater than or equal to `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Ordered"
}
},
"post_conditions": {
"Post_result": "Result = (other <= self)"
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
}
}
}
Character Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Character |
|
|---|---|---|
Description |
Type representing minimal interface of built-in Character type. |
|
Inherit |
||
| Character | |||
|---|---|---|---|
Type representing minimal interface of built-in Character type. |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
(abstract) Ordered.less_than alias "<" ( |
Arithmetic value comparison. Returns True if current object is less than In conjunction with |
||
Ordered.less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
||
Ordered.greater_than alias ">" ( |
True if current object greater than |
||
Ordered.greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
||
{
"name": "Character",
"documentation": "Type representing minimal interface of built-in Character type.",
"ancestors": [
"Ordered"
]
}
Octet Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Octet |
|
|---|---|---|
Description |
Type representing minimal interface of built-in Octet type. |
|
Inherit |
||
| Octet | |||
|---|---|---|---|
Type representing minimal interface of built-in Octet type. |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
(abstract) Ordered.less_than alias "<" ( |
Arithmetic value comparison. Returns True if current object is less than In conjunction with |
||
Ordered.less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
||
Ordered.greater_than alias ">" ( |
True if current object greater than |
||
Ordered.greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
||
{
"name": "Octet",
"documentation": "Type representing minimal interface of built-in Octet type.",
"ancestors": [
"Ordered"
]
}
String Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
String |
|
|---|---|---|
Description |
Type representing minimal interface of built-in String type, as used to represent textual data in any natural or formal language. |
|
Inherit |
||
Functions |
Signature |
Meaning |
1..1 |
is_empty (): |
True if string is empty, i.e. equal to "". |
1..1 |
is_integer (): |
True if string can be parsed as an integer. |
1..1 |
as_integer (): |
Return the integer corresponding to the integer value represented in this string. |
1..1 |
Concatenation operator - causes |
|
1..1 |
Lexical comparison of string content based on ordering in relevant character set. |
|
1..1 |
Return True if this String contains |
|
| String | |||
|---|---|---|---|
Type representing minimal interface of built-in String type, as used to represent textual data in any natural or formal language. |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Lexical comparison of string content based on ordering in relevant character set. |
|||
Ordered.less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
||
Ordered.greater_than alias ">" ( |
True if current object greater than |
||
Ordered.greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
||
is_empty (): |
True if string is empty, i.e. equal to "". |
||
is_integer (): |
True if string can be parsed as an integer. |
||
as_integer (): |
Return the integer corresponding to the integer value represented in this string. |
||
Concatenation operator - causes |
|||
Return True if this String contains |
|||
{
"name": "String",
"documentation": "Type representing minimal interface of built-in String type, as used to represent textual data in any natural or formal language.",
"ancestors": [
"Ordered"
],
"functions": {
"is_empty": {
"name": "is_empty",
"documentation": "True if string is empty, i.e. equal to \"\".",
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"is_integer": {
"name": "is_integer",
"documentation": "True if string can be parsed as an integer.",
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"as_integer": {
"name": "as_integer",
"documentation": "Return the integer corresponding to the integer value represented in this string.",
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer"
}
},
"append": {
"name": "append",
"aliases": [
"+"
],
"documentation": "Concatenation operator - causes `_other_` to be appended to this string.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "String"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "String"
}
},
"less_than": {
"name": "less_than",
"documentation": "Lexical comparison of string content based on ordering in relevant character set.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "String"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"contains": {
"name": "contains",
"documentation": "Return True if this String contains `_other_` (case-sensitive).",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "String"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
}
}
}
Uri Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Uri |
|
|---|---|---|
Description |
A kind of String constrained to obey the syntax of RFC 3986. |
|
Inherit |
||
| Uri | |||
|---|---|---|---|
A kind of String constrained to obey the syntax of RFC 3986. |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Lexical comparison of string content based on ordering in relevant character set. |
|||
Ordered.less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
||
Ordered.greater_than alias ">" ( |
True if current object greater than |
||
Ordered.greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
||
True if string is empty, i.e. equal to "". |
|||
True if string can be parsed as an integer. |
|||
Return the integer corresponding to the integer value represented in this string. |
|||
Concatenation operator - causes |
|||
Return True if this String contains |
|||
{
"name": "Uri",
"documentation": "A kind of String constrained to obey the syntax of RFC 3986.",
"ancestors": [
"String"
]
}
Numeric Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Numeric (abstract) |
|
|---|---|---|
Description |
Abstract parent class of numeric types, which are types which have various arithmetic and comparison operators defined. |
|
Inherit |
||
Functions |
Signature |
Meaning |
1..1 |
Sum with |
|
1..1 |
Result of subtracting |
|
1..1 |
Product by |
|
1..1 |
Divide by`other`. Actual type of result depends on arithmetic balancing rules. |
|
1..1 |
Expontiation of this by |
|
1..1 |
negative alias "-" (): |
Generate negative of current value. |
| Numeric (abstract) | |||
|---|---|---|---|
Abstract parent class of numeric types, which are types which have various arithmetic and comparison operators defined. |
|||
Inherits: Any |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
(abstract) add alias "+" ( |
Sum with |
||
(abstract) subtract alias "-" ( |
Result of subtracting |
||
(abstract) multiply alias "*" ( |
Product by |
||
(abstract) divide alias "/" ( |
Divide by`other`. Actual type of result depends on arithmetic balancing rules. |
||
(abstract) exponent alias "^" ( |
Expontiation of this by |
||
(abstract) negative alias "-" (): |
Generate negative of current value. |
||
{
"name": "Numeric",
"documentation": "Abstract parent class of numeric types, which are types which have various arithmetic and comparison operators defined.",
"is_abstract": true,
"ancestors": [
"Any"
],
"functions": {
"add": {
"name": "add",
"aliases": [
"+"
],
"documentation": "Sum with `_other_` (commutative). Actual type of result depends on arithmetic balancing rules.",
"is_abstract": true,
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Numeric"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Numeric"
}
},
"subtract": {
"name": "subtract",
"aliases": [
"-"
],
"documentation": "Result of subtracting `_other_`. Actual type of result depends on arithmetic balancing rules.",
"is_abstract": true,
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Numeric"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Numeric"
}
},
"multiply": {
"name": "multiply",
"aliases": [
"*"
],
"documentation": "Product by `_other_`. Actual type of result depends on arithmetic balancing rules.",
"is_abstract": true,
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Numeric"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Numeric"
}
},
"divide": {
"name": "divide",
"aliases": [
"/"
],
"documentation": "Divide by`_other_`. Actual type of result depends on arithmetic balancing rules.",
"is_abstract": true,
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Numeric"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Numeric"
}
},
"exponent": {
"name": "exponent",
"aliases": [
"^"
],
"documentation": "Expontiation of this by `_other_`.",
"is_abstract": true,
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Numeric"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Numeric"
}
},
"negative": {
"name": "negative",
"aliases": [
"-"
],
"documentation": "Generate negative of current value.",
"is_abstract": true,
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Numeric"
}
}
}
}
Ordered_Numeric Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Ordered_Numeric (abstract) |
|
|---|---|---|
Description |
Abstract notional parent class of ordered, numeric types, which are types with both the |
|
Inherit |
||
| Ordered_Numeric (abstract) | |||
|---|---|---|---|
Abstract notional parent class of ordered, numeric types, which are types with both the |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
(abstract) Ordered.less_than alias "<" ( |
Arithmetic value comparison. Returns True if current object is less than In conjunction with |
||
Ordered.less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
||
Ordered.greater_than alias ">" ( |
True if current object greater than |
||
Ordered.greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
||
(abstract) Numeric.add alias "+" ( |
Sum with |
||
(abstract) Numeric.subtract alias "-" ( |
Result of subtracting |
||
(abstract) Numeric.multiply alias "*" ( |
Product by |
||
(abstract) Numeric.divide alias "/" ( |
Divide by`other`. Actual type of result depends on arithmetic balancing rules. |
||
(abstract) Numeric.exponent alias "^" ( |
Expontiation of this by |
||
Generate negative of current value. |
|||
{
"name": "Ordered_Numeric",
"documentation": "Abstract notional parent class of ordered, numeric types, which are types with both the `_less_than_()` and arithmetic functions defined.",
"is_abstract": true,
"ancestors": [
"Ordered",
"Numeric"
]
}
Integer Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Integer |
|||
|---|---|---|---|---|
Description |
Type representing minimal interface of built-in Integer type. |
|||
Inherit |
||||
Functions |
Signature |
Meaning |
||
1..1 |
Integer addition. |
|||
1..1 |
Integer subtraction. |
|||
1..1 |
Integer multiplication. |
|||
1..1 |
Integer division. |
|||
1..1 |
Integer exponentiation. |
|||
1..1 |
Return self modulo other. |
|||
1..1 |
Returns True if current Integer is less than |
|||
1..1 |
negative alias "-" (): |
Generate negative of current Integer value. |
||
1..1 |
Value equality: return True if Parameters
|
|||
1..1 |
Reference equality for reference types, value equality for value types. Parameters
|
|||
| Integer | |||
|---|---|---|---|
Type representing minimal interface of built-in Integer type. |
|||
Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Returns True if current Integer is less than |
|||
Ordered.less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
||
Ordered.greater_than alias ">" ( |
True if current object greater than |
||
Ordered.greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
||
Integer addition. |
|||
Integer subtraction. |
|||
Integer multiplication. |
|||
Integer division. |
|||
Integer exponentiation. |
|||
negative alias "-" (): |
Generate negative of current Integer value. |
||
modulo alias "mod", "\\" ( |
Return self modulo other. |
||
{
"name": "Integer",
"documentation": "Type representing minimal interface of built-in Integer type.",
"ancestors": [
"Ordered_Numeric"
],
"functions": {
"add": {
"name": "add",
"aliases": [
"+"
],
"documentation": "Integer addition.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer"
}
},
"subtract": {
"name": "subtract",
"aliases": [
"-"
],
"documentation": "Integer subtraction.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer"
}
},
"multiply": {
"name": "multiply",
"aliases": [
"*"
],
"documentation": "Integer multiplication.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer"
}
},
"divide": {
"name": "divide",
"aliases": [
"/"
],
"documentation": "Integer division.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"exponent": {
"name": "exponent",
"aliases": [
"^"
],
"documentation": "Integer exponentiation.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"modulo": {
"name": "modulo",
"aliases": [
"mod",
"\\\\"
],
"documentation": "Return self modulo other.",
"parameters": {
"mod": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "mod",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer"
}
},
"less_than": {
"name": "less_than",
"aliases": [
"<"
],
"documentation": "Returns True if current Integer is less than `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"negative": {
"name": "negative",
"aliases": [
"-"
],
"documentation": "Generate negative of current Integer value.",
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer"
}
},
"is_equal": {
"name": "is_equal",
"documentation": "Value equality: return True if `this` and `_other_` are attached to objects considered to be equal in value.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"documentation": "Other object for comparison.",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"equal": {
"name": "equal",
"aliases": [
"=",
"=="
],
"documentation": "Reference equality for reference types, value equality for value types.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"documentation": "Other object for comparison.",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
}
}
}
Integer64 Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Integer64 |
|||
|---|---|---|---|---|
Description |
Type representing minimal interface of built-in Integer64 type. |
|||
Inherit |
||||
Functions |
Signature |
Meaning |
||
1..1 |
Large integer addition. |
|||
1..1 |
Large integer subtraction. |
|||
1..1 |
Large integer multiplication. |
|||
1..1 |
Large integer division. |
|||
1..1 |
Large integer exponentiation. |
|||
1..1 |
Large integer modulus. |
|||
1..1 |
Returns True if current Integer is less than |
|||
1..1 |
negative alias "-" (): |
Generate negative of current Integer value. |
||
1..1 |
Value equality: return True if Parameters
|
|||
1..1 |
Reference equality for reference types, value equality for value types. Parameters
|
|||
| Integer64 | |||
|---|---|---|---|
Type representing minimal interface of built-in Integer64 type. |
|||
Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
equal alias "=", "==" ( |
Reference equality for reference types, value equality for value types. Parameters
|
||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Returns True if current Integer is less than |
|||
Ordered.less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
||
Ordered.greater_than alias ">" ( |
True if current object greater than |
||
Ordered.greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
||
Large integer addition. |
|||
Large integer subtraction. |
|||
Large integer multiplication. |
|||
Large integer division. |
|||
Large integer exponentiation. |
|||
negative alias "-" (): |
Generate negative of current Integer value. |
||
modulo alias "mod", "\\" ( |
Large integer modulus. |
||
{
"name": "Integer64",
"documentation": "Type representing minimal interface of built-in Integer64 type.",
"ancestors": [
"Ordered_Numeric"
],
"functions": {
"add": {
"name": "add",
"aliases": [
"+"
],
"documentation": "Large integer addition.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer64"
}
},
"subtract": {
"name": "subtract",
"aliases": [
"-"
],
"documentation": "Large integer subtraction.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer64"
}
},
"multiply": {
"name": "multiply",
"aliases": [
"*"
],
"documentation": "Large integer multiplication.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer64"
}
},
"divide": {
"name": "divide",
"aliases": [
"/"
],
"documentation": "Large integer division.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"exponent": {
"name": "exponent",
"aliases": [
"^"
],
"documentation": "Large integer exponentiation.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"modulo": {
"name": "modulo",
"aliases": [
"mod",
"\\\\"
],
"documentation": "Large integer modulus.",
"parameters": {
"mod": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "mod",
"type": "Integer"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer64"
}
},
"less_than": {
"name": "less_than",
"aliases": [
"<"
],
"documentation": "Returns True if current Integer is less than `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Integer64"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"negative": {
"name": "negative",
"aliases": [
"-"
],
"documentation": "Generate negative of current Integer value.",
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer64"
}
},
"is_equal": {
"name": "is_equal",
"documentation": "Value equality: return True if `this` and `_other_` are attached to objects considered to be equal in value.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"documentation": "Other object for comparison.",
"type": "Integer64"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"equal": {
"name": "equal",
"aliases": [
"=",
"=="
],
"documentation": "Reference equality for reference types, value equality for value types.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"documentation": "Other object for comparison.",
"type": "Integer64"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
}
}
}
Real Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Real |
|||
|---|---|---|---|---|
Description |
Type used to represent decimal numbers. Corresponds to a single-precision floating point value in most languages. |
|||
Inherit |
||||
Functions |
Signature |
Meaning |
||
1..1 |
floor (): |
Return the greatest integer no greater than the value of this object. |
||
1..1 |
Real number addition. |
|||
1..1 |
Real number subtraction. |
|||
1..1 |
Real number multiplication. |
|||
1..1 |
Real number division. |
|||
1..1 |
Real number exponentiation. |
|||
1..1 |
Returns True if current Real is less than |
|||
1..1 |
negative alias "-" (): |
Generate negative of current Real value. |
||
1..1 |
Value equality: return True if Parameters
|
|||
1..1 |
Reference equality for reference types, value equality for value types. Parameters
|
|||
| Real | |||
|---|---|---|---|
Type used to represent decimal numbers. Corresponds to a single-precision floating point value in most languages. |
|||
Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Returns True if current Real is less than |
|||
Ordered.less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
||
Ordered.greater_than alias ">" ( |
True if current object greater than |
||
Ordered.greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
||
Real number addition. |
|||
Real number subtraction. |
|||
Real number multiplication. |
|||
Real number division. |
|||
Real number exponentiation. |
|||
negative alias "-" (): |
Generate negative of current Real value. |
||
floor (): |
Return the greatest integer no greater than the value of this object. |
||
{
"name": "Real",
"documentation": "Type used to represent decimal numbers. Corresponds to a single-precision floating point value in most languages.",
"ancestors": [
"Ordered_Numeric"
],
"functions": {
"floor": {
"name": "floor",
"documentation": "Return the greatest integer no greater than the value of this object.",
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer"
}
},
"add": {
"name": "add",
"aliases": [
"+"
],
"documentation": "Real number addition.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Real"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Real"
}
},
"subtract": {
"name": "subtract",
"aliases": [
"-"
],
"documentation": "Real number subtraction.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Real"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Real"
}
},
"multiply": {
"name": "multiply",
"aliases": [
"*"
],
"documentation": "Real number multiplication.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Real"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Real"
}
},
"divide": {
"name": "divide",
"aliases": [
"/"
],
"documentation": "Real number division.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Real"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"exponent": {
"name": "exponent",
"aliases": [
"^"
],
"documentation": "Real number exponentiation.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"less_than": {
"name": "less_than",
"aliases": [
"<"
],
"documentation": "Returns True if current Real is less than `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Real"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"negative": {
"name": "negative",
"aliases": [
"-"
],
"documentation": "Generate negative of current Real value.",
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Real"
}
},
"is_equal": {
"name": "is_equal",
"documentation": "Value equality: return True if `this` and `_other_` are attached to objects considered to be equal in value.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"documentation": "Other object for comparison.",
"type": "Real"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"equal": {
"name": "equal",
"aliases": [
"=",
"=="
],
"documentation": "Reference equality for reference types, value equality for value types.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"documentation": "Other object for comparison.",
"type": "Real"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
}
}
}
Double Class
-
Definition
-
Effective
-
BMM
-
UML
Class |
Double |
|||
|---|---|---|---|---|
Description |
Type used to represent double-precision decimal numbers. Corresponds to a double-precision floating point value in most languages. |
|||
Inherit |
||||
Functions |
Signature |
Meaning |
||
1..1 |
floor (): |
Return the greatest integer no greater than the value of this object. |
||
1..1 |
Double-precision real number addition. |
|||
1..1 |
Double-precision real number subtraction. |
|||
1..1 |
Double-precision real number multiplication. |
|||
1..1 |
Double-precision real number division. |
|||
1..1 |
Double-precision real number exponentiation. |
|||
1..1 |
Returns True if current Double is less than |
|||
1..1 |
negative alias "-" (): |
Generate negative of current Double value. |
||
1..1 |
Value equality: return True if Parameters
|
|||
1..1 |
Reference equality for reference types, value equality for value types. Parameters
|
|||
| Double | |||
|---|---|---|---|
Type used to represent double-precision decimal numbers. Corresponds to a double-precision floating point value in most languages. |
|||
Inherits: Any, Any, Ordered, Numeric, Ordered_Numeric |
|||
Functions |
|||
Value equality: return True if Parameters
|
|||
Reference equality for reference types, value equality for value types. Parameters
|
|||
Create new instance of a type. |
|||
Type name of an object as a string. May include generic parameters, as in |
|||
Any.not_equal alias "!=", "≠" ( |
True if current object not equal to |
||
Returns True if current Double is less than |
|||
Ordered.less_than_or_equal alias "⇐", "≤" ( |
True if current object less than or equal to |
||
Ordered.greater_than alias ">" ( |
True if current object greater than |
||
Ordered.greater_than_or_equal alias ">=", "≥" ( |
True if current object greater than or equal to |
||
Double-precision real number addition. |
|||
Double-precision real number subtraction. |
|||
Double-precision real number multiplication. |
|||
Double-precision real number division. |
|||
Double-precision real number exponentiation. |
|||
negative alias "-" (): |
Generate negative of current Double value. |
||
floor (): |
Return the greatest integer no greater than the value of this object. |
||
{
"name": "Double",
"documentation": "Type used to represent double-precision decimal numbers. Corresponds to a double-precision floating point value in most languages.",
"ancestors": [
"Ordered_Numeric"
],
"functions": {
"floor": {
"name": "floor",
"documentation": "Return the greatest integer no greater than the value of this object.",
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Integer"
}
},
"add": {
"name": "add",
"aliases": [
"+"
],
"documentation": "Double-precision real number addition.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"subtract": {
"name": "subtract",
"aliases": [
"-"
],
"documentation": "Double-precision real number subtraction.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"multiply": {
"name": "multiply",
"aliases": [
"*"
],
"documentation": "Double-precision real number multiplication.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"divide": {
"name": "divide",
"aliases": [
"/"
],
"documentation": "Double-precision real number division.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"exponent": {
"name": "exponent",
"aliases": [
"^"
],
"documentation": "Double-precision real number exponentiation.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"less_than": {
"name": "less_than",
"aliases": [
"<"
],
"documentation": "Returns True if current Double is less than `_other_`.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"negative": {
"name": "negative",
"aliases": [
"-"
],
"documentation": "Generate negative of current Double value.",
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Double"
}
},
"is_equal": {
"name": "is_equal",
"documentation": "Value equality: return True if `this` and `_other_` are attached to objects considered to be equal in value.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"documentation": "Other object for comparison.",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
},
"equal": {
"name": "equal",
"aliases": [
"=",
"=="
],
"documentation": "Reference equality for reference types, value equality for value types.",
"parameters": {
"other": {
"_type": "P_BMM_SINGLE_FUNCTION_PARAMETER",
"name": "other",
"documentation": "Other object for comparison.",
"type": "Double"
}
},
"result": {
"_type": "P_BMM_SIMPLE_TYPE",
"type": "Boolean"
}
}
}
}