3.3 Type Predicates for Numbers
The functions in this section test for numbers, or for a specific type of number. The functions integerp
and floatp
can take any type of Lisp object as argument (they would not be of much use otherwise), but the zerop
predicate requires a number as its argument. See also integer-or-marker-p
and number-or-marker-p
, in Predicates on Markers.
function
bignump objectβ
This predicate tests whether its argument is a large integer, and returns t
if so, nil
otherwise. Unlike small integers, large integers can be =
or eql
even if they are not eq
.
function
fixnump objectβ
This predicate tests whether its argument is a small integer, and returns t
if so, nil
otherwise. Small integers can be compared with eq
.
function
floatp objectβ
This predicate tests whether its argument is floating point and returns t
if so, nil
otherwise.
function
integerp objectβ
This predicate tests whether its argument is an integer, and returns t
if so, nil
otherwise.
function
numberp objectβ
This predicate tests whether its argument is a number (either integer or floating point), and returns t
if so, nil
otherwise.
function
natnump objectβ
This predicate (whose name comes from the phrase βnatural number") tests to see whether its argument is a nonnegative integer, and returns t
if so, nil
otherwise. 0 is considered non-negative.
wholenump
is a synonym for natnump
.
function
zerop numberβ
This predicate tests whether its argument is zero, and returns t
if so, nil
otherwise. The argument must be a number.
(zerop x)
is equivalent to (= x 0)
.