other versions
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) 参照):
_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.41 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2008-03-07 | GNU |