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)`

.