Spec-Zone.ru › OCaml 4.14

Модуль Random

module Random: sig .. end

Псевдослучайные генераторы чисел (ПГЧ).

Основные функции

val init : int -> unit

Инициализировать генератор, используя аргумент в качестве начального значения. Одно и то же начальное значение всегда будет давать ту же последовательность чисел.

val full_init : int array -> unit

То же, что и Random.init, но принимает больше данных в качестве начального значения.

val self_init : unit -> unit

Инициализировать генератор случайным начальным значением, выбранным в зависимости от системы. Если /dev/urandom доступен на хостовой машине, он используется для предоставления высокослучайного начального значения. В противном случае, менее случайное начальное значение вычисляется из системных параметров (текущее время, идентификаторы процессов).

val bits : unit -> int

Возвращает 30 случайных битов в виде неотрицательного целого числа.

  • До версии 3.12.0 использовался другой алгоритм (влияет на все последующие функции)
val int : int -> int

Random.int bound возвращает случайное целое число от 0 (включительно) до bound (исключительно). bound должно быть больше 0 и меньше 230.

val full_int : int -> int

Random.full_int bound возвращает случайное целое число от 0 (включительно) до bound (исключительно). bound может быть любым положительным целым числом.

Если bound меньше 230, Random.full_int bound равно Random.int bound. Если bound больше 230 (на 64-битных системах или в нестандартных средах, таких как JavaScript), Random.full_int возвращает значение, где Random.int вызывает Invalid_argument.

  • С версии 4.13.0
val int32 : Int32.t -> Int32.t

Random.int32 bound возвращает случайное целое число от 0 (включительно) до bound (исключительно). bound должно быть больше 0.

val nativeint : Nativeint.t -> Nativeint.t

Random.nativeint bound возвращает случайное целое число от 0 (включительно) до bound (исключительно). bound должно быть больше 0.

val int64 : Int64.t -> Int64.t

Random.int64 bound возвращает случайное целое число от 0 (включительно) до bound (исключительно). bound должно быть больше 0.

val float : float -> float

Random.float bound возвращает случайное число с плавающей точкой между 0 и bound (включительно). Если bound отрицательно, результат отрицательный или нулевой. Если bound равно 0, результат 0.

val bool : unit -> bool

Random.bool () возвращает true или false с вероятностью 0,5 каждая.

val bits32 : unit -> Int32.t

Random.bits32 () возвращает 32 случайных бита как целое число между Int32.min_int и Int32.max_int.

  • С версии 4.14.0
val bits64 : unit -> Int64.t

Random.bits64 () возвращает 64 случайных бита как целое число между Int64.min_int и Int64.max_int.

  • С версии 4.14.0
val nativebits : unit -> Nativeint.t

Random.nativebits () возвращает 32 или 64 случайных бита (в зависимости от разрядности платформы) как целое число между Nativeint.min_int и Nativeint.max_int.

  • С версии 4.14.0

Расширенные функции

Функции из модуля Random.State явно манипулируют текущим состоянием генератора случайных чисел. Это позволяет использовать один или несколько детерминированных ПГЧ, даже в многопоточной программе, без помех со стороны других частей программы.

module State: sig .. end
val get_state : unit -> State.t

Возвращает текущее состояние генератора, используемого основными функциями.

val set_state : State.t -> unit

Устанавливает состояние генератора, используемого основными функциями.

© 1995-2022 INRIA.
https://v2.ocaml.org/releases/4.14/htmlman/libref/Random.html

Spec-Zone.ru

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