跳转至

随机数 std.random

class RNG {
  @public:
    RNG(i32 seed);
    RNG(i64 seed);

    fn as int;
    fn as float;
    fn as bool;
}

函数(使用梅森旋转算法)

srand(i32 seed);
srand(i64 seed);
rand();
randf(); // 浮点随机数 [0,1] 均匀分布
randn(); // 浮点随机数 正态分布
rand[8,16,32,64]();
randf[32,64]();
randn[32,64]();
randb();           // 布尔随机数
randbits(usize n); // n 位随机数
fn randf() -> float {
    return float rand / INT_MAX;
}

fn randn() -> float {
    return sqrt(-2 * log randf) * cos(2 * PI * randf);
}