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(3), lcrans(3M), mwcrans(3M), rand(3C), rand(3V), 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) とともに) 使用する方が処理効率が向上します。