lnrand.c - 9base - revived minimalist port of Plan 9 userland to Unix
 (HTM) git clone git://git.suckless.org/9base
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) 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 }