在 C 或 C++ 中使用分布生成数字

Generate numbers using distribution in C or C++

我正在使用 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) 编译器。 Uniform real distribution function 在其中不起作用。根据

,有什么方法可以在我目前的编译器中生成 0 到 1 [0,1] 之间的数字
  1. 均匀随机分布
  2. 高斯分布
  3. 指数分布。

我无法升级编译器我的项目对当前的 4.4.7 版本有很多依赖。 C 或 C++ 都适合我。

如果您没有这些库,我会拿一份 "Numerical Recipes in C" 并自己编写。由于它们受版权保护,因此我无法在此处复制它们。但是第 7 章有您要找的内容。

我的副本已过时;但是,仍然非常适合这些东西。 7.1 均匀偏差、7.2 正态偏差和 7.3 泊松、伽马和二项式偏差。

--乔恩