33 typedef struct as_random_s {
59 static inline uint64_t
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;
74 static inline uint32_t
83 static inline uint64_t
93 static inline uint32_t
static uint32_t as_random_get_uint32()
static void as_random_get_str(char *str, uint32_t len)
AS_EXTERN void as_random_next_str(as_random *random, char *str, uint32_t len)
static uint32_t as_random_next_uint32(as_random *random)
static uint64_t as_random_next_uint64(as_random *random)
AS_EXTERN void as_random_init(as_random *random)
AS_EXTERN void as_random_next_bytes(as_random *random, uint8_t *bytes, uint32_t len)
AS_EXTERN as_random * as_random_instance(void)
static uint64_t as_random_get_uint64()
static void as_random_get_bytes(uint8_t *bytes, uint32_t len)