Blame view
lib/rand.c
482 Bytes
d41ce506b Initial Release, ... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/* * Simple xorshift PRNG * see http://www.jstatsoft.org/v08/i14/paper * * Copyright (c) 2012 Michael Walle * Michael Walle <michael@walle.cc> * * SPDX-License-Identifier: GPL-2.0+ */ #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; } |