This repository has been archived on 2025-02-04. You can view files and clone it, but cannot push or open issues or pull requests.
helpless/oogabooga/random.c
2024-07-08 15:32:03 +07:00

21 lines
No EOL
518 B
C

// This is a naive implementation for now (LCG)
// Distribution will probably suck.
#define RAND_MAX_64 0xFFFFFFFFFFFFFFFFull
#define MULTIPLIER 6364136223846793005ull
#define INCREMENT 1ull
u64 seed_for_random = 1;
u64 get_random() {
seed_for_random = seed_for_random * MULTIPLIER + INCREMENT;
return seed_for_random;
}
f32 get_random_float32() {
return (float32)get_random()/(float32)UINT64_MAX;
}
f32 get_random_float32_in_range(f32 min, f32 max) {
return min + (max-min) * get_random_float32();
}