-.BR setstate ()
-´Ø¿ô¤Ï¡¢
-.BR random ()
-¤Ç»ÈÍѤµ¤ì¤ë¾õÂÖÇÛÎó¤òÊѹ¹¤¹¤ë¡£
-¾õÂÖÇÛÎó \fIstate\fP ¤Ï¡¢
-.BR initstate ()
-¤Þ¤¿¤Ï
-.BR setstate ()
-¤¬
-¼¡¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤Þ¤Ç¡¢Íð¿ô¤ÎÀ¸À®¤Ë»ÈÍѤµ¤ì¤ë¡£
-\fIstate\fP ¤Ï
-.BR initstate ()
-¤òÍѤ¤¤ÆºÇ½é¤Ë½é´ü²½¤µ¤ì¤Æ¤¤¤ë¤«¡¢
-°ÊÁ°¤Ë¸Æ¤Ó½Ð¤·¤¿
-.BR setstate ()
-¤Î·ë²Ì¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-.SH ÊÖ¤êÃÍ
-.BR random ()
-´Ø¿ô¤Ï 0 ¤È
-.B RAND_MAX
-¤Î´Ö¤ÎÃͤòÊÖ¤¹¡£
-.BR srandom ()
-´Ø¿ô¤ÏÃͤòÊÖ¤µ¤Ê¤¤¡£
-.BR initstate ()
-´Ø¿ô¤ÏľÁ°¤Î¾õÂÖÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹¡£
-.BR setstate ()
-´Ø¿ô¤ÏľÁ°¤Î¾õÂÖÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤·¡¢
-¥¨¥é¡¼¤Î¾ì¹ç¤Ï NULL ¤òÊÖ¤¹¡£
-.SH ¥¨¥é¡¼
-.TP
-.B EINVAL
-.BR initstate ()
-¤Ç8¥Ð¥¤¥È¤è¤ê¤â¾®¤µ¤¤¾õÂÖÇÛÎó¤ò»ØÄꤷ¤¿¡£
-.SH ½àµò
-4.3BSD, POSIX.1-2001.
-.SH Ãí°Õ
-¾õÂÖÇÛÎó \fIn\fP ¤ÎÂ礤µ¤Î¸½ºß¤Î¡ÖºÇŬ¡×ÃͤÏ
-8¡¢32¡¢64¡¢128¡¢256 ¥Ð¥¤¥È¤Ç¤¢¤ë¡£
-¤½¤Î¾¤ÎÎ̤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢»ØÄꤷ¤¿Î̤ò±Û¤¨¤Ê¤¤¾å½Ò¤ÎÃͤË
-ºÇ¤â¶á¤¤Ãͤˤʤ롣
-8 ¥Ð¥¤¥È̤Ëþ¤ÎÎ̤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¥¨¥é¡¼¤Î¸¶°ø¤È¤Ê¤ë¡£
-
-Ê£¿ô¤Î¥¹¥ì¥Ã¥É¤¬
-.BR random ()
-¤ò»È¤¦¤è¤¦¤Ê¾õ¶·¤Ç¤Ï¡¢¤³¤Î´Ø¿ô¤ò»ÈÍѤ¹¤Ù¤¤Ç¤Ï¤Ê¤¤¡£
-¤½¤Î¾ì¹ç¤Ë¤Ï
-.BR random_r (3)
-¤ò»È¤¦¤³¤È¡£
-
-Íð¿ô¤ÎÀ¸À®¤ÏÊ£»¨¤ÊÏÃÂê¤Ç¤¢¤ë¡£
-.I Numerical Recipes in C: The Art of Scientific Computing
+\fBsetstate\fP() 関数は、 \fBrandom\fP() で使用される状態配列を変更する。 状態配列 \fIstate\fP は、
+\fBinitstate\fP() または \fBsetstate\fP() が 次に呼び出されるまで、乱数の生成に使用される。 \fIstate\fP は
+\fBinitstate\fP() を用いて最初に初期化されているか、 以前に呼び出した \fBsetstate\fP() の結果でなければならない。
+.SH 返り値
+\fBrandom\fP() 関数は 0 と \fBRAND_MAX\fP の間の値を返す。 \fBsrandom\fP() 関数は値を返さない。
+\fBinitstate\fP() 関数は直前の状態配列へのポインタを返す。 \fBsetstate\fP() 関数は直前の状態配列へのポインタを返し、
+エラーの場合は NULL を返す。
+.SH エラー
+.TP
+\fBEINVAL\fP
+\fBinitstate\fP() で8バイトよりも小さい状態配列を指定した。
+.SH 準拠
+4.3BSD, POSIX.1\-2001.
+.SH 注意
+状態配列 \fIn\fP の大きさの現在の「最適」値は 8、32、64、128、256 バイトである。
+その他の量を指定した場合には、指定した量を越えない上述の値に 最も近い値になる。 8 バイト未満の量を指定した場合にはエラーの原因となる。
+.PP
+複数のスレッドが \fBrandom\fP() を使うような状況では、この関数を使用すべきではない。 その場合には \fBrandom_r\fP(3)
+を使うこと。
+.PP
+乱数の生成は複雑な話題である。 \fINumerical Recipes in C: The Art of Scientific Computing\fP