integerp
integerp Function
Syntax:
integerp object → generalized-boolean
Arguments and Values:
object—an object.
generalized-boolean—a generalized boolean.
Description:
Returns true if object is of type integer; otherwise, returns false.
Examples:
(integerp 1) → true
(integerp (expt 2 130)) → true
(integerp 6/5) → false
(integerp nil) → false
Notes:
(integerp object) ≡ (typep object ’integer)
Expanded Reference: integerp
Testing if an object is an integer
integerp returns true if the object is an integer (fixnum or bignum).
(integerp 1)
=> T
(integerp 0)
=> T
(integerp -100)
=> T
(integerp (expt 2 130))
=> T
Non-integer numbers
Ratios, floats, and complex numbers are not integers.
(integerp 6/5)
=> NIL
(integerp 3.0)
=> NIL
(integerp #c(1 2))
=> NIL
Non-numeric objects
integerp returns false for all non-numeric types.
(integerp nil)
=> NIL
(integerp "42")
=> NIL
(integerp 'hello)
=> NIL
Practical use: ensuring integer arguments
integerp can guard functions that require integer inputs.
(defun factorial (n)
(assert (and (integerp n) (>= n 0))
(n) "~A is not a non-negative integer" n)
(if (zerop n) 1 (* n (factorial (1- n)))))
(factorial 5)
=> 120
Equivalence to typep
integerp is equivalent to (typep object 'integer).
(eql (integerp 42) (typep 42 'integer))
=> T
(eql (integerp 3.0) (typep 3.0 'integer))
=> T