Spec-Zone.ru › OCaml

Модуль 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API