mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
479 B
31 lines
479 B
// SPDX-License-Identifier: GPL-2.0+ |
|
/* |
|
* Simple xorshift PRNG |
|
* see http://www.jstatsoft.org/v08/i14/paper |
|
* |
|
* Copyright (c) 2012 Michael Walle |
|
* Michael Walle <[email protected]> |
|
*/ |
|
|
|
#include <common.h> |
|
|
|
static unsigned int y = 1U; |
|
|
|
unsigned int rand_r(unsigned int *seedp) |
|
{ |
|
*seedp ^= (*seedp << 13); |
|
*seedp ^= (*seedp >> 17); |
|
*seedp ^= (*seedp << 5); |
|
|
|
return *seedp; |
|
} |
|
|
|
unsigned int rand(void) |
|
{ |
|
return rand_r(&y); |
|
} |
|
|
|
void srand(unsigned int seed) |
|
{ |
|
y = seed; |
|
}
|
|
|