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 floating-point numbers are non-immediate 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 non-zero 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.
|