magic number生成プログラム

以下に置きます。飛車だと14bitの完全ハッシュを作らないといけないのだけど、
やみくもにmagic numberを乱数で生成しても、衝突しまくってなかなかできない。
ここらへんんは[2][3]でも苦労しているようでした。
[3]のように乱数生成の際に、1のビットが少なくなるようにすれば
なんとかできた。それでも、55角の12bitテーブルは100万回以上の試行が必要だった。
以下、コード置きます。
http://navi.cs.kumamoto-u.ac.jp/~koutaki/shogi/gen_magic.zip


[1]http://www.graco.c.u-tokyo.ac.jp/~issei/GPW_Proposal%20and%20Implementation%20of%20Magic%20Bitboards%20in%20Shogi.pdf
[2]http://d.hatena.ne.jp/stonestonestone/20091110
[3]http://d.hatena.ne.jp/mclh46/20101123