类 LinearCongruentialGenerator

用于生成可播种的随机数的线性同余发生器。

遵循 include/tvm/support/random_engine.h 的实现,该实现遵循 https://cppreference.cn/w/cpp/numeric/random/linear_congruential_engine 中的规范。

注意 Number.MAX_SAFE_INTEGER = 2^53 - 1,并且我们的中间值严格小于 2^48。

层次结构

  • 线性同余发生器

构造函数

属性

增量: number
模数: number
乘数: number

方法

  • 生成范围 (0, this.modulus) 内的下一个整数(不包含上限),并更新 rand_state

    后置条件:通过 `checkRandState()` 检查,即 rand_state > 0 且为整数。

    返回 number

  • 生成 (0, 1) 范围内的随机浮点数(不包含上限),并更新 rand_state

    后置条件:通过 `checkRandState()` 检查,即 rand_state > 0 且为整数。

    返回 number

  • 在通过 `modulus` 归一化后设置 rand_state,以确保其在范围内。

    参数

    • seed: number

      任何整数。用于在通过 `modulus` 归一化后设置 `rand_state`。

      后置条件:通过 `checkRandState()` 检查,即 rand_state > 0 且为整数。

    返回 void

使用 TypeDoc 生成