The domain consists of a basic domain and maybe parameters, for further specification of the domain.
that specify the basic domain further.
The first bit (counting starts with 1) of the basic domain determines the length of the field:
The second bit indicates whether the domain is scaled:
If the domain is scaled, a scaling factor is specified. This factor
is a float, the unscaled values of the domain will be multiplied with it to obtain (the values of) the scaled domain.
The scaling part is specified after the domain information (including parameters). It consists of three fields: the length field, the mantissa field and the exponent field. The first field (the length field) is 8 bits long, it is a natural number and specifies the number of bytes for both the mantissa and the exponent field. The mantissa field (second field) and the exponent field (third field)
are each integers. The scaling factor
is then
.
Example: The domain is 2 bit natural numbers with the scaling factor of
(the mantissa is
and the exponent is
, the length field is
, for one byte scaling factor field). The bits of the scaling factor are thus: 0000 0001; 0000 0001; 1111 1111. Possible values for the elements for the domain are:
;
;
;
. If in the element to the domain a number is set that would mean
unscaled, it means with the scaling
.
The bits of the entire domain are: 0; 1; 000000; 00000010; 00000001; 00000001; 11111111 (Fields in this order: 8-bit basic domain; scaled; natNumberB, with 2 bits per element; scaling factor: 1 byte per field,
,
) (in the file, first bit at the front: 01000000 01000000 10000000 10000000 11111111)
The individual domains (including scaling factor) are padded with 0 to full Byts. So if a domain is 13 bits long, the remaining 3 bits are filled with 0, so that the domain field is 16 bit (=2 byte) long.
name | value bit 3 till 8 | description | parameter |
naturalNumberB | 0000 00 | The basic domain are the natural numbers. | The following 8-bit parameter is a natural number ![]() ![]() |
integerB | 0100 00 | The basic domain are the integer numbers. | The following 8-bit parameter is a natural number ![]() ![]() |
naturalNumber | 0000 01 | The basic domain are the natural numbers. | The following 64-bit parameter is a natural number ![]() ![]() ![]() |
integer | 0100 01 | The basic domain are the integer numbers. | The following two 64-bit parameters are two integers ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
integerValues | 0100 10 | The basic domain are the integer numbers | The first 64-bit parameter is a natural number ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
real | 1000 00 | The basic domain are floating point numbers. A floating point number consists of two integer fields, one the first, for the exponent ![]() ![]() ![]() ![]() |
It follow two parameters. The first parameter specifies the domain of the mantissa and the second for the exponent. The specification of the domains is as described in this table (without the domains individually padded with 0). Both domains have to be domains for integers (ie. integer... or naturalNumber...). |
realValues | 1000 01 | The basic domain are floating point numbers. A floating point number consists of two integer fields, one the first, for the exponent ![]() ![]() ![]() ![]() |
The first following 64 bit parameter is a natural number ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
vector | 1100 00
and 1100 01 |
The basic domain are vectors. | The following parameters ![]() ![]() ![]() ![]() |
vectorValues | 1100 10
and 1100 11 |
The basic domain are vectors. | The following parameters ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
vectorOpenEnd | 1110 00
and 1110 01 |
The basic domain are vectors. | The following parameters ![]() ![]() ![]() ![]() |
domainReference | 1111 00 | This is a reference to the (sub-)domain of an other element. The domain is the domain of the element with the given domain name ![]() |
The first parameter is the in the compressed format coded ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
defaultDomain | 1111 01 | The specified domain will be used only if for the corresponding element so far no other domain was given. | As a parameter follows a domain as described in this table. The specified domain is only used, if for the corresponding element so far no other domain was given. |