Node:Integer Data,
Next:Character Data,
Up:Immediate Datatypes
18.2.4.1 Integers
Here are functions for operating on small integers, that fit within an
SCM
. Such integers are called immediate numbers, or
INUMs. In general, INUMs occupy all but two bits of an
SCM
.
Bignums and floatingpoint numbers are nonimmediate objects, and have
their own, separate accessors. The functions here will not work on
them. This is not as much of a problem as you might think, however,
because the system never constructs bignums that could fit in an INUM,
and never uses floating point values for exact integers.
int SCM_INUMP (SCM x)

Macro 
Return nonzero iff x is a small integer value.

int SCM_NINUMP (SCM x)

Macro 
The complement of SCM_INUMP.

int SCM_INUM (SCM x)

Macro 
Return the value of x as an ordinary, C integer. If x
is not an INUM, the result is undefined.

SCM SCM_MAKINUM (int i)

Macro 
Given a C integer i, return its representation as an SCM .
This function does not check for overflow.
