Skip to main content

complexp

complexp Function

Syntax:

complexp object → generalized-boolean

Arguments and Values:

object—an object.

generalized-boolean—a generalized boolean.

Description:

Returns true if object is of type complex; otherwise, returns false.

Examples:

(complexp 1.2d2) → false
(complexp #c(5/3 7.2)) → true

See Also:

complex (function and type), typep

Notes:

(complexp object) ≡ (typep object ’complex)

Expanded Reference: complexp​

Testing if an object is a complex number​

complexp returns true if the object is of type complex.

(complexp #c(1 2))
=> T
(complexp #c(5/3 7.2))
=> T
(complexp #c(0.0 1.0))
=> T

Real numbers are not complex​

Integers, ratios, and floats are not complex, even though they can be thought of as complex numbers with zero imaginary part.

(complexp 42)
=> NIL
(complexp 1.2d2)
=> NIL
(complexp 3/4)
=> NIL

Non-numeric objects​

complexp returns false for all non-numeric types.

(complexp nil)
=> NIL
(complexp "complex")
=> NIL
(complexp '(1 2))
=> NIL

Complex numbers created with the complex function​

The complex function creates complex numbers. If the imaginary part is an exact zero and the real part is rational, the result may be a rational rather than a complex.

(complexp (complex 1 2))
=> T
(complexp (complex 1.0 0.0))
=> T
(complexp (complex 1 0))
=> NIL

Equivalence to typep​

complexp is equivalent to (typep object 'complex).

(eql (complexp #c(1 2)) (typep #c(1 2) 'complex))
=> T
(eql (complexp 42) (typep 42 'complex))
=> T