.\" Translated Mon Jan 20 20:04:05 JST 1997
.\" by YOSHINO Takashi <yoshino@civil.jcn.nihon-u.ac.jp>
.\"
-.\" WORD: internal buffer ÆâÉô¥Ð¥Ã¥Õ¥¡
+.\" WORD: internal buffer å\86\85é\83¨ã\83\90ã\83\83ã\83\95ã\82¡
.\"
.TH DRAND48 3 2007-07-26 "" "Linux Programmer's Manual"
.\"O .SH NAME
-.SH ̾Á°
+.SH 名前
.\"O drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48,
.\"O lcong48 \- generate uniformly distributed pseudo-random numbers
drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48,
-lcong48 \- °ìÍÍʬÉÛ¤¹¤ëµ¿»÷Íð¿ô¤òÀ¸À®¤¹¤ë´Ø¿ô
+lcong48 \- 一様分布する疑似乱数を生成する関数
.\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
.nf
.B #include <stdlib.h>
.sp
.in -4n
.\"O Feature Test Macro Requirements for glibc (see
.\"O .BR feature_test_macros (7)):
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
+glibc 向けの機能検査マクロの要件
.RB ( feature_test_macros (7)
-»²¾È):
+参照):
.in
.sp
.ad l
.\"O All functions shown above:
-¾åµ¤ÎÁ´¤Æ¤Î´Ø¿ô:
+上記の全ての関数:
.\" .BR drand48 (),
.\" .BR erand48 (),
.\" .BR lrand48 (),
_SVID_SOURCE || _XOPEN_SOURCE
.ad b
.\"O .SH DESCRIPTION
-.SH ÀâÌÀ
+.SH 説明
.\"O These functions generate pseudo-random numbers using the linear congruential
.\"O algorithm and 48-bit integer arithmetic.
-¤³¤ì¤é¤Î´Ø¿ô¤ÏÀþ·Á¹çƱ¥¢¥ë¥´¥ê¥º¥à¤È 48¥Ó¥Ã¥ÈÀ°¿ô±é»»¤òÍѤ¤¤Æ
-µ¿»÷Íð¿ô¤òÀ¸À®¤¹¤ë¡£
+これらの関数は線形合同アルゴリズムと 48ビット整数演算を用いて
+疑似乱数を生成する。
.PP
.\"O The
.\"O .BR drand48 ()
.\"O functions return nonnegative
.\"O double-precision floating-point values uniformly distributed between
.\"O [0.0, 1.0).
-´Ø¿ô
+関数
.BR drand48 ()
-¤È
+と
.BR erand48 ()
-¤Ï¡¢¶è´Ö [0.0, 1.0) ¤Ç
-°ìÍÍʬÉÛ¤¹¤ëÈóÉé¤ÎÇÜÀºÅÙÉâÆ°¾®¿ôÅÀ¼Â¿ôÃͤòÊÖ¤¹¡£
+は、区間 [0.0, 1.0) で
+一様分布する非負の倍精度浮動小数点実数値を返す。
.PP
.\"O The
.\"O .BR lrand48 ()
.\"O .BR nrand48 ()
.\"O functions return nonnegative
.\"O long integers uniformly distributed between 0 and 2^31.
-´Ø¿ô
+関数
.BR lrand48 ()
-¤È
+と
.BR nrand48 ()
-¤Ï 0 ¤È 2^31 ¤Î´Ö¤Ç°ìÍÍʬÉÛ¤¹¤ë
-ÈóÉé¤Î¥í¥ó¥°À°¿ô¤òÊÖ¤¹¡£
+は 0 と 2^31 の間で一様分布する
+非負のロング整数を返す。
.PP
.\"O The
.\"O .BR mrand48 ()
.\"O .BR jrand48 ()
.\"O functions return signed long
.\"O integers uniformly distributed between \-2^31 and 2^31.
-´Ø¿ô
+関数
.BR mrand48 ()
-¤È
+と
.BR jrand48 ()
-¤Ï
-\-2^31 ¤È 2^31 ¤Î´Ö¤Ç°ìÍÍʬÉÛ¤¹¤ëÉä¹æÉÕ¤¥í¥ó¥°À°¿ô¤òÊÖ¤¹¡£
+は
+\-2^31 と 2^31 の間で一様分布する符号付きロング整数を返す。
.PP
.\"O The
.\"O .BR srand48 (),
.\"O .BR jrand48 ()
.\"O do not require
.\"O an initialization function to be called first.
-´Ø¿ô
+関数
.BR srand48 (),
.BR seed48 (),
.BR lcong48 ()
-¤Ï½é´ü²½´Ø¿ô
-¤Ç¤¢¤ë¡£
-´Ø¿ô
+は初期化関数
+である。
+関数
.BR drand48 (),
.BR lrand48 (),
.BR mrand48 ()
-¤ò
-»ÈÍѤ¹¤ëÁ°¤Ë¡¢¤³¤ì¤é¤Î½é´ü²½´Ø¿ô¤Î¤¤¤º¤ì¤«¤ò¸Æ¤Ö¤Ù¤¤Ç¤¢¤ë¡£
-´Ø¿ô
+を
+使用する前に、これらの初期化関数のいずれかを呼ぶべきである。
+関数
.BR erand48 (),
.BR nrand48 (),
.BR jrand48 ()
-¤Ï½é¤á¤Ë
-½é´ü²½´Ø¿ô¤ò¸Æ¤Ö¤³¤È¤òɬÍפȤ·¤Ê¤¤¡£
+は初めに
+初期化関数を呼ぶことを必要としない。
.PP
.\"O All the functions work by generating a sequence of 48-bit integers,
.\"O \fIXi\fP, according to the linear congruential formula:
-¤³¤³¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î´Ø¿ô¤Ï 48¥Ó¥Ã¥È¤ÎÀ°¿ô¤Î
-¥·¡¼¥±¥ó¥¹ (\fIXi\fP) ¤òÀ¸À®¤¹¤ë¤³¤È¤Ç
-µ¡Ç½¤·¤Æ¤¤¤ë¡£À¸À®ÊýË¡¤Ï°Ê²¼¤ÎÀþ·Á¹çƱ¤Î¼°¤Ë¤è¤ë¡£
+ここで説明しているすべての関数は 48ビットの整数の
+シーケンス (\fIXi\fP) を生成することで
+機能している。生成方法は以下の線形合同の式による。
.sp
.nf
.RS
.\"O Unless
.\"O .BR lcong48 ()
.\"O is called, \fIa\fP and \fIc\fP are given by:
-¤³¤³¤Ç n >= 0 ¤Ç¤¢¤ë¡£
-¥Ñ¥é¥á¡¼¥¿¤¬ \fIm\fP = 2^48 ¤Ç¤¢¤ë¤¿¤á¡¢48¥Ó¥Ã¥ÈÀ°¿ô±é»»¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¡£
+ここで n >= 0 である。
+パラメータが \fIm\fP = 2^48 であるため、48ビット整数演算が行われている。
.BR lcong48 ()
-¤¬¸Æ¤Ð¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢\fIa\fP ¤È \fIc\fP ¤Ï°Ê²¼¤Î¼°¤ÇÍ¿¤¨¤é¤ì¤ë¡£
+が呼ばれていない場合、\fIa\fP と \fIc\fP は以下の式で与えられる。
.sp
.nf
.RS
.\"O Then the appropriate number of bits, according to the type of data item to
.\"O be returned, is copied from the high-order bits of \fIXi\fP and transformed
.\"O into the returned value.
-´Ø¿ô
+関数
.BR drand48 (),
.BR erand48 (),
.BR lrand48 (),
.BR nrand48 (),
.BR mrand48 (),
.BR jrand48 ()
-¤ÇÊÖ¤µ¤ì¤ëÃͤϼ¡¤Î¤è¤¦¤Ë¤·¤Æ·×»»¤µ¤ì¤ë¡£
-¤Ï¤¸¤á¤Ë¡¢¼¡¤Î48¥Ó¥Ã¥È¤Î \fIXi\fP ¤¬·×»»¤µ¤ì¤ë¡£
-¤½¤·¤Æ¡¢ÊÖ¤¹¤Ù¤¥Ç¡¼¥¿¤Î·¿¤Ë°Í¸¤·¤¿Å¬ÀÚ¤Ê
-¥Ó¥Ã¥È¿ô¤¬ \fIXi\fP ¤Î¾å°Ì¥Ó¥Ã¥È¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë¡£
-ºÇ¸å¤Ë¡¢¤³¤ÎÃͤòÊÖ¤êÃͤËÊÑ´¹¤¹¤ë¡£
+で返される値は次のようにして計算される。
+はじめに、次の48ビットの \fIXi\fP が計算される。
+そして、返すべきデータの型に依存した適切な
+ビット数が \fIXi\fP の上位ビットからコピーされる。
+最後に、この値を返り値に変換する。
.PP
.\"O The functions
.\"O .BR drand48 (),
.\"O The functions are initialized by placing the initial
.\"O value of \fIXi\fP into the array before calling the function for the first
.\"O time.
-´Ø¿ô
+関数
.BR drand48 (),
.BR lrand48 (),
.BR mrand48 ()
-¤Ï
-ºÇ¸å¤ËÀ¸À®¤µ¤ì¤¿48¥Ó¥Ã¥È¤Î \fIXi\fP ¤òÆâÉô¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤¹¤ë¡£
-ÇÛÎó¤Î·Á¤Î°ú¿ô \fIxsubi\fP ¤Ë¸Ä¡¹¤Î \fIXi\fP ¤ÎÃͤò
-³ÊǼ¤Ç¤¤ë¤è¤¦¤ÊÎΰè¤ò³ÎÊݤ¹¤ë¤³¤È¤ò¡¢
-´Ø¿ô
+は
+最後に生成された48ビットの \fIXi\fP を内部バッファに格納する。
+配列の形の引数 \fIxsubi\fP に個々の \fIXi\fP の値を
+格納できるような領域を確保することを、
+関数
.BR erand48 (),
.BR nrand48 (),
.BR jrand48 ()
-¤Ï¡¢
-¸Æ¤Ó½Ð¤·Â¦¤Î¥×¥í¥°¥é¥à¤ËÍ׵᤹¤ë¡£
-¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢¤Ï¤¸¤á¤Æ¤½¤ì¤é¤Î´Ø¿ô¤ò¸Æ¤ÖÁ°¤Ë \fIXi\fP ¤Î½é´üÃͤòÇÛÎó¤Ë
-ÂåÆþ¤¹¤ë¤³¤È¤Ç½é´ü²½¤µ¤ì¤ë¡£
+は、
+呼び出し側のプログラムに要求する。
+これらの関数は、はじめてそれらの関数を呼ぶ前に \fIXi\fP の初期値を配列に
+代入することで初期化される。
.PP
.\"O The initializer function
.\"O .BR srand48 ()
.\"O \fIXi\fP to the argument \fIseedval\fP.
.\"O The low order 16-bits are set
.\"O to the arbitrary value 0x330E.
-½é´ü²½´Ø¿ô
+初期化関数
.BR srand48 ()
-¤Ï¡¢\fIXi\fP ¤Î
-¾å°Ì32¥Ó¥Ã¥È¤ò°ú¿ô \fIseedval\fP ¤ËÀßÄꤹ¤ë¡£
-²¼°Ì¤Î16¥Ó¥Ã¥È¤Ï¡¢Å¬Åö¤Ë·è¤á¤é¤ì¤¿ÃͤǤ¢¤ë0x330E¤ËÀßÄꤵ¤ì¤ë¡£
+は、\fIXi\fP の
+上位32ビットを引数 \fIseedval\fP に設定する。
+下位の16ビットは、適当に決められた値である0x330Eに設定される。
.PP
.\"O The initializer function
.\"O .BR seed48 ()
.\"O previous value of \fIXi\fP is copied into an internal buffer and a
.\"O pointer to this buffer is returned by
.\"O .BR seed48 ().
-½é´ü²½´Ø¿ô
+初期化関数
.BR seed48 ()
-¤Ï¡¢\fIXi\fP ¤ÎÃͤò¡¢
-ÇÛÎó¤Î·Á¤ò¤·¤¿°ú¿ô¤Ç¤¢¤ë \fIseed16v\fP ¤ÎÃæ¤Ç»ØÄꤵ¤ì¤¿ 48¥Ó¥Ã¥È¤ÎÃͤËÀßÄꤹ¤ë¡£
-\fIXi\fP ¤ÎÁ°¤ÎÃͤÏÆâÉô¥Ð¥Ã¥Õ¥¡¤Ë¥³¥Ô¡¼¤µ¤ì¡¢¤³¤Î¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬
+は、\fIXi\fP の値を、
+配列の形をした引数である \fIseed16v\fP の中で指定された 48ビットの値に設定する。
+\fIXi\fP の前の値は内部バッファにコピーされ、このバッファへのポインタが
.BR seed48 ()
-¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë¡£
+によって返される。
.PP
.\"O The initialization function
.\"O .BR lcong48 ()
.\"O or
.\"O .BR seed48 ()
.\"O will restore the standard values of \fIa\fP and \fIc\fP.
-½é´ü²½´Ø¿ô
+初期化関数
.BR lcong48 ()
-¤Ï»ÈÍѼԤ¬ \fIXi\fP, \fIa\fP, \fIc\fP ¤Î
-½é´üÃͤò»ØÄꤹ¤ë¤¿¤á¤Î´Ø¿ô¤Ç¤¢¤ë¡£
-ÇÛÎó¤Î·Á¤ò¤·¤¿°ú¿ô¤ÎÍ×ÁǤϤ½¤ì¤¾¤ì¡¢\fIparam[0-2]\fP ¤Ï \fIXi\fP ¤ò¡¢
-\fIparam[3-5]\fP ¤Ï \fIa\fP ¤ò¡¢\fIparam[6]\fP ¤Ï \fIc\fP ¤ò»ØÄꤹ¤ë¤â¤Î
-¤Ç¤¢¤ë¡£
+は使用者が \fIXi\fP, \fIa\fP, \fIc\fP の
+初期値を指定するための関数である。
+配列の形をした引数の要素はそれぞれ、\fIparam[0-2]\fP は \fIXi\fP を、
+\fIparam[3-5]\fP は \fIa\fP を、\fIparam[6]\fP は \fIc\fP を指定するもの
+である。
.BR lcong48 ()
-¤¬¸Æ¤Ð¤ì¤¿¸å¤Ç¡¢
+が呼ばれた後で、
.BR srand48 ()
-¤«
+か
.BR seed48 ()
-¤ò¸Æ¤Ö¤È¡¢Á°½Ò¤Î \fIa\fP ¤È \fIc\fP ¤Î
-ɸ½àÃͤ¬ºÆ¤ÓÀßÄꤵ¤ì¤ë¡£
-.SH ½àµò
+を呼ぶと、前述の \fIa\fP と \fIc\fP の
+標準値が再び設定される。
+.SH 準拠
SVr4, POSIX.1-2001.
.\"O .SH NOTES
-.SH Ãí°Õ
+.SH 注意
.\"O These functions are declared obsolete by SVID 3, which states that
.\"O .BR rand (3)
.\"O should be used instead.
-SVID 3 ¤Ç¤Ï¤³¤ì¤é¤Î´Ø¿ô¤Ï»þÂåÃÙ¤ì¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤ë¡£
-SVID 3 ¤Ç¤Ï
+SVID 3 ではこれらの関数は時代遅れと宣言されている。
+SVID 3 では
.BR rand (3)
-¤¬Âå¤ï¤ê¤Ë»ÈÍѤµ¤ì¤ë¤Ù¤¤À¤Èµ½Ò¤µ¤ì¤Æ¤¤¤ë¡£
+が代わりに使用されるべきだと記述されている。
.\"O .SH "SEE ALSO"
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
.BR rand (3),
.BR random (3)