Oracle Solaris Studio 12.4 Man Pages

印刷ビューの終了

更新: January 2015
 
 

shufrans(3M)

名前

shufrans - 乱数のシャッフル

形式

cc [ flag ... ] file ...  -lsunmath -lm [ 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);

説明

これらの関数は、乱数 x[0], ..., x[*n-1] を適切にシャッフルします。数値は任意の方法で生成できますが、間隔 [*l,*u] で均一に分布されると仮定されています。(数値がこの間隔外にある場合は、未定義の結果が発生します。)

これらのルーチンでは、Knuth によって開発された「アルゴリズム B」という方法が使用されます。*n に応じて、4 から 256 個までの要素で構成される内部テーブルが使用されます。

[lb, ub] で 1000 個の倍精度乱数をシャッフルするには:

 
double x[1000], lb, ub;
int n = 1000;

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

属性

次の属性については、attributes(5) を参照してください。

属性タイプ
属性値
インタフェースの安定性
確実
MT レベル
MT-安全

関連項目

addrans(3M)、drand48(3C)、lcrans(3M)、mwcrans(3M)、rand(3C)、random(3C)、attributes(5)

Knuth 著、『Seminumerical Algorithms』、1981 年、Addison-Wesley。

Park、Miller 共著、『Random Number Generators: Good Ones are Hard to Find』、Communications of the ACM、1988 年 10 月。