Home Previous Up Next Table of Contents Index
  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.

Home Previous Up Next Table of Contents Index
© Franz Inc. 1998-2002 - File last updated 6-21-2002