diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/prng/random.c | 14 | 
1 files changed, 2 insertions, 12 deletions
diff --git a/src/prng/random.c b/src/prng/random.c index 4ad62058..e250e28e 100644 --- a/src/prng/random.c +++ b/src/prng/random.c @@ -1,10 +1,3 @@ -/* - * random.c - Copyright © 2011 Szabolcs Nagy - * Permission to use, copy, modify, and/or distribute this code - * for any purpose with or without fee is hereby granted. - * There is no warranty. -*/ -  #include <stdlib.h>  #include <stdint.h>  #include "libc.h" @@ -12,11 +5,7 @@  /*  this code uses the same lagged fibonacci generator as the  original bsd random implementation except for the seeding - -different seeds produce different sequences with long period -(other libcs seed the state with a park-miller generator -when seed=0 some fail to produce good random sequence -others produce the same sequence as another seed) +which was broken in the original  */  static uint32_t init[] = { @@ -98,6 +87,7 @@ char *initstate(unsigned seed, char *state, size_t size) {  		n = 63;  	x = (uint32_t*)state + 1;  	__srandom(seed); +	savestate();  	UNLOCK(lock);  	return old;  }  | 
