ref: f5688dd6c9bfb6cee00f2c5e5f190d7a2ffaa6c6
dir: /sys/src/libc/port/lnrand.c/
#include <u.h>
#include <libc.h>
#define MASK 0x7fffffffL
long
lnrand(long n)
{
long slop, v;
if(n < 0)
return n;
slop = MASK % n;
do
v = lrand();
while(v <= slop);
return v % n;
}