From b767b2ce23ba8294d7e628b7fbcd0ad844be5dc8 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Thu, 20 Jun 2019 14:15:20 +0200 Subject: [PATCH] cwfs: remove orphaned lrand.c --- sys/src/cmd/cwfs/lrand.c | 83 ---------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 sys/src/cmd/cwfs/lrand.c diff --git a/sys/src/cmd/cwfs/lrand.c b/sys/src/cmd/cwfs/lrand.c deleted file mode 100644 index 7ec66563e..000000000 --- a/sys/src/cmd/cwfs/lrand.c +++ /dev/null @@ -1,83 +0,0 @@ -#include "all.h" - -/* - * algorithm by - * D. P. Mitchell & J. A. Reeds - */ -enum { - LEN = 607, - TAP = 273, - MASK = 0x7fffffffL, - A = 48271, - M = 2147483647, - Q = 44488, - R = 3399, -}; - -#define NORM (1.0/(1.0+MASK)) - -static ulong rng_vec[LEN]; -static ulong* rng_tap = rng_vec; -static ulong* rng_feed = 0; -static Lock lk; - -static void -isrand(long seed) -{ - long lo, hi, x; - int i; - - rng_tap = rng_vec; - rng_feed = rng_vec+LEN-TAP; - seed %= M; - if(seed < 0) - seed += M; - if(seed == 0) - seed = 89482311; - x = seed; - /* - * Initialize by x[n+1] = 48271 * x[n] mod (2**31 - 1) - */ - for(i = -20; i < LEN; i++) { - hi = x / Q; - lo = x % Q; - x = A*lo - R*hi; - if(x < 0) - x += M; - if(i >= 0) - rng_vec[i] = x; - } -} - -void -srand(long seed) -{ - lock(&lk); - isrand(seed); - unlock(&lk); -} - -long -lrand(void) -{ - ulong x; - - lock(&lk); - - rng_tap--; - if(rng_tap < rng_vec) { - if(rng_feed == 0) { - isrand(1); - rng_tap--; - } - rng_tap += LEN; - } - rng_feed--; - if(rng_feed < rng_vec) - rng_feed += LEN; - x = (*rng_feed + *rng_tap) & MASK; - *rng_feed = x; - - unlock(&lk); - return x; -}