ref: 09a85257b0254babd5e225d00dde49fe63ffb12f
dir: /libc/nrand.c/
#include <u.h>
#include <libc.h>
#define MASK 0x7fffffffL
int
nrand(int n)
{
long slop, v;
if(n < 0)
return n;
if(n == 1)
return 0;
/* and if n == 0, you deserve what you get */
slop = MASK % n;
do
v = lrand();
while(v <= slop);
return v % n;
}