物理シミュレーション ソフトウェアを作成する必要があり、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())