【发布时间】:2010-10-18 04:57:35
【问题描述】:
我需要写一个物理模拟软件,我需要使用pseudo-random generator written by D.Knuth,因为它最适合我的需要。
虽然我知道如何在硬代码块中使用它(仅是 #include "rng-double.c"),但我不太明白如何将它包含在一个模块化程序中主库和一些库内部,然后我通过头文件链接回主库。
我需要的唯一函数是 ranf_start(seed) 来播种生成器和 ranf_arr_next() 来生成下一个数字。
我得到了一个很长的系列
multiple definitions of 'foo'
几乎适用于随机数生成器代码中定义的每个函数。
我不是专家,所以我发现自己几乎处于死胡同。有出路吗?我目前正在尝试为 rng 编写一个头文件,虽然我还没有成功。
非常感谢大家。 ~J
编辑: 从第一个答案的内容来看,我需要编写头文件。我为生成器中的大多数函数都这样做了,但我无法为实际生成数字的函数编写它。我应该如何为这样定义的函数编写标题?
#define ranf_arr_next() (*ranf_arr_ptr>=0? *ranf_arr_ptr++: ranf_arr_cycle())
【问题讨论】:
标签: c random modularity