介绍了一种基于改进型 Ziggurat 算法的快速伪随机数生成器 (PRNG) 实现,用于生成指数分布和正态分布的随机数。

实现语言: C/C++, Fortran, Python, Matlab

源代码: exponential.h 和 normal.h

使用方法:

* C/C++: 将源代码文件所在目录添加到编译器的路径中,并参考 Benchmarks/profile.c 文件中的示例进行使用。

* Fortran: 采用GNU Fortran编译。

* Python: 使用 pip install fast_prng 命令安装。模块函数的使用方法与 NumPy 中同名函数类似。

* Matlab: 使用 matlab/install_matlab_functions.sh 命令安装。安装后函数 fast_exprnd、fast_randn 和 fast_rand 的行为与 Matlab 中同名函数一致。

注意: Matlab 安装脚本默认将函数安装到默认的 MATLAB 用户路径下,除非重新定义了 $USERPATH 环境变量。