Sign in
cobalt
/
cobalt
/
5864f47b864e8bb7b417f15981009ad93bdff2ac
/
.
/
third_party
/
musl
/
src
/
prng
/
rand_r.c
blob: 638614c867911a133d4a3f054c7150e28d5a4425 [
file
] [
log
] [
blame
]
#include
<stdlib.h>
static
unsigned
temper
(
unsigned
x
)
{
x
^=
x
>>
11
;
x
^=
x
<<
7
&
0x9D2C5680
;
x
^=
x
<<
15
&
0xEFC60000
;
x
^=
x
>>
18
;
return
x
;
}
int
rand_r
(
unsigned
*
seed
)
{
return
temper
(*
seed
=
*
seed
*
1103515245
+
12345
)/
2
;
}