Prefix static macros
This commit is contained in:
@@ -12,13 +12,13 @@ struct split_mix_64_state {
|
||||
u64 seed;
|
||||
};
|
||||
|
||||
internal u64 rol64(u64 x, u64 bits);
|
||||
internal u64 split_mix_64(SplitMix64State *state);
|
||||
internal void seed_os_generator(void);
|
||||
internal u64 generate_random_number(void);
|
||||
wapp_intern u64 rol64(u64 x, u64 bits);
|
||||
wapp_intern u64 split_mix_64(SplitMix64State *state);
|
||||
wapp_intern void seed_os_generator(void);
|
||||
wapp_intern u64 generate_random_number(void);
|
||||
|
||||
XOR256State wapp_prng_xorshift_init_state(void) {
|
||||
persistent b32 seeded = false;
|
||||
wapp_persist b32 seeded = false;
|
||||
if (!seeded) {
|
||||
seeded = true;
|
||||
seed_os_generator();
|
||||
@@ -75,11 +75,11 @@ u64 wapp_prng_xorshift_256p(XOR256State *state) {
|
||||
return result;
|
||||
}
|
||||
|
||||
internal u64 rol64(u64 x, u64 bits) {
|
||||
wapp_intern u64 rol64(u64 x, u64 bits) {
|
||||
return (x << bits) | (x >> (64 - bits));
|
||||
}
|
||||
|
||||
internal u64 split_mix_64(SplitMix64State *state) {
|
||||
wapp_intern u64 split_mix_64(SplitMix64State *state) {
|
||||
state->seed += 0x9E3779B97f4A7C15;
|
||||
|
||||
u64 result = state->seed;
|
||||
@@ -91,7 +91,7 @@ internal u64 split_mix_64(SplitMix64State *state) {
|
||||
|
||||
#if defined(WAPP_PLATFORM_C) && WAPP_PLATFORM_C_VERSION >= WAPP_PLATFORM_C11_VERSION
|
||||
#ifdef WAPP_PLATFORM_POSIX
|
||||
internal void seed_os_generator(void) {
|
||||
wapp_intern void seed_os_generator(void) {
|
||||
struct timespec ts = {0};
|
||||
int result = clock_gettime(CLOCK_MONOTONIC_RAW, &ts);
|
||||
wapp_runtime_assert(result == 0, "Invalid seed value");
|
||||
@@ -99,11 +99,11 @@ internal void seed_os_generator(void) {
|
||||
srand48(ts.tv_nsec);
|
||||
}
|
||||
|
||||
internal u64 generate_random_number(void) {
|
||||
wapp_intern u64 generate_random_number(void) {
|
||||
return lrand48();
|
||||
}
|
||||
#else
|
||||
internal void seed_os_generator(void) {
|
||||
wapp_intern void seed_os_generator(void) {
|
||||
struct timespec ts = {0};
|
||||
int result = timespec_get(&ts, TIME_UTC);
|
||||
wapp_runtime_assert(result != 0, "Invalid seed value");
|
||||
@@ -111,7 +111,7 @@ internal void seed_os_generator(void) {
|
||||
srand(ts.tv_nsec);
|
||||
}
|
||||
|
||||
internal u64 generate_random_number(void) {
|
||||
wapp_intern u64 generate_random_number(void) {
|
||||
i32 n1 = rand();
|
||||
i32 n2 = rand();
|
||||
|
||||
@@ -119,14 +119,14 @@ internal u64 generate_random_number(void) {
|
||||
}
|
||||
#endif // !WAPP_PLATFORM_POSIX
|
||||
#else
|
||||
internal void seed_os_generator(void) {
|
||||
wapp_intern void seed_os_generator(void) {
|
||||
time_t result = time(NULL);
|
||||
wapp_runtime_assert(result != (time_t)(-1), "Invalid seed value");
|
||||
|
||||
srand(result);
|
||||
}
|
||||
|
||||
internal u64 generate_random_number(void) {
|
||||
wapp_intern u64 generate_random_number(void) {
|
||||
i32 n1 = rand();
|
||||
i32 n2 = rand();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user