previous next top contents index framed top this page unframed
J.1. Portable Data Type Ranges and Data Structure Size Limits
The portable ranges of the MAINSAIL
data types and size limits of the MAINSAIL data structures
are shown in Table J–1.
The limits listed are inclusive.
The sizes listed for data structures are subject to the availability
of sufficient memory to contain the data structures.
The data section size includes all own variables, not just interface variables, and possibly hidden variables not declared by the programmer as well.
Table J–1. Portable Data Type Ranges and Data Structure Size Limits
| Type or Structure | Portable Range |
|---|---|
| BOOLEAN | TRUE or FALSE |
| INTEGER | -2147483647 to +2147483647 |
| LONG INTEGER | -2147483647 to +2147483647 |
| REAL | 1.0E-38 to 1.0E+38, six decimal digits |
| LONG REAL | 1.0E-38 to 1.0E+38, eleven decimal digits |
| STRING | 0 to 2147483647 eight-bit characters |
| ARRAY, one dimension | bounds -2147483647 to +2147483647 |
| ARRAY, two or three dimensions | see Section 12.7 |
| Record | no size limitation |
| CLASS | no size limitation |
Outer variables, the contents of dynamic records, dynamic ARRAYs, and data sections, and local variables of types POINTER, STRING, $PROCVAR, inplace record, and inplace ARRAY (but not of other data types), are always initialized by MAINSAIL to Zero. Thus, only local variables of types other than POINTER, STRING, $PROCVAR, inplace record, and inplace ARRAY can be uninitialized.
INIT statement bracketed counts are limited to 2147483647.