マニュアルページ shufrans.3m




名前

     shufrans - 乱数のシャッフル


形式

     cc [ flag ... ] file ...  -lsunmath -lm [ library ... ]

          flag にはフラグ、 file にはファイル名、 library には ラ
          イブラリ名を指定します。

     #include <sunmath.h>

     void i_shufrans_(int *x, int *n, int *l, int *u);

     void u_shufrans_(unsigned *x, int *n, unsigned *l,  unsigned
     *u);

     void r_shufrans_(float *x, int *n, float *l, float *u);

     void d_shufrans_(double *x, int *n, double *l, double *u);


機能説明

     これらの関数は、任意の方法で生成された、間隔 [*l,*u], 内の一
     様疑似乱数のシャッフル (混ぜ合わせ) を行います。シャッフルの
     方法は Knuth の"Algorithm B"と呼ばれるものです。シャッフル作
     業 用に、4 個から 256 個までの要素を持つ内部テーブルが割り当
     てられます。この要素の数は、 *n に依存します。


使用例

  間隔 [lb,ub] 内の 1000 個の乱数をシャッフルする
          double x[1000] ; int n = 1000 ; double lb, ub;

          d_shufrans_(x, &n, &lb, &ub) ;


関連項目

     addrans(3M), drand48(3C), lcrans(3M), mwcrans(3M), rand(3C),
     random(3)

     Knuth 著,『準数値算法』( The  Art  of  Computer  Programming
     Volume II ), 渋谷政昭、中川圭介訳, サイエンス社.

     Park and Miller, Random Number  Generators:  Good  Ones  are
     Hard to Find, Communications of the ACM, October 1988.


注意事項

     通常の用途 で は、  addrans(3M)drand48(3C)rand(3C)random(3B)  に含まれる関数よりも、 lcrans(3M) に含まれる関数
     を (おそらく shufrans(3M) とともに) 使用する方が処理効率が向
     上します。