subtract_with_carry_engine::seed

为引擎。

void seed(UIntType x0 = default_seed);
void seed(seed_seq& seq);

参数

  • x0
    种子值。

  • seq
    提供了个已随机打乱的种子类型 seed_seq 的对象。

备注

前置条件: 0 < x0

第一个种子功能有效构造引擎 gen:

    linear_congruential_engine<UIntType, 40014, 0, 2147483563>
    gen(x0 == 0 ? default_seed: x0);

它从 h[0] 启动然后设置 R 历史值对生成的值 gen()。

第二个种子功能设置这些历史值如下所示:

  • k 是 unsigned long 整数数必要的提供在 UIntType 整数(至少1)的所有位。

  • a 是数组类型 UIntType的 R * k 元素。

  • a 通过调用 seq.generate(&a[0], ;AMP_amp;a[R * k])初始化。

  • 每 h[i] 是通过打包开始在 a[i * k]的 k 元素组成的,提供最低位。

  • 每 h[i] 会下降的模数 M。

在任何情况下,存储的具有是 h[R - 1] == 0。

要求

标头: <random>

命名空间: std

请参见

参考

<random>

subtract_with_carry_engine Class