Модуль Random.State
module State: sig .. end
type t
Тип состояний генератора псевдослучайных чисел.
val make : int array -> t
Создаёт новое состояние и инициализирует его заданным значением.
val make_self_init : unit -> t
Создаёт новое состояние и инициализирует его случайным значением, выбранным зависимым от системы способом. Значаение получено, как описано в Random.self_init.
val copy : t -> t
Возвращает копию заданного состояния.
val bits : t -> int
val int : t -> int -> int
val full_int : t -> int -> int
val int_in_range : t -> min:int -> max:int -> int
val int32 : t -> Int32.t -> Int32.t
val int32_in_range : t -> min:int32 -> max:int32 -> int32
val nativeint : t -> Nativeint.t -> Nativeint.t
val nativeint_in_range : t -> min:nativeint -> max:nativeint -> nativeint
val int64 : t -> Int64.t -> Int64.t
val int64_in_range : t -> min:int64 -> max:int64 -> int64
val float : t -> float -> float
val bool : t -> bool
val bits32 : t -> Int32.t
val bits64 : t -> Int64.t
val nativebits : t -> Nativeint.t
Эти функции аналогичны базовым функциям, за исключением того, что они используют (и обновляют) заданное состояние генератора псевдослучайных чисел вместо стандартного.
val split : t -> t
Создаёт новое состояние генератора псевдослучайных чисел из заданного состояния. (Заданное состояние генератора изменяется.) Новый генератор статистически независим от заданного. Данные можно извлекать из обоих генераторов в любом порядке, без риска корреляции. Оба генератора можно разделить позже произвольное количество раз.
- Since 5.0
val to_binary_string : t -> string
Сериализует состояние генератора псевдослучайных чисел в неизменяемую последовательность байтов. См. Random.State.of_binary_string для десериализации.
Тип string предназначен только для сериализации; кодирование нечитаемо человеком и может быть непериодическим.
Обратите внимание, что формат сериализации может отличаться в разных версиях OCaml.
- Since 5.1
val of_binary_string : string -> t
Десериализует последовательность байтов, полученную с помощью вызова Random.State.to_binary_string. Результирующее состояние генератора псевдослучайных чисел будет генерировать те же случайные числа, что и состояние, переданное в качестве входных данных Random.State.to_binary_string.
- Since 5.1
-
Raises
Failureесли входные данные не соответствуют ожидаемому формату. Обратите внимание, что формат сериализации может отличаться в разных версиях OCaml. В отличие от функций, предоставляемых модулемMarshal, эта функция либо создает допустимое состояние, либо приводит к чистому сбою с исключениемFailure. Она может безопасно использоваться с входными данными, предоставленными пользователем, и ненадёжными источниками.
© 1995-2024 INRIA.
https://ocaml.org/manual/5.2/api/Random.State.html