xref: /aosp_15_r20/external/musl/src/prng/rand.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include <stdlib.h>
2*c9945492SAndroid Build Coastguard Worker #include <stdint.h>
3*c9945492SAndroid Build Coastguard Worker 
4*c9945492SAndroid Build Coastguard Worker static uint64_t seed;
5*c9945492SAndroid Build Coastguard Worker 
srand(unsigned s)6*c9945492SAndroid Build Coastguard Worker void srand(unsigned s)
7*c9945492SAndroid Build Coastguard Worker {
8*c9945492SAndroid Build Coastguard Worker 	seed = s-1;
9*c9945492SAndroid Build Coastguard Worker }
10*c9945492SAndroid Build Coastguard Worker 
rand(void)11*c9945492SAndroid Build Coastguard Worker int rand(void)
12*c9945492SAndroid Build Coastguard Worker {
13*c9945492SAndroid Build Coastguard Worker 	seed = 6364136223846793005ULL*seed + 1;
14*c9945492SAndroid Build Coastguard Worker 	return seed>>33;
15*c9945492SAndroid Build Coastguard Worker }
16