Graviness Blog

»»¿ô¡¦¿ô³Ø¡¦²Ê³Ø¡¦ÅÅǾ¡¦»¨µ­¡¦¥¢¥Û¤Î½ç¤ÎÌ©Å٤ǵ­»ö¤¬¹½À®¤µ¤ì¤Þ¤¹¡¥
<< April 2018 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >> ¥Ö¥í¥°¥é¥ó¥­¥ó¥°¡¦¤Ë¤Û¤ó¥Ö¥í¥°Â¼¤Ø
 
RECOMMEND
¥Ó¥Ã¥°¥Ð¥ó±§ÃèÏÀ (¾å)
¥Ó¥Ã¥°¥Ð¥ó±§ÃèÏÀ (¾å) ¡ÊJUGEM¥ì¥Ó¥å¡¼ »¡Ë
¥µ¥¤¥â¥ó¡¦¥·¥ó, ÀÄÌÚ ·°
RECENT COMMENT
  • Ë­¿Ã½¨µÈ¤ÈÁ½Ï¤Íø¿·º¸±ÒÌ礫¤é³Ø¤Ö¿ôÎó¤ÎÏÂ
    ¢Í ͥǵ (07/12)
  • ¡Ú狼²ò¤¤¤Æ¡ÛÁ²²½¼° a_(n+1) = f(n) * a_n ^ g(n) + h(n) ¤Î°ìÈ̹à
    ¢Í ͥǵ (02/18)
  • ¡Ú狼²ò¤¤¤Æ¡ÛÁ²²½¼° a_(n+1) = f(n) * a_n ^ g(n) + h(n) ¤Î°ìÈ̹à
    ¢Í S.S.+ (02/16)
  • Ë­¿Ã½¨µÈ¤ÈÁ½Ï¤Íø¿·º¸±ÒÌ礫¤é³Ø¤Ö¿ôÎó¤ÎÏÂ
    ¢Í ºä°æ¾¼ (03/19)
  • d/dx(x¢¬¢¬n): ¹â¤µ¤¬Äê¿ô¤Î¥Æ¥È¥ì¡¼¥·¥ç¥ó¤ÎÈùʬ - ¿ô³ØÅªµ¢Ç¼Ë¡¤òÍѤ¤¤ëÊýË¡
    ¢Í ­£ (09/30)
  • Á´¤Æ¤Î»°³Ñ·Á¤ÏÆóÅùÊÕ»°³Ñ·Á
    ¢Í ͥǵ (09/28)
  • Á´¤Æ¤Î»°³Ñ·Á¤ÏÆóÅùÊÕ»°³Ñ·Á
    ¢Í µµ¥ì¥¹ (09/28)
  • Á´¤Æ¤Î»°³Ñ·Á¤ÏÆóÅùÊÕ»°³Ñ·Á
    ¢Í ͥǵ (09/24)
  • Á´¤Æ¤Î»°³Ñ·Á¤ÏÆóÅùÊÕ»°³Ñ·Á
    ¢Í µµ¥ì¥¹ (09/23)
  • ¡Ṳ́²ò·è¡Û¿·¤·¤¤±é»»»Ò¤òÁϤë
    ¢Í $_ (09/10)
RECENT TRACKBACK
MOBILE
qrcode
PROFILE
 
MersenneTwister JavaScript Version
µ¼»÷Íð¿ô (Pseudo-random Number)À¸À®¥¢¥ë¥´¥ê¥º¥à¤Î°ì¤Ä¤Ç¤¢¤ë¥á¥ë¥»¥ó¥Ì¡¦¥Ä¥¤¥¹¥¿ (MersenneTwister)¤ÎJavaScript¸À¸ì°Ü¿¢ÈǤòºîÀ®¤·¤Þ¤·¤¿¡¥¡Ê¥á¥ë¥»¥ó¥Ì¡¦¥Ä¥¤¥¹¥¿¤ÎÀâÌÀ¤Ï¡¤wikipedia¤â¤·¤¯¤ÏMT¹Í°Æ¼Ô¤Î¥¦¥§¥Ö¥µ¥¤¥È¤Ë¾Ü¤·¤¯µ­ºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥¡Ë

TOPIC: MT¹Í°Æ¼Ô¤Î¥¦¥§¥Ö¥µ¥¤¥È¤«¤é¤³¤Îµ­»ö¤¬¥ê¥ó¥¯¤µ¤ì¤Þ¤·¤¿¡ª¥é¥Ã¥­¡¼

JavaScript¸À¸ì°Ü¿¢ÈǤΥ½¡¼¥¹¥³¡¼¥É¤È¼Â¹Ô·ë²Ì¤Ï°Ê²¼¤Ç¤¹¡¥
¡¦¥á¥ë¥»¥ó¥Ì¥Ä¥¤¥¹¥¿JavaScript¸À¸ì°Ü¿¢ÈÇ¥½¡¼¥¹¥³¡¼¥É
¡¡¡¡NOTE: Copyright¤Ê¤É¤â̵½¤Àµ¤Ç»Ä¤·¤Æ¤Þ¤¹ f^^;
¡¦¥á¥ë¥»¥ó¥Ì¥Ä¥¤¥¹¥¿JavaScript¸À¸ì°Ü¿¢ÈǤμ¹Ô
¡¦JavaScript¸À¸ì°Ü¿¢ÈǤμ¹Էë²Ì (FireFox3 / Windows XP)

¤Þ¤¿¡¤JavaScript¸À¸ì¤Ç¥¯¥é¥¹²½¤·¤¿¤â¤Î¤âºîÀ®¤·¤Þ¤·¤¿¡¥
¡¦JavaScriptÈÇMersenneTwister¥¯¥é¥¹ (UTF-8)
¡¦JavaScriptÈÇMersenneTwister¥¯¥é¥¹¤Î¼Â¹Ô

¼Â¹Ô·ë²Ì¤Ï¡¤¥ª¥ê¥¸¥Ê¥ë¤È¸·Ì©¤Ë°ìÃפ·¤Æ¤¤¤Þ¤¹¡¥¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹¥³¡¼¥É¤È¼Â¹Ô·ë²Ì¤Ï°Ê²¼¤Ç¤¹¡¥
¡¦¥á¥ë¥»¥ó¥Ì¥Ä¥¤¥¹¥¿¥ª¥ê¥¸¥Ê¥ë¤Î¥½¡¼¥¹¥³¡¼¥É
¡¦¥ª¥ê¥¸¥Ê¥ë¤Î¼Â¹Ô·ë²Ì
---

JavaScript¤Ø¤Î°Ü¿¢¤Ë¤¢¤¿¤Ã¤Æ¶ìÏ«¤·¤¿ÅÀ¤Ï¡¤ÏÀÍý±é»»¤Ç¤¹¡¥ÆÃħŪ¤Ê¤Î¤Ï°Ê²¼¤Î¤è¤¦¤Ê·×»»¤ò¹Ô¤Ã¤¿¤È¤­¤Ç¤¹¡¥

¡¡¡¡var v = (32¥Ó¥Ã¥È¤òͤ¨¤Ê¤¤Â礭¤Ê¿ô);
¡¡¡¡var t = v * v + 1; // +1¤¬Ìµ»ë¤µ¤ì¤¿ÃÍ¡¥
¡¡¡¡¢¨v¤¬°ìÈÌŪ¤Ê¸À¸ì¤Îunsigned __int32·¿¤Ç¤¢¤ì¤Ð¡¤t¤Ï¡¤+1¤â¹Í褵¤ì¤¿Ãͤˤʤë¤Ï¤º¡¥32¥Ó¥Ã¥È¤ÎÀ°¿ô·¿¤È¤·¤Æ¡¤v * v¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤¹¤ë¤Î¤À¤í¤¦¤«¡©¤½¤ì¤È¤â¡¤ÆâÉô¤Ç°ì»þŪ¤ËÉâÆ°¾®¿ôÅÀ·¿¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤Ï¡©

¡¡¡¡var v1 = 0xFFffFFff; // v1¤Ï¡¤0xFFffFFff¤È¤Ê¤ê¡¤unsigned __int32·¿¤È¤·¤Æ°·¤ï¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¤ß¤¨¤ë¡¥
¡¡¡¡var v2 = v1 & 0xFFffFFff; // v2¤Ï¡¤-1¤È¤Ê¤ê¡¤signed __int32·¿¤È¤·¤Æ°·¤ï¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¤ß¤¨¤ë¡¥
¡¡¡¡var v3 = v2 >>> 0; // s2¤Ï¡¤0xFFffFFff¤È¤Ê¤ê¡¤unsigned __int32·¿¤È¤·¤Æ°·¤ï¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¤ß¤¨¤ë¡¥
¡¡¡¡¢¨É½¼¨»þ¤Ë¤É¤¦¤Ê¤ë¤«¤À¤±¤Ç¤¢¤Ã¤Æ¡¤32¥Ó¥Ã¥È¤Î2¤ÎÊä¿ôɽ¸½¤È¤·¤Æ¤Ï¡¤¤É¤ì¤âÀµ¤·¤¤¡¥¤¬¡¤v2¤ò»ÈÍѤ·¤Æ³Ý»»Åù¤ò¹Ô¤¦¤È·ë²Ì¤ËÉé¿ô¤¬¸½¤ì¤¿¤ê¤·¤Æ¤Ó¤Ã¤¯¤ê¤¹¤ë¡¥¤É¤¦¤ä¤é¡¤ÊÑ¿ô¤ò´Þ¤à¿ôÃͤËÏÀÍý±é»»»Ò¤òŬÍѤ¹¤ë¤È¡¤ÅÓü¤Ë32¥Ó¥Ã¥ÈÀ°¿ô·¿¤È¤·¤Æ°·¤ï¤ì¤ë¤è¤¦¤À¡¥

¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤Ë¤è¤Ã¤Æ¡¤²¼°Ì·å¤Îñ½ã¤Ê·×»»¤¬¹ç¤ï¤Ê¤¯¤Ê¤ë¤Î¤ÏÀڼ¤ǡ¤¥á¥ë¥»¥ó¥Ì¡¦¥Ä¥¤¥¹¥¿¤Ç¤â¡È0x5D588B65¡É¤Ê¤É¤ÎÂ礭¤Ê¿ô¤ò³Ý¤±¡¤¤½¤Î¸å¤Ë¾®¤µ¤Ê¿ô¤ò­¤·¤¿¤ê¤¹¤ë²Õ½ê¤¬¤¢¤ê¤Þ¤¹¡¥°Ü¿¢»þ¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ê·×»»¤Ç²óÈò¤·¤Þ¤·¤¿¡¥

¡¡¡¡¸µ¥³¡¼¥É¡§
¡¡¡¡¡¡¡¡var v = (32¥Ó¥Ã¥È¤òͤ¨¤Ê¤¤Â礭¤Ê¿ô)
¡¡¡¡¡¡¡¡var w = 0x5D588B65 * v + 2;
¡¡¡¡JavaScriptÍѽ¤Àµ¥³¡¼¥É
¡¡¡¡¡¡¡¡var v = (32¥Ó¥Ã¥È¤òͤ¨¤Ê¤¤Â礭¤Ê¿ô)
¡¡¡¡¡¡¡¡var vh = (v & 0xffff0000) >>> 16, vl = v & 0xffff;
¡¡¡¡¡¡¡¡var w = ((vh * 0x5D588B65) << 16) + (vl * 0x5D588B65) + 2

¤Þ¤¿¡¤JavaScript¤Î¡È¿ôÃÍ·¿ÊÑ¿ô¡É¤ò¶¯À©Åª¤Ëunsigned __int32·¿¤ØÊÑ´¹¤¹¤ë¤Ë¤Ï¡¤¡ÈnumericVar >>>= 0¡É¤Ê¤É¤È¤¹¤ë¤ÈÎɤ¤¤Ç¤¹¡¥

---

Web¾å¤Î¥¤¥ó¥¿¥×¥ê¥¿¸À¸ì¤ò»ÈÍѤ·¡¤¥¹¡¼¥Ñ¡¼¥³¥ó¥Ô¥å¡¼¥¿Ê¤Υ·¥ß¥å¥ì¡¼¥·¥ç¥ó¤ò¹Ô¤¦É¬Íפ¬¤¢¤ëÊý¤Ï»²¹Í¤Ë¤·¤Æ²¼¤µ¤¤£÷
¤³¤¦¤¤¤¦¿ô³Ø·Ï¤Î¥Í¥¿¤ò¹Í¤¨¤Æ¤¤¤ë¤È¤­¤Ï¡¤Á´¤Æ¤ò˺¤ì¤ÆËׯ¬¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¤º£²ó¤Ï¡¤´Ý°ìÆü¿²¤ë¤Î¤È¤´ÈÓ¤ò¿©¤Ù¤ë¤Î¤ò˺¤ì¤Æ¤¤¤Þ¤·¤¿¡¥¿²¤Æµ¯¤­¤¿¤È¤­¡¤¶õÊ¢¤Ç¡Èµ¯¤­¾å¤¬¤ì¤Ê¤¤¡É¤Û¤É¡Ê޹ŽÞŽ×

---

¡Ú´ØÏ¢URI¡Û
¡¦¥á¥ë¥»¥ó¥Ì¥Ä¥¤¥¹¥¿¹Í°Æ¼Ô¤Î¥¦¥§¥Ö¥µ¥¤¥È
¡¦¾åµ­¥µ¥¤¥È¤ÎJavaScript¸À¸ì°Ü¿¢ÈǤξҲð¥Ú¡¼¥¸
¡¦¥á¥ë¥»¥ó¥Ì¡¦¥Ä¥¤¥¹¥¿¡÷wikipedia
¡¦¥á¥ë¥»¥ó¥Ì¡¦¥Ä¥¤¥¹¥¿¤ÎJava¸À¸ì°Ü¿¢ÈÇ
¡¦µ¼»÷Íð¿ô¡÷wikipedia

¡Ú´ØÏ¢µ­»ö¡Û
¡¦¥Ñ¥¹¥ï¡¼¥É¼«Æ°À¸À®
¡¦¤¢¤Ê¤¿¤Î¥ª¥ê¥¸¥Ê¥ë¥Ñ¥¹¥ï¡¼¥É¤òºîÀ®
¥³¥á¥ó¥È
¥³¥á¥ó¥È¤¹¤ë









 
¥È¥é¥Ã¥¯¥Ð¥Ã¥¯
¤³¤Îµ­»ö¤Î¥È¥é¥Ã¥¯¥Ð¥Ã¥¯URL
http://blog.graviness.com/trackback/795859