2008年1月28日月曜日

feh のランダム表示

僕は画像ビューワーとして ports/graphics/feh を愛用している. シンプルなインターフェースがお気に入りだ. 時々, feh を使ってデジカメで撮った写真をランダムに表示させて暇を潰すことがあるのだが, 一部の画像が何度も出て, 一部の画像は全く出ないという偏りがあるような気がしていた.

現実逃避でソースを調べてみたら, feh が依存している ports/graphics/giblib の gib_list.c の gib_list_randomize と言う関数で, ファイルリストを乱数で混ぜるとき次の様に rand を使っていた.
r = (int) ((len - i - 1) * (float) rand() / (RAND_MAX + 1.0)) + i + 1;

ただし, rand % FOO という形でないので, それほど問題でもないと思うのだが, とりあえず, この rand を random に変えてみて, しばらく使ってみて様子を見ることにした.

0 件のコメント: