Skip to content

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

Function: plusp number ​

This predicate tests whether its argument is positive, and returns t if so, nil otherwise. The argument must be a number.

Function: minusp number ​

This predicate tests whether its argument is negative, and returns t if so, nil otherwise. The argument must be a number.

Function: oddp integer ​

This predicate tests whether its argument is an odd number, and returns t if so, nil otherwise. The argument must be an integer.

Function: evenp integer ​

This predicate tests whether its argument is an even number, and returns t if so, nil otherwise. The argument must be an integer.