ref: 1769b00b9126d2a9fb6e4acc9dc5a37dc4c96716
dir: /sys/src/libmp/port/mpmod.c/
#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); }