Sign in
fuchsia
/
fuchsia
/
798ab27cf1edfe98b7b5291d505dec81db2e6e52
/
.
/
zircon
/
third_party
/
ulib
/
musl
/
src
/
prng
/
rand_r.c
blob: 897cd5120fa519f07f8aa27d0a4a3c21d5912ee6 [
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
;
}