%eclent; ]> Arrays
Array limits &ECL; arrays can have up to 64 dimensions. Common-Lisp constants related to arrays have the following values in &ECL;. Constant Value array-rank-limit 64 array-dimension-limit most-positive-fixnum array-total-size-limit array-dimension-limit
Specializations When the elements of an array are declared to have some precise type, such as a small or large integer, a character or a floating point number, &ECL; has means to store those elements in a more compact form, known as a specialized array. The list of types for which &ECL; specializes arrays is platform dependent, but is summarized in the following table, together with the C type which is used internally 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 (signed-byte 16) int16_t 16 bits (unsigned-byte 16) uint16_t 16 bits (signed-byte 32) int32_t 32 bits (unsigned-byte 32) uint32_t 32 bits (signed-byte 64) int64_t 64 bits (unsigned-byte 64) uint64_t 64 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. t cl_object Size of a pointer. Let us remark that some of these specialized types might not exist in your platform. This is detected using conditional reading and features (See ).