#include "platform.h"#include "mp.h" /* return uniform random [0..n-1] */mpint*mpnrand(mpint *n, void (*gen)(u8int*, int), mpint *b){ int bits; bits = mpsignif(n); if(bits == 0) abort(); if(b == nil) b = mpnew(bits); do{ mprand(bits, gen, b); }while(mpmagcmp(b, n) >= 0); return b;}
#include "platform.h"
#include "mp.h"
/* return uniform random [0..n-1] */
mpint*
mpnrand(mpint *n, void (*gen)(u8int*, int), mpint *b)
{
int bits;
bits = mpsignif(n);
if(bits == 0)
abort();
if(b == nil)
b = mpnew(bits);
do{
mprand(bits, gen, b);
}while(mpmagcmp(b, n) >= 0);
return b;
}