rsc | b3f6179 | 2004-03-21 14:06:38 +0000 | [diff] [blame] | 1 | #include "os.h" |
2 | #include <mp.h> | ||||
3 | #include "dat.h" | ||||
4 | |||||
5 | // remainder = b mod m | ||||
6 | // | ||||
7 | // knuth, vol 2, pp 398-400 | ||||
8 | |||||
9 | void | ||||
10 | mpmod(mpint *b, mpint *m, mpint *remainder) | ||||
11 | { | ||||
12 | mpdiv(b, m, nil, remainder); | ||||
13 | if(remainder->sign < 0) | ||||
14 | mpadd(m, remainder, remainder); | ||||
15 | } |