a
This commit is contained in:
18
libc/lnrand.c
Normal file
18
libc/lnrand.c
Normal file
@ -0,0 +1,18 @@
|
||||
#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;
|
||||
}
|
Reference in New Issue
Block a user