研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

SSCA#2 - 乱数

2010-10-31 01:09:07 | Weblog
今まで乱数の質にはあまりこだわらないような実装が多かったので、drand48()は今回初めてみた。グラフジェネレータでは乱数質が問題の難易度に大きく関わってくるので、非常に重要である。

rand()、drand48()いずれも線形合同法を使っている。

rand()は32bit演算を行いそのうち31bitsを、drand48()は64bit演算を行いそのうち48bitsを使用しており、周期はrand()が2^31、drand48()が2^48となる。

drand48() のデメリットは、mrand48()の最下位ビットの周期は131072しかないことと、64bit演算のためにコストが大きいことである。

最新の画像もっと見る

コメントを投稿