RANDOM_R(3) | Linux Programmer's Manual | RANDOM_R(3) |
名前
random_r, srandom_r, initstate_r, setstate_r -リエントラントな乱数生成器書式
#include <stdlib.h>
int random_r(struct random_data * buf , int32_t * result );
int srandom_r(unsigned int seed, struct random_data *buf);
int initstate_r(unsigned int seed, char *statebuf,
size_t statelen, struct random_data *buf);
int setstate_r(char *statebuf, struct random_data *buf);
glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
random_r(), srandom_r(), initstate_r(), setstate_r():
_SVID_SOURCE || _BSD_SOURCE
説明
これらの関数は、 random(3) で説明されている関数のリエントラント版で、等価な機能を持つ。これらは、独立した再現可能な乱数列を各スレッドが得る必要があるようなマルチスレッド・プログラムでの使用に適している。返り値
これらの関数は、成功すると 0 を返し、エラーの場合は-1 を返す。エラー
- EINVAL
- 8 バイトより小さい状態配列が initstate_r() に指定された。
- EINVAL
- setstate_r() の引き数 statebuf か buf が NULL であった。
- EINVAL
- random_r() の引き数 buf か result が NULL であった。
準拠
これらの関数は非標準で glibc による拡張である。関連項目
drand48(3), rand(3), random(3)この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2008-03-07 | GNU |