These types redefine the related C types so as to keep always the same size whatever is the machine word size. There are renamed by reusing the name of the C type except that the first letter is uppercase and a U is added to unsigned type.
The primitive types are:
Char
(or int1
): a tiny integer (8 bits) [-128,127].Uchar
(or uint1
): a tiny unsigned integer (8 bits) [0,+255].Short
(or int2
): a short integer (16 bits) [-32768,+32767].Ushort
(or uint2
): a short unsigned integer (16 bits) [0,+65635].Long
(or int4
): a long integer (32 bits) [-2147483648,+2147483647].Ulong
(or uint4
): a long unsigned integer (32 bits) [0,+4294967295].Float
(or float4
): a real (32 bits) [-3.40e+38 ,+3.40e+38] with a precision of 1.17e-38;Double
(or float8
): a long real (64 bits) [-1.79e+308,+1.79e+308] with a precision of 2.22e-308.
Errc
allows the representation of any value of the predefined types, plus a new enumerated type: {SUCCESS, FAILURE}. This type is generally used as the return type for the operator function.A variable of this type can be set with any value of the primitive type and can be changed at any time. For example:
Errc Operator() { if ( ... ) return (Char)0; if ( ... ) return 50.0F return SUCCESS; } void main() { Errc a; a=Operator(); if (a==SUCCESS) ... else if (a>50.0F) ...; }