Random API Reference

Pseudo-random number generation (LCG and xorshift)

Import

U std/random

Functions

FunctionSignatureDescription
random_seedF random_seed(seed: i64) -> i64Set RNG seed
random_initF random_init() -> i64Seed from current time
random_i64F random_i64() -> i64Random i64 in [0, 2^31)
random_rangeF random_range(min: i64, max: i64) -> i64Random in [min, max]
random_belowF random_below(n: i64) -> i64Random in [0, n)
random_f64F random_f64() -> f64Random f64 in [0.0, 1.0)
random_f64_rangeF random_f64_range(min: f64, max: f64) -> f64Random f64 in [min, max)
random_boolF random_bool() -> i64Random 0 or 1
random_shuffleF random_shuffle(arr: i64, len: i64) -> i64Fisher-Yates shuffle
random_bytesF random_bytes(buffer: i64, count: i64) -> i64Fill buffer with random bytes
random_alnumF random_alnum() -> i64Random alphanumeric char
random_hexF random_hex() -> i64Random hex char
random_cF random_c() -> i64Random using C rand()
random_xorshiftF random_xorshift() -> i64Fast xorshift random
random_xorshift_seedF random_xorshift_seed(seed: i64) -> i64Seed xorshift RNG
random_f64_simpleF random_f64_simple() -> f64Simple random f64 in [0.0, 1.0)

Usage

U std/random

F main() -> i64 {
    random_init()
    dice := random_range(1, 6)
    coin := random_bool()
    0
}