X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fprng%2Frand.c;h=c000cd248cef667bab257940768616c9349f7d70;hb=0636d5977aa796d78869ee310c6e69220b919eee;hp=e3ce6347331608ce663a2ac6006c6bc08e2cd800;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01;p=musl diff --git a/src/prng/rand.c b/src/prng/rand.c index e3ce6347..c000cd24 100644 --- a/src/prng/rand.c +++ b/src/prng/rand.c @@ -1,6 +1,7 @@ #include +#include -static unsigned seed; +static uint64_t seed; void srand(unsigned s) { @@ -9,5 +10,6 @@ void srand(unsigned s) int rand(void) { - return (seed = (seed+1) * 1103515245 + 12345 - 1)+1 & 0x7fffffff; + seed = 6364136223846793005ULL*seed + 1; + return seed>>33; }