package batteries

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module BatRandom.StateSource

Manipulate the current state of the random generator.

This allows using one or several deterministic PRNGs, even in a multi-threaded program, without interference from other parts of the program.

The type of PRNG states.

Sourceval make : int array -> t

Create a new state and initialize it with the given seed.

Sourceval make_self_init : unit -> t

Create a new state and initialize it with a system-dependent low-entropy seed.

Sourceval copy : t -> t

Return a copy of the given state.

Sourceval bits : t -> int
Sourceval int : t -> int -> int
Sourceval full_int : t -> int -> int
Sourceval int_in_range : t -> min:int -> max:int -> int
Sourceval int32 : t -> Int32.t -> Int32.t
Sourceval int32_in_range : t -> min:int32 -> max:int32 -> int32
Sourceval nativeint : t -> Nativeint.t -> Nativeint.t
Sourceval nativeint_in_range : t -> min:nativeint -> max:nativeint -> nativeint
Sourceval int64 : t -> Int64.t -> Int64.t
Sourceval int64_in_range : t -> min:int64 -> max:int64 -> int64
Sourceval float : t -> float -> float
Sourceval bool : t -> bool
Sourceval char : t -> char
Sourceval enum_bits : t -> unit -> int BatEnum.t
Sourceval enum_int : t -> int -> int BatEnum.t
Sourceval enum_bool : t -> unit -> bool BatEnum.t
Sourceval enum_float : t -> float -> float BatEnum.t
Sourceval enum_int32 : t -> Int32.t -> Int32.t BatEnum.t
Sourceval enum_int64 : t -> Int64.t -> Int64.t BatEnum.t
Sourceval enum_nativeint : t -> Nativeint.t -> Nativeint.t BatEnum.t
Sourceval enum_char : t -> unit -> char BatEnum.t

These functions are the same as the basic functions, except that they use (and update) the given PRNG state instead of the default one.

Sourceval bits32 : t -> Int32.t
Sourceval bits64 : t -> Int64.t
Sourceval nativebits : t -> Nativeint.t
Sourceval split : t -> t

Draw a fresh PRNG state from the given PRNG state. (The given PRNG state is modified.) The new PRNG is statistically independent from the given PRNG. Data can be drawn from both PRNGs, in any order, without risk of correlation. Both PRNGs can be split later, arbitrarily many times.

  • since 3.6.0 and OCaml 5.0.0
Sourceval to_binary_string : t -> string
Sourceval of_binary_string : string -> t
OCaml

Innovation. Community. Security.