Skip to content

Xoshiro256**

Xoshiro256** random number generator

Functions

Name Description
xoshiro256ss_ctor Construct a new xoshiro256** random number generator with a random seed generated from the default random device.
xoshiro256ss_ctor_full Construct a new xoshiro256** random number generator with a full 256-bit seed.
xoshiro256ss_ctor_rd Construct a new xoshiro256** random number generator with a random seed generated from the given random device.
xoshiro256ss_ctor_seed Construct a new xoshiro256** random number generator with a 64-bit seed.
xoshiro256ss_dtor Release the resources used by the xoshiro256** random number generator.
xoshiro256ss_next Generate the next random number from the xoshiro256** random number generator.

Function Details

xoshiro256ss_ctor

random_engine_t *xoshiro256ss_ctor(void)

Construct a new xoshiro256** random number generator with a random seed generated from the default random device.

Return
random_engine_t* The constructed random number generator.

xoshiro256ss_ctor_full

random_engine_t *xoshiro256ss_ctor_full(const uint64_t seed[4])

Construct a new xoshiro256** random number generator with a full 256-bit seed.

seed
The 256-bit seed.
Return
random_engine_t* The constructed random number generator.

xoshiro256ss_ctor_rd

random_engine_t *xoshiro256ss_ctor_rd(random_device_t *rd)

Construct a new xoshiro256** random number generator with a random seed generated from the given random device.

rd
The random device.
Return
random_engine_t* The constructed random number generator.

xoshiro256ss_ctor_seed

random_engine_t *xoshiro256ss_ctor_seed(const uint64_t seed)

Construct a new xoshiro256** random number generator with a 64-bit seed.

Note

The seed is expanded to a full 256-bit seed using the splitmix64 algorithm.

seed
The 64-bit seed.
Return
random_engine_t* The constructed random number generator.

xoshiro256ss_dtor

void xoshiro256ss_dtor(random_engine_t *engine)

Release the resources used by the xoshiro256** random number generator.

engine
The random number generator.

xoshiro256ss_next

uint64_t xoshiro256ss_next(random_engine_t *engine)

Generate the next random number from the xoshiro256** random number generator.

engine
The random number generator.
Return
uint64_t The next random number.