
ANSI Common Lisp 12 Numbers 12.2 Dictionary of Numbers
12.2.5 shortfloat, singlefloat, doublefloat, longfloat 
Type 
 Supertypes:

shortfloat:
shortfloat,
float,
real,
number,
t
singlefloat:
singlefloat,
float,
real,
number,
t
doublefloat:
doublefloat,
float,
real,
number,
t
longfloat:
longfloat,
float,
real,
number,
t
 Description:

For the four defined subtypes of type float, it is true that
intermediate between the type shortfloat and the type longfloat are
the type singlefloat and the type doublefloat.
The precise definition of these categories is
implementationdefined.
The precision (measured in "bits", computed as plog_{2}b)
and the exponent size (also measured in "bits," computed as
log_{2}(n+1), where n is the maximum exponent value) is recommended
to be at least as great
as the values in the next figure.
Each of the defined subtypes of type float might or might not have a minus zero.
Recommended Minimum FloatingPoint Precision and Exponent Size
Format 
Minimum Precision 
Minimum Exponent Size 
Short 
13 bits 
5 bits 
Single 
24 bits 
8 bits 
Double 
50 bits 
8 bits 
Long 
50 bits 
8 bits 
There can be fewer than four internal
representations for floats.
If there are fewer distinct representations, the following rules apply:
 Compound Type Specifier Kind:

Abbreviating.
 Compound Type Specifier Syntax:

(shortfloat [shortlowerlimit [shortupperlimit]])
(singlefloat [singlelowerlimit [singleupperlimit]])
(doublefloat [doublelowerlimit [doubleupperlimit]])
(longfloat [longlowerlimit [longupperlimit]])
 Compound Type Specifier Arguments:

shortlowerlimit, shortupperlimit  interval designators
for type shortfloat.
The defaults for each of lowerlimit and upperlimit is the symbol *.
singlelowerlimit, singleupperlimit  interval designators
for type singlefloat.
The defaults for each of lowerlimit and upperlimit is the symbol *.
doublelowerlimit, doubleupperlimit  interval designators
for type doublefloat.
The defaults for each of lowerlimit and upperlimit is the symbol *.
longlowerlimit, longupperlimit  interval designators
for type longfloat.
The defaults for each of lowerlimit and upperlimit is the symbol *.
 Compound Type Specifier Description:

Each of these denotes the set of floats of the indicated type
that are on the interval specified by the interval designators.
 Allegro CL Implementation Details:

None.
