1
0
Fork 0
forked from len0rd/rockbox

Vastly improved, now working, random! :)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1379 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Björn Stenberg 2002-07-18 00:03:47 +00:00
parent 3a62b56740
commit 25e92bd967

View file

@ -142,12 +142,16 @@ int rand(void)
{ {
int y; int y;
if(--left < 0) if(--left < 0) {
return rand_reload(); y = rand_reload();
}
y = *next++; else {
y ^= (y >> 11); y = *next++;
y ^= (y << 7) & 0x9D2C5680U; y ^= (y >> 11);
y ^= (y << 15) & 0xEFC60000U; y ^= (y << 7) & 0x9D2C5680U;
return (y ^ (y >> 18)) & ((2^31)-1); /* 31-bit limit by Björn Stenberg*/ y ^= (y << 15) & 0xEFC60000U;
y ^= (y >> 18);
}
return y & 0x7fffffff; /* 31-bit limit by Björn Stenberg*/
} }