ref: 7e4d9a4bfa2148c07930dd45b4e7d3071ff6180e
dir: /sys/src/cmd/unix/drawterm/libc/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; }