ECL provides specialized array types for several element kinds. In the following table we list those types, together with the machine type which is used to implement them, and the expected size.
Specialized type | Element C type | Size |
---|---|---|
bit | - | 1 bit |
character | unsigned char or uint32_t | Depends on character range |
base-char | unsigned char | |
fixnum | cl_fixnum | Machine word (32 or 64 bits) |
(signed-byte 8) | int8_t | 8 bits |
(unsigned-byte 8) | uint8_t | 8 bits |
single-float or short-float | float | 32-bits IEEE float |
double-float | double | 64-bits IEEE float |
long-float | long double | Between 96 and 128 bits. Only when compiled with support for long-float. |
t | cl_object | Size of a pointer. |