【问题标题】:How to use MT (or similar) RNG algorithm in CPP implementation?如何在 CPP 实现中使用 MT(或类似)RNG 算法?
【发布时间】:2014-06-25 12:59:35
【问题描述】:

我想在 CPP 中实现 MT alg(遗憾的是我不能使用 C++11) 我发现了很多算法,如 SFMT、dSFMT、一些版本的 Tiny MT 等;但是当我看到这些 algs 的文档时,我认为它们适用于

需要任何想法如何替换基本的 RNG 算法

SRAND(TIME(NULL))

有了更好的东西

【问题讨论】:

    标签: c++ algorithm random mersenne-twister


    【解决方案1】:

    Boost.Random 提供了很多线程安全的随机生成器,它们可以与 C++98 一起使用。

    【讨论】:

    • 是否“线程安全”== 没有全局状态,或者是否有任何我不知道的并行 rng。
    【解决方案2】:

    如果你不想要 Boost 依赖,有多个独立的 MT 实现

    Mersenne Twister 1

    Mersenne Twister 2

    Mersenne Twister 3..n

    【讨论】:

      猜你喜欢
      • 2010-09-09
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-22
      相关资源
      最近更新 更多