<random>

std::minstd_rand

typedef linear_congruential_engine<uint_fast32_t, 48271, 0, 2147483647> minstd_rand;
最小標準minstd_rand生成器
一個簡單的乘法同餘偽隨機數生成器(一種線性同餘引擎)。

該生成器有一個狀態值,在每次前進時會透過其轉移演算法進行修改,如下所示:x在以下程式碼片段中被修改
1
x = x * 48271 %

它是線性同餘引擎的一個例項化,具有以下模板引數:
引數名稱說明
a乘數48271素數乘數
c增量0
m模數2147483647 231-1

它通常被認為能生成比具有相同開銷的minstd_rand0稍更隨機的序列。

成員型別

以下別名是...的成員型別minstd_rand:

成員型別定義說明
result_typeuint_fast32_t生成的數字的型別。

成員函式

作為線性同餘引擎型別,它具有以下成員函式:

非成員函式

作為線性同餘引擎型別,以下運算子過載可以應用於它:

成員常量

成員常量定義說明
乘數48271每次推進時在轉換演算法中使用的乘數a)。
增量0增量c)。
模數2147483647轉換演算法中使用的模數m)。
default_seed1構造或播種時使用的預設種子

另見