package batteries

  1. Overview
  2. Docs
A community-maintained standard library extension

Install

Dune Dependency

Authors

Maintainers

Sources

v3.7.2.tar.gz
md5=1fd7bddce07cf5d244fc9427f7b5e4d4
sha512=c0f2a0fdc8253e0ea999d8d4c58bfbf32b18d251a2e1d9656bf279de5f01a33e9aabac3af4d95f465f8b671e7711ebd37218043face233340a0c11b08fa62f78

doc/batteries.unthreaded/BatRandom/State/index.html

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 int32 : t -> Int32.t -> Int32.t
Sourceval nativeint : t -> Nativeint.t -> Nativeint.t
Sourceval int64 : t -> Int64.t -> Int64.t
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.