lnrand.c - 9base - revived minimalist port of Plan 9 userland to Unix | |
git clone git://git.suckless.org/9base | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
lnrand.c (194B) | |
--- | |
1 #include <u.h> | |
2 #include <libc.h> | |
3 | |
4 #define MASK 0x7fffffffL | |
5 | |
6 long | |
7 lnrand(long n) | |
8 { | |
9 long slop, v; | |
10 | |
11 if(n < 0) | |
12 return n; | |
13 slop = MASK % n; | |
14 do | |
15 v = lrand(); | |
16 while(v <= slop); | |
17 return v % n; | |
18 } |