Sign in
plan9port
/
plan9
/
80ecfd2430750a6e24d5dd480c7d9aa2385e8fda
/
.
/
src
/
libmp
/
port
/
mpmod.c
blob: 91bebfa2727a66fb200787b700e9ce89a216c93a [
file
] [
log
] [
blame
]
#include
"os.h"
#include
<mp.h>
#include
"dat.h"
// remainder = b mod m
//
// knuth, vol 2, pp 398-400
void
mpmod
(
mpint
*
b
,
mpint
*
m
,
mpint
*
remainder
)
{
mpdiv
(
b
,
m
,
nil
,
remainder
);
if
(
remainder
->
sign
<
0
)
mpadd
(
m
,
remainder
,
remainder
);
}