|   | 
 ANSI Common Lisp    12 Numbers    12.2 Dictionary of Numbers
 
| 12.2.2  complex | 
System Class | 
  
 - Class Precedence List:
 - 
complex,
number,
t
  - Description:
 - 
The type complex includes all mathematical complex numbers
other than those included in the type rational.
Complexes are 
expressed
in Cartesian form with a
real part and an imaginary part, each of which is a real.
The real part and imaginary part are either both
rational or both of the same float type.
The imaginary part can be a float zero, but can never
be a rational zero, for such a number is always represented
by Common Lisp as a rational rather than a complex.
  - Compound Type Specifier Kind:
 - 
Specializing.
  - Compound Type Specifier Syntax:
 - 
(complex [typespec | *])
  - Compound Type Specifier Arguments:
 - 
typespec - a type specifier that denotes a subtype of type real.
  - Compound Type Specifier Description:
 - 
Every element of this type is a complex whose
real part and imaginary part are each of type
(upgraded-complex-part-type typespec).
This type encompasses those complexes
that can result by giving numbers of type typespec
to complex.
 
(complex type-specifier)
refers to all complexes that can result from giving
numbers of type type-specifier to the function complex, 
plus all other complexes of the same specialized representation.      
 
 
  - See Also:
 - 
Section 12.1.5.3 Rule of Canonical Representation for Complex Rationals,
Section 2.3.2 Constructing Numbers from Tokens,
Section 22.1.3.1.4 Printing Complexes
  - Notes:
 - 
The input syntax for a complex with real part r and 
imaginary part i is #C(r i).  
For further details, see Section 2.4 Standard Macro Characters.
For every float, n, there is a complex
which represents the same mathematical number 
and which can be obtained by (COERCE n 'COMPLEX).
 
  - Allegro CL Implementation Details:
 - 
 None.
  
 |