Bitgen.EFIIX64x48EFIIX64x48 is a 64-bit PRNG that uses a set of tables to generate random values. This produces a fast PRNG with statistical quality similar to cryptographic generators but faster.
The EFIIX64x48 state vector consists of a 16-element array of 64-bit unsigned integers and a 32-element array of 64-bit unsigned integers. In addition, 3 constant values and a counter are used in the update.
The initial state of the bitgenerator is provided using SeedSequence.t.
next_uint64 t Generates a random unsigned 64-bit integer and a state of the generator advanced forward by one step.
next_uint32 t Generates a random unsigned 32-bit integer and a state of the generator advanced forward by one step.
next_bounded_uint64 b t Generates a random unsigned 64-bit integer in the interval [0, b). It returns the integer as well as the state of the generator advanced forward. To generate an integer in the range [a, b), one should generate an integer in [0, b - a) using next_bounded_uint64 (b - a) t and then add a to the resulting integer to get the output in the desired range.
next_double t Generates a random 64 bit float and a state of the generator advanced forward by one step.
val initialize : Bitgen__.Seed.SeedSequence.t -> tinitialize s Returns the initial state of the generator. The random stream is determined by the initialization of the seed sequence s of SeedSequence.t type.