用于生成可播种的随机数的线性同余发生器。
遵循 include/tvm/support/random_engine.h 的实现,该实现遵循 https://cppreference.cn/w/cpp/numeric/random/linear_congruential_engine 中的规范。
include/tvm/support/random_engine.h
注意 Number.MAX_SAFE_INTEGER = 2^53 - 1,并且我们的中间值严格小于 2^48。
Number.MAX_SAFE_INTEGER = 2^53 - 1
设置模数、乘数和增量。根据 Date.now() 初始化 rand_state。
Date.now()
rand_state
Readonly
生成范围 (0, this.modulus) 内的下一个整数(不包含上限),并更新 rand_state。
后置条件:通过 `checkRandState()` 检查,即 rand_state > 0 且为整数。
生成 (0, 1) 范围内的随机浮点数(不包含上限),并更新 rand_state。
在通过 `modulus` 归一化后设置 rand_state,以确保其在范围内。
任何整数。用于在通过 `modulus` 归一化后设置 `rand_state`。
使用 TypeDoc 生成
用于生成可播种的随机数的线性同余发生器。
遵循
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。