Legend:
Library
Module
Module type
Parameter
Class
Class type
SeedSequence mixes sources of entropy in a reproducible way to set the initial state for independent and very probably non-overlapping BitGenerators.
Once the SeedSequence is initialized, one can call the SeedSequence.generate_64bit_state or SeedSequence.generate_32bit_state functions to get an appropriately sized seed that can be used to initialize any of the supported PRNG's. Calling SeedSequence.spawn will create n SeedSequence's that can be used to seed independent BitGenerators.
Best practice for achieving reproducible bit streams is to use the empty list as an initializing value, and then use SeedSequence.entropy to log the entropy for reproducibility:
open Bitgen
let ss = SeedSequence.initialize []
SeedSequence.entropy ss |> List.map Uint128.to_string
(*: string list = ["152280350332430215596244075920305924447"] *)
initialize seed Creates a new seed sequence type given a list of unsigned 128-bit integers seed. ~spawn_key is an additional source of entropy based on the position of type in the tree of such types created with SeedSequence.spawn. Typically users need not set this parameter. ~pool_size is the size of the pooled entropy to store. It defaults to the value 4 to give a 128-bit entropy pool.
entropy t gives a list representing the entropy used to create t. It can be used as an argument of SeedSequence.initialize to reproduce the the bit stream of t.