plan9port/src/libmp/port/mpmod.c

16 lines
256 B
C
Raw Normal View History

2004-03-21 14:06:38 +00:00
#include "os.h"
#include <mp.h>
#include "dat.h"
/* remainder = b mod m */
/* */
/* knuth, vol 2, pp 398-400 */
2004-03-21 14:06:38 +00:00
void
mpmod(mpint *b, mpint *m, mpint *remainder)
{
mpdiv(b, m, nil, remainder);
if(remainder->sign < 0)
mpadd(m, remainder, remainder);
}