【问题标题】:Diehard test only integers?顽固的测试只有整数?
【发布时间】:2009-06-04 17:36:43
【问题描述】:

我想测试 (0 1) 中的一些“随机”数字。我将使用顽固的测试电池对其进行测试,但我不知道它是否测试 (0 1) 中的数字。所以顽固地测试任何类型的数字,还是只测试整数?

【问题讨论】:

    标签: random testing numbers


    【解决方案1】:

    Diehard 测试中的Wikipedia entry 没有说明测试仅针对整数,并且某些测试(特别是挤压、运行和重叠和测试)明确地在 [0,1) 上完成。粗略一看,其他的似乎都不是整数。

    【讨论】:

    • 我在 diehard.doc 中看到,在 diehard.zip 中存储了这句话:DIEHARD 中的测试要求您提供一个大的随机整数二进制文件进行测试。这就是为什么我很困惑。
    • 即使是这样,难道你不能把 [0,1) 上的所有浮点数乘以某个大常数吗?从统计上看,数字的分布(标准偏差等)是相同的。
    【解决方案2】:

    瓦内萨: 有 1.6、1.7 和 1.8 版本,分别针对 Windows 和 VC++ 6.0 编译。这个版本生成了一个带有测试结果的基本图表,但也允许在二进制文件 32 位十六进制数字或像你这样的位 ascii 文件之间进行选择。

    这里是下载和使用 VS2008 打开的 URL,您必须更正一些基本错误。我在 VC++ 2008 编译它

    http://www.cs.sunysb.edu/~algorith/implement/rng/distrib/

    你好,埃德温

    【讨论】:

    • 这个版本是 NIST 测试套件,比 DIEHARD tets 更好
    【解决方案3】:

    我不会去,我和 Vannesa 有同样的问题,我所做的只是下载最新的 NETBEANS IDE 安装下载的 C/C++ 插件 CYWIN http://netbeans.org/community/releases/60/cpp-setup-instructions.html 然后从下载源代码并编译和测试,它工作正常,所有即使在一个简单的十六进制数字上也可以进行测试,但重叠排列除外,这给了我一个错误。

    【讨论】:

      【解决方案4】:

      如果有人仍然对答案感兴趣。运行 ASC2BIN.EXE。它描述了你必须做什么。在 diehard 文件夹中还有一个 .doc 文件,它描述了您必须执行的每个步骤。不过,它不是很直观。

      原则上: 在 0 和 INT_MAX 之间创建 300 万个 32 位整数。创建一个包含这些十六进制形式整数的 ascii 文件,即每个数字 8(!) 个十六进制数字,每行 80 个字符。给它起一个少于 15 个字符的名称。运行 ASC2BIN.EXE,将它提供给您的文件并享受 ;-)。

      哦,如果有人在 0,1 上有浮点数,那么您需要将它们转换为我上面描述的整数(可以乘以 INT_MAX)。是的,顽固分子在某些地方使用浮点数,但它会根据您转换的文件自己创建这些。

      【讨论】:

      • 你还有文件夹的来源吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多