Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

DRAND48

Section: Linux Programmer's Manual (3)
Updated: July 2, 1993
Index Return to Main Contents
 

̾Á°

drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, lcong48 - °ìÍÍʬÉÛ¤¹¤ëµ¿»÷Íð¿ô¤òÀ¸À®¤¹¤ë´Ø¿ô  

½ñ¼°

#include <stdlib.h>

double drand48(void);

double erand48(unsigned short int xsubi[3]);

long int lrand48(void);

long int nrand48(unsigned short int xsubi[3]);

long int mrand48(void);

long int jrand48(unsigned short int xsubi[3]);

void srand48(long int seedval);

unsigned short int *seed48(unsignedshortint seed16v [3]);

void lcong48(unsigned short int param[7]);
 

ÀâÌÀ

¤³¤ì¤é¤Î´Ø¿ô¤ÏÀþ·Á¹çƱ¥¢¥ë¥´¥ê¥º¥à¤È48¥Ó¥Ã¥ÈÀ°¿ô±é»»¤òÍѤ¤¤Æ µ¿»÷Íð¿ô¤òÀ¸À®¤¹¤ë¡£

drand48()´Ø¿ô¤Èerand48()´Ø¿ô¤Ï¡¢¶è´Ö[0.0, 1.0)¤Ç °ìÍÍʬÉÛ¤¹¤ëÈóÉé¤ÎÇÜÀºÅÙÉâÆ°¾®¿ôÅÀ¼Â¿ôÃͤòÊÖ¤¹¡£

lrand48()´Ø¿ô¤Ènrand48()´Ø¿ô¤Ï0¤È2^31¤Î´Ö¤Ç°ìÍÍʬÉÛ¤¹¤ë ÈóÉé¤Î¥í¥ó¥°À°¿ô¤òÊÖ¤¹¡£

mrand48()´Ø¿ô¤Èjrand48()´Ø¿ô¤Ï -2^31¤È2^31¤Î´Ö¤Ç°ìÍÍʬÉÛ¤¹¤ëÉ乿ÉÕ¤­¥í¥ó¥°À°¿ô¤òÊÖ¤¹¡£

srand48()´Ø¿ôseed48()´Ø¿ô¤½¤·¤Ælcong48()´Ø¿ô¤Ï½é´ü²½´Ø¿ô ¤Ç¤¢¤ë¡£ drand48()´Ø¿ôlrand48()´Ø¿ô¤Þ¤¿¤Ïmrand49()¤ò »ÈÍѤ¹¤ëÁ°¤Ë¡¢¤³¤ì¤é¤Î½é´ü²½´Ø¿ô¤Î¤¤¤º¤ì¤«¤ò¸Æ¤Ö¤Ù¤­¤Ç¤¢¤ë¡£ ´Ø¿ô erand48()¡¢nrand48()¤½¤·¤Æjrand48()¤Ï½é¤á¤Ë ½é´ü²½´Ø¿ô¤ò¸Æ¤Ö¤³¤È¤òɬÍפȤ·¤Ê¤¤¡£

¤³¤³¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î´Ø¿ô¤Ï48¥Ó¥Ã¥È¤ÎÀ°¿ô¤Î ¥·¡¼¥±¥ó¥¹(Xi)¤òÀ¸À®¤¹¤ë¤³¤È¤Ç µ¡Ç½¤·¤Æ¤¤¤ë¡£À¸À®ÊýË¡¤Ï°Ê²¼¤ÎÀþ·Á¹çƱ¤Î¼°¤Ë¤è¤ë¡£

Xn+1 = (aXn + c) mod m,

¤³¤³¤Ç n >= 0 ¤Ç¤¢¤ë¡£ ¥Ñ¥é¥á¡¼¥¿¤¬m = 2^48¤Ç¤¢¤ë¤¿¤á¡¢48¥Ó¥Ã¥ÈÀ°¿ô±é»»¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¡£ lcong48()¤¬¸Æ¤Ð¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢a¤Èc¤Ï°Ê²¼¤Î¼°¤ÇÍ¿¤¨¤é¤ì¤ë¡£

a = 0x5DEECE66D c = 0xB

´Ø¿ôdrand48()¡¢erand48()¡¢lrand48()¡¢nrand48()¡¢ mrand48()¤½¤·¤Æjrand48()¤ÇÊÖ¤µ¤ì¤ëÃͤϼ¡¤Î¤è¤¦¤Ë¤·¤Æ·×»»¤µ¤ì¤ë¡£ ¤Ï¤¸¤á¤Ë¡¢¼¡¤Î48¥Ó¥Ã¥È¤ÎXi¤¬·×»»¤µ¤ì¤ë¡£ ¤½¤·¤Æ¡¢ÊÖ¤¹¤Ù¤­¥Ç¡¼¥¿¤Î·¿¤Ë°Í¸¤·¤¿Å¬ÀÚ¤Ê ¥Ó¥Ã¥È¿ô¤¬Xi¤Î¾å°Ì¥Ó¥Ã¥È¤«¤é¥³¥Ô¡¼¤µ¤ì¤ë¡£ ºÇ¸å¤Ë¡¢¤³¤ÎÃͤòÊÖ¤êÃͤËÊÑ´¹¤¹¤ë¡£

´Ø¿ôdrand48()¡¢lrand48()¡¢mrand48()¤Ï ºÇ¸å¤ËÀ¸À®¤µ¤ì¤¿48¥Ó¥Ã¥È¤ÎXi¤òÆâÉô¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤¹¤ë¡£ ÇÛÎó¤Î·Á¤Î°ú¿ôxsubi¤Ë¸Ä¡¹¤ÎXi¤ÎÃͤò ³ÊǼ¤Ç¤­¤ë¤è¤¦¤ÊÎΰè¤ò³ÎÊݤ¹¤ë¤³¤È¤ò¡¢ ´Ø¿ôerand48()¡¢nrand48()¤½¤·¤Æjrand48()¤Ï¡¢ ¸Æ¤Ó½Ð¤·Â¦¤Î¥×¥í¥°¥é¥à¤ËÍ׵᤹¤ë¡£ ¤³¤ì¤é¤Î´Ø¿ô¤Ï¡¢¤Ï¤¸¤á¤Æ¤½¤ì¤é¤Î´Ø¿ô¤ò¸Æ¤ÖÁ°¤ËXi¤Î½é´üÃͤòÇÛÎó¤Ë ÂåÆþ¤¹¤ë¤³¤È¤Ç½é´ü²½¤µ¤ì¤ë¡£

½é´ü²½´Ø¿ôsrand48()¤Ï¡¢Xi¤Î ¾å°Ì32¥Ó¥Ã¥È¤ò°ú¿ôseedval¤ËÀßÄꤹ¤ë¡£ ²¼°Ì¤Î16¥Ó¥Ã¥È¤Ï¡¢Å¬Åö¤Ë·è¤á¤é¤ì¤¿ÃͤǤ¢¤ë0x330E¤ËÀßÄꤵ¤ì¤ë¡£

½é´ü²½´Ø¿ôseed48()¤Ï¡¢Xi¤ÎÃͤò¡¢ ÇÛÎó¤Î·Á¤ò¤·¤¿°ú¿ô¤Ç¤¢¤ëseed16v¤ÎÃæ¤Ç»ØÄꤵ¤ì¤¿48¥Ó¥Ã¥È¤ÎÃͤËÀßÄꤹ¤ë¡£ Xi¤ÎÁ°¤ÎÃÍ¤ÏÆâÉô¥Ð¥Ã¥Õ¥¡¤Ë¥³¥Ô¡¼¤µ¤ì¡¢¤³¤Î¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬ seed48()¤Ë¤è¤Ã¤ÆÊÖ¤µ¤ì¤ë¡£

½é´ü²½´Ø¿ôlcong48()¤Ï»ÈÍѼԤ¬Xi¡¢a¤½¤·¤Æc¤Î ½é´üÃͤò»ØÄꤹ¤ë¤¿¤á¤Î´Ø¿ô¤Ç¤¢¤ë¡£ ÇÛÎó¤Î·Á¤ò¤·¤¿°ú¿ô¤ÎÍ×ÁǤϤ½¤ì¤¾¤ì¡¢param[0-2]¤ÏXi¤ò¡¢ param[3-5]¤Ïa¤ò¡¢¤½¤·¤Æparam[6]¤Ïc¤ò»ØÄꤹ¤ë¤â¤Î ¤Ç¤¢¤ë¡£ lcong48()¤¬¸Æ¤Ð¤ì¤¿¸å¤Ç¡¢ srand48()¤Þ¤¿¤Ïseed48()¤ò¸Æ¤Ö¤È¡¢Á°½Ò¤Îa¤Èc¤Î ɸ½àÃͤ¬ºÆ¤ÓÀßÄꤵ¤ì¤ë¡£  

½àµò

SVID 3  

Ãí°Õ»ö¹à

¤³¤ì¤é¤Î´Ø¿ô¤ÏSVID 3¤Ë¤è¤Ã¤Æ»þÂåÃÙ¤ì¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤ë¡£ SVID 3¤Ïrand(3)¤¬Âå¤ï¤ê¤Ë»ÈÍѤµ¤ì¤ë¤Ù¤­¤À¤Èµ­½Ò¤·¤Æ¤¤¤ë¡£  

´ØÏ¢»ö¹à

rand(3), random(3)


 

Index

̾Á°
½ñ¼°
ÀâÌÀ
½àµò
Ãí°Õ»ö¹à
´ØÏ¢»ö¹à

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man3". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.