マニュアルページ 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) とともに) 使用する方が処理効率が向
上します。