1 个不稳定版本
0.2.0 | 2019年8月27日 |
---|
在科学类别中排名第673
9.5MB
87 行
随机数生成器
这是一个项目,展示了多种随机数生成器,允许简单比较每个生成器。此仓库包含两部分,一个命令行实用程序,允许使用多种不同的算法生成伪随机数。另一个组件是关于我们在计算机上如何生成随机数的演讲。
命令行工具的安装
该命令行工具是用Rust编写的,可以通过访问https://rustup.rs/中的说明进行安装。
一旦安装了rustup
工具,以下命令
cargo install random_number_generators
将在~/.cargo/bin
目录下下载并安装二进制文件
或者,您可以使用以下命令将仓库克隆到本地计算机,而不是使用cargo安装:
git clone https://github.com/malramsay64/random_number_generators
进入random_number_generators
目录后
cd random_number_generators
以下命令
cargo run -- --help
将为您的机器构建二进制文件,并使用--help
标志运行它,显示所有选项。
命令行工具
该命令行工具生成随机数序列,并打印到控制台(stdout
)。您可以选择多种不同的伪随机数生成器(PRNG)
- ANSIC
- RANDU
- CPP
- Twister
- PCG
- Xorshift
您可以使用第一个参数选择不同的PRNG。
例如,我将使用RANDU生成器生成10,000个三维空间中的点,以展示其有多么糟糕。
random_number_generators randu --dimensions 3 --num_samples 10000 --seed 0
可以使用重定向将其保存到文本文件,以便稍后分析。
random_number_generators randu --dimensions 3 --num_samples 10000 --seed 0 > randu.txt
演示文稿
一个涵盖PRNG是什么、它们的一些历史以及我们目前使用的演示文稿。
演示文稿的幻灯片存放在 slides.md
文件中,该文件使用 pandoc 转换为 LaTeX,最后使用 tectonic 转换为 PDF。
工具安装
在此过程中使用了许多工具,为了便于管理,它们使用 conda 包管理器进行管理。它作为最小镜像文件提供,可在 miniconda 中找到,安装说明请见 此处。
conda 安装完成后,在 random_number_generators
目录下运行以下命令
conda env create
将安装所有必要的软件包到一个虚拟环境中,可以使用以下命令访问
conda activate rng
激活环境后,运行以下命令
make
将创建一个包含演示文稿的文件 main.pdf
。