SRFI 143 - Fixnums
This SRFI describes arithmetic procedures applicable to a limited range of exact integers only. These procedures are semantically similar to the corresponding generic-arithmetic procedures, but allow more efficient implementations.
See the SRFI document for more information.
Constants
Predicates
fixnum?
fx=?
fx<?
fx>?
fx<=?
fx>=?
fxzero?
fxpositive?
fxnegative?
fxodd?
fxeven?
fxmax
fxmin
Basic arithmetic
fx+
fx-
fx*
fxneg
fxquotient
fxremainder
fxabs
fxsquare
fxsqrt
Bitwise operations
fxnot
fxand
fxior
fxxor
fxarithmetic-shift
fxarithmetic-shift-left
fxarithmetic-shift-right
fxbit-count
fxlength
fxif
fxbit-set?
fxcopy-bit
fxfirst-set-bit
fxbit-field
fxbit-field-rotate
fxbit-field-reverse
fx-width
(fx-width)
Bound to the value w that specifies the implementation-defined fixnum integer range.
fx-greatest
(fx-greatest)
Returns value of the largest representable fixnum.
fx-least
(fx-least)
Returns value of the smallest representable fixnum.
fixnum?
(fixnum? obj)
Returns #t if obj is an exact integer within the fixnum range, and #f otherwise.
fx=?
(fx=? i j)
Semantically equivalent to =.
fx<?
(fx<? i j)
Semantically equivalent to <.
fx>?
(fx>? i j)
Semantically equivalent to >.
fx<=?
(fx<=? i j)
Semantically equivalent to <=.
fx>=?
(fx>=? i j)
Semantically equivalent to >=.
fxzero?
(fxzero? i)
Semantically equivalent to zero?.
fxpositive?
(fxpostiive? i)
Semantically equivalent to positive?.
fxnegative?
(fxnegative? i)
Semantically equivalent to negative?.
fxodd?
(fxodd? i)
Semantically equivalent to odd?.
fxeven?
(fxeven? i)
Semantically equivalent to even?.
fxmax
(fxmax i j)
Semantically equivalent to max.
fxmin
(fxmin i j)
Semantically equivalent to min.
fx+
(fx+ i j)
Semantically equivalent to +, but accepts exactly two arguments.
fx-
(fx- i j)
Semantically equivalent to -, but accepts exactly two arguments.
fx*
(fx* i j)
Semantically equivalent to *, but accepts exactly two arguments.
fxneg
(fxneg i)
Semantically equivalent to -, but accepts exactly one argument.
fxquotient
(fxquotient i j)
Semantically equivalent to quotient.
fxremainder
(fxremainder i j)
Semantically equivalent to remainder.
fxabs
(fxabs i)
Semantically equivalent to abs.
fxsquare
(fxsquare i)
Semantically equivalent to square.
fxsqrt
(fxsqrt i)
Semantically equivalent to sqrt.
fxnot
(fxnot i)
Semantically equivalent to bitwise-not.
fxand
(fxand i j)
Semantically equivalent to bitwise-and.
fxior
(fxior i j)
Semantically equivalent to bitwise-ior.
fxxor
(fxxor i j)
Semantically equivalent to bitwise-xor.
fxarithmetic-shift
(fxarithmetic-shift i count)
Semantically equivalent to arithmetic-shift, except that it is an error for the absolute value of count to exceed w-1.
fxarithmetic-shift-left
(fxarithmetic-shift-left i count)
The same as fxarithmetic-shift except that a negative value of count is an error. This is provided for additional efficiency.
fxarithmetic-shift-right
(fxarithmetic-shift-right i count)
The same as fxarithmetic-shift except that a non-negative value of count specifies the number of bits to shift right, and a negative value is an error. This is provided for additional efficiency.
fxbit-count
(fxbit-count i)
Semantically equivalent to SRFI 151 bit-count.
fxlength
(fxlength i)
Semantically equivalent to integer-length.
fxif
(fxif mask i j)
Semantically equivalent to bitwise-if.
fxbit-set?
(fxbit-set? index i)
Semantically equivalent to SRFI 151 bit-set?, except that it is an error for index to be larger than or equal to fx-width.
fxcopy-bit
(fxcopy-bit index i boolean)
Semantically equivalent to SRFI 151 copy-bit, except that it is an error for index to be larger than or equal to fx-width.
fxfirst-set-bit
(fxfirst-set-bit i)
Semantically equivalent to first-set-bit.
fxbit-field
(fxbit-field i start end)
Semantically equivalent to bit-field.
fxbit-field-rotate
(fxbit-field-rotate i count start end)
Semantically equivalent to SRFI 151 bit-field-rotate.
fxbit-field-reverse
(fxbit-field-reverse i start end)
Semantically equivalent to bit-field-reverse.
