33typedef struct as_random_s {
33typedef struct as_random_s {
…};
63 uint64_t s1 = random->
seed0;
64 const uint64_t s0 = random->
seed1;
67 random->
seed1 = (s1 ^ s0 ^ (s1 >> 18) ^ (s0 >> 5));
68 return random->
seed1 + s0;
AS_EXTERN as_random * as_random_instance(void)
AS_EXTERN void as_random_init(as_random *random)
static uint32_t as_random_get_uint32(void)
static uint32_t as_random_next_uint32(as_random *random)
static uint64_t as_random_next_uint64(as_random *random)
static void as_random_get_str(char *str, uint32_t len)
AS_EXTERN void as_random_next_bytes(as_random *random, uint8_t *bytes, uint32_t len)
static void as_random_get_bytes(uint8_t *bytes, uint32_t len)
AS_EXTERN void as_random_next_str(as_random *random, char *str, uint32_t len)
static uint64_t as_random_get_uint64(void)