next up previous contents index
Next: even?,odd? Up: IntegerType Previous: coerce,machine   Contents   Index


divide,mod,quo,rem


Usage

divide(a, b)
a mod n
a mod b
a quo b
a rem b


Signatures

divide: (%,%) $\to$ (%, %)
mod,quo,rem: (%,%) $\to$ %
mod: (%,MachineInteger) $\to$ MachineInteger


Parameter Type Description
a,b % integers, $b \ne 0$
n MachineInteger a nonzero machine integer


Returns

$a$ mod $b$ (resp. $a$ mod $n$) returns $m$ such that $0 \le m < \vert b\vert$ (resp. $0 \le m < \vert n\vert$) and $a \equiv m \pmod b$ (resp $n$), while $a$ rem $b$ returns $r$ such that $-\vert b\vert < r < \vert b\vert$ and $a \equiv r \pmod b$, $a$ quo $b$ returns $(a - (a$ rem $b)) / b$, and divide(a, b) returns the pair (a quo b, a rem b).


Remarks

mod returns a unique remainder modulo b, but is more expensive to compute than rem, and is not guaranteed to be compatible with the result of quo. The version whose second argument is a MachineInteger allows for more efficient implementations.


next up previous contents index
Next: even?,odd? Up: IntegerType Previous: coerce,machine   Contents   Index
Manuel Bronstein 2004-06-28