Spec-Zone.ru › Pony

Случайный

[Источник]

Трейт Random должен быть реализован всеми генераторами случайных чисел. Единственный метод, который вам нужно реализовать, это fun ref next(): 64. После реализации этого метода, трейт Random предоставляет реализации по умолчанию для преобразований в другие числовые типы.

trait ref Random

Конструкторы

create

[Источник]

Создать со заданным зерном. Возвращаемые значения детерминированы для данного зерна.

new ref create(
  x: U64 val = 5489,
  y: U64 val = 0)
: Random ref^

Параметры

  • x: U64 значение = 5489
  • y: U64 значение = 0

Возвращаемое значение

  • Случайный ссылка^

Открытые функции

has_next

[Источник]

Если используется как итератор, у него всегда есть следующее значение.

fun tag has_next()
: Bool val

Возвращаемое значение

  • Bool значение

next

[Источник]

Случайное целое число в интервале [0, 2^64)

fun ref next()
: U64 val

Возвращаемое значение

  • U64 значение

u8

[Источник]

Случайное целое число в интервале [0, 2^8)

fun ref u8()
: U8 val

Возвращаемое значение

  • U8 значение

u16

[Источник]

Случайное целое число в интервале [0, 2^16)

fun ref u16()
: U16 val

Возвращаемое значение

  • U16 значение

u32

[Источник]

Случайное целое число в интервале [0, 2^32)

fun ref u32()
: U32 val

Возвращаемое значение

  • U32 значение

u64

[Источник]

Случайное целое число в интервале [0, 2^64)

fun ref u64()
: U64 val

Возвращаемое значение

  • U64 значение

u128

[Источник]

Случайное целое число в интервале [0, 2^128)

fun ref u128()
: U128 val

Возвращаемое значение

  • U128 значение

ulong

[Источник]

Случайное целое число в интервале [0, ULong.max_value())

fun ref ulong()
: ULong val

Возвращаемое значение

  • ULong значение

usize

[Источник]

Случайное целое число в интервале [0, USize.max_value())

fun ref usize()
: USize val

Возвращаемое значение

  • USize значение

i8

[Источник]

Случайное целое число в интервале [-2^7, 2^7)

fun ref i8()
: I8 val

Возвращаемое значение

  • I8 значение

i16

[Источник]

Случайное целое число в интервале [-2^15, 2^15)

fun ref i16()
: I16 val

Возвращаемое значение

  • I16 значение

i32

[Источник]

Случайное целое число в интервале [-2^31, 2^31)

fun ref i32()
: I32 val

Возвращаемое значение

  • I32 значение

i64

[Источник]

Случайное целое число в интервале [-2^63, 2^63)

fun ref i64()
: I64 val

Возвращаемое значение

  • I64 значение

i128

[Источник]

Случайное целое число в интервале [-2^127, 2^127)

fun ref i128()
: I128 val

Возвращаемое значение

  • I128 значение

ilong

[Источник]

Случайное целое число в интервале [ILong.min_value(), ILong.max_value())

fun ref ilong()
: ILong val

Возвращаемое значение

  • ILong значение

isize

[Источник]

Случайное целое число в интервале [ISize.min_value(), ISize.max_value())

fun ref isize()
: ISize val

Возвращаемое значение

  • ISize значение

int_fp_mult[опционально N: ((U8 значение | U16 значение | U32 значение | U64 значение | U128 значение | ULong значение | USize значение) & Real[N] значение)]

[Источник]

Случайное целое число в интервале [0, n)

fun ref int_fp_mult[optional N: ((U8 val | U16 val | U32 val | 
    U64 val | U128 val | ULong val | 
    USize val) & Real[N] val)](
  n: N)
: N

Параметры

  • n: N

Возвращаемое значение

  • N

int[опционально N: ((U8 значение | U16 значение | U32 значение | U64 значение | U128 значение | ULong значение | USize значение) & Real[N] значение)]

[Источник]

Случайное целое число в интервале [0, n)

Использует инверсию с фиксированной точкой, если платформа поддерживает родные 128-битные операции, иначе использует умножение с плавающей точкой.

fun ref int[optional N: ((U8 val | U16 val | U32 val | 
    U64 val | U128 val | ULong val | 
    USize val) & Real[N] val)](
  n: N)
: N

Параметры

  • n: N

Возвращаемое значение

  • N

int_unbiased[опционально N: ((U8 значение | U16 значение | U32 значение | U64 значение | U128 значение | ULong значение | USize значение) & Real[N] значение)]

[Источник]

Случайное целое число в интервале [0, n)

Не смещен при малых значениях n как int.

fun ref int_unbiased[optional N: ((U8 val | U16 val | U32 val | 
    U64 val | U128 val | ULong val | 
    USize val) & Real[N] val)](
  n: N)
: N

Параметры

  • n: N

Возвращаемое значение

  • N

real

[Источник]

Случайное число в интервале [0, 1)

fun ref real()
: F64 val

Возвращаемое значение

  • F64 значение

shuffle[A: A]

[Источник]

Перемешивает элементы массива в случайном порядке, изменяя массив.

fun ref shuffle[A: A](
  array: Array[A] ref)
: None val

Параметры

  • array: Массив[A] ссылка

Возвращаемое значение

  • None значение

© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/random-Random

Spec-Zone.ru

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