ref: cdcc2bf6944fa9f0765a5c3c990eb6b0b12b605d 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; slop = MASK % n; do v = lrand(); while(v <= slop); return v % n; }