##
fixnums - Fixnum arithmetic

## LIBRARY

**(import (rnrs arithmetic fixnums))
**

## DESCRIPTION

Every implementation must define its fixnum range as a
closed interval
[−2^(w−1), 2^(w−1)−1]
such that w is a (mathematical) integer w ≥ 24. Every
mathematical integer within an implementation’s fixnum
range must correspond to an exact integer object that is
representable within the implementation. A fixnum is an
exact integer object whose value lies within this fixnum
range.` `
Fixnum operations perform integer arithmetic on their
fixnum arguments, but raise an exception with condition
type
**&implementation-restriction
**if the result is not a fixnum.` `

## IMPLEMENTATION NOTES

**GNU Guile
**-
Guile runs generic arithmetic faster than fixnums. If the numbers are
of a certain width (e.g. 32-bit) then they should be to truncated
with
**bitwise-and**.` `
**IronScheme
**-
IronScheme stores fixnums on the heap. Remember to not use
**eq?**,
**assq** or **memq** on fixnums. (This applies to Scheme as such,
not just IronScheme).` `

## STANDARDS

R6RS
## SEE ALSO

**fixnum-width**(3scm)
## AUTHORS

This page is part of the
*scheme-manpages
*project.` `
It includes materials from the RnRS documents.` `
More information can be found at
`https://github.com/schemedoc/manpages/`

.` `

Markup created by *unroff* 1.0sc, ` ` ` `March 04, 2023.