今まで乱数の質にはあまりこだわらないような実装が多かったので、drand48()は今回初めてみた。グラフジェネレータでは乱数質が問題の難易度に大きく関わってくるので、非常に重要である。
rand()、drand48()いずれも線形合同法を使っている。
rand()は32bit演算を行いそのうち31bitsを、drand48()は64bit演算を行いそのうち48bitsを使用しており、周期はrand()が2^31、drand48()が2^48となる。
drand48() のデメリットは、mrand48()の最下位ビットの周期は131072しかないことと、64bit演算のためにコストが大きいことである。
rand()、drand48()いずれも線形合同法を使っている。
rand()は32bit演算を行いそのうち31bitsを、drand48()は64bit演算を行いそのうち48bitsを使用しており、周期はrand()が2^31、drand48()が2^48となる。
drand48() のデメリットは、mrand48()の最下位ビットの周期は131072しかないことと、64bit演算のためにコストが大きいことである。
※コメント投稿者のブログIDはブログ作成者のみに通知されます