mt                 14 ext/mt-random/mt-lib.c   ScmMersenneTwister* mt;
mt                 20 ext/mt-random/mt-lib.c   mt = SCM_MERSENNE_TWISTER(mt_scm);
mt                 25 ext/mt-random/mt-lib.c     Scm_MTInitByUI(mt, Scm_GetUInteger(init));
mt                 31 ext/mt-random/mt-lib.c     Scm_MTInitByUI(mt, s);
mt                 33 ext/mt-random/mt-lib.c     Scm_MTInitByArray(mt, (ScmInt32*)SCM_U32VECTOR_ELEMENTS(init), SCM_U32VECTOR_SIZE(init));
mt                 47 ext/mt-random/mt-lib.c   ScmMersenneTwister* mt;
mt                 51 ext/mt-random/mt-lib.c   mt = SCM_MERSENNE_TWISTER(mt_scm);
mt                 56 ext/mt-random/mt-lib.c    for (i=0; i<N; i++) SCM_U32VECTOR_ELEMENTS(v)[i] = mt->mt[i];
mt                 57 ext/mt-random/mt-lib.c    SCM_U32VECTOR_ELEMENTS(v)[N] = mt->mti;
mt                 69 ext/mt-random/mt-lib.c   ScmMersenneTwister* mt;
mt                 75 ext/mt-random/mt-lib.c   mt = SCM_MERSENNE_TWISTER(mt_scm);
mt                 84 ext/mt-random/mt-lib.c   for (i=0; i<N; i++) mt->mt[i] = SCM_U32VECTOR_ELEMENTS(state)[i];
mt                 85 ext/mt-random/mt-lib.c   mt->mti = SCM_U32VECTOR_ELEMENTS(state)[N];
mt                 96 ext/mt-random/mt-lib.c   ScmMersenneTwister* mt;
mt                100 ext/mt-random/mt-lib.c   mt = SCM_MERSENNE_TWISTER(mt_scm);
mt                104 ext/mt-random/mt-lib.c  SCM_RESULT = (Scm_MTGenrandF64(mt, TRUE));
mt                116 ext/mt-random/mt-lib.c   ScmMersenneTwister* mt;
mt                120 ext/mt-random/mt-lib.c   mt = SCM_MERSENNE_TWISTER(mt_scm);
mt                124 ext/mt-random/mt-lib.c  SCM_RESULT = (Scm_MTGenrandF64(mt, FALSE));
mt                136 ext/mt-random/mt-lib.c   ScmMersenneTwister* mt;
mt                142 ext/mt-random/mt-lib.c   mt = SCM_MERSENNE_TWISTER(mt_scm);
mt                148 ext/mt-random/mt-lib.c SCM_RESULT = Scm_MTGenrandInt(mt, n);
mt                160 ext/mt-random/mt-lib.c   ScmMersenneTwister* mt;
mt                164 ext/mt-random/mt-lib.c   mt = SCM_MERSENNE_TWISTER(mt_scm);
mt                168 ext/mt-random/mt-lib.c SCM_RESULT = Scm_MTGenrandU32(mt);
mt                180 ext/mt-random/mt-lib.c   ScmMersenneTwister* mt;
mt                186 ext/mt-random/mt-lib.c   mt = SCM_MERSENNE_TWISTER(mt_scm);
mt                193 ext/mt-random/mt-lib.c   for (i=0; i<len; i++) *p++ = Scm_MTGenrandU32(mt);
mt                204 ext/mt-random/mt-lib.c   ScmMersenneTwister* mt;
mt                210 ext/mt-random/mt-lib.c   mt = SCM_MERSENNE_TWISTER(mt_scm);
mt                217 ext/mt-random/mt-lib.c   for (i=0; i<len; i++) *p++ = Scm_MTGenrandF32(mt, TRUE);
mt                228 ext/mt-random/mt-lib.c   ScmMersenneTwister* mt;
mt                234 ext/mt-random/mt-lib.c   mt = SCM_MERSENNE_TWISTER(mt_scm);
mt                241 ext/mt-random/mt-lib.c   for (i=0; i<len; i++) *p++ = Scm_MTGenrandF64(mt, TRUE);
mt                 70 ext/mt-random/mt-random.c void Scm_MTInitByUI(ScmMersenneTwister *mt, unsigned long s)
mt                 73 ext/mt-random/mt-random.c     mt->mt[0]= s & 0xffffffffUL;
mt                 75 ext/mt-random/mt-random.c         mt->mt[mti] =
mt                 76 ext/mt-random/mt-random.c 	    (1812433253UL * (mt->mt[mti-1] ^ (mt->mt[mti-1] >> 30)) + mti);
mt                 81 ext/mt-random/mt-random.c         mt->mt[mti] &= 0xffffffffUL;
mt                 84 ext/mt-random/mt-random.c     mt->mti = mti;
mt                 90 ext/mt-random/mt-random.c void Scm_MTInitByArray(ScmMersenneTwister *mt,
mt                 95 ext/mt-random/mt-random.c     Scm_MTInitByUI(mt, 19650218UL);
mt                 99 ext/mt-random/mt-random.c         mt->mt[i] = (mt->mt[i] ^ ((mt->mt[i-1] ^ (mt->mt[i-1] >> 30)) * 1664525UL))
mt                101 ext/mt-random/mt-random.c         mt->mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */
mt                103 ext/mt-random/mt-random.c         if (i>=N) { mt->mt[0] = mt->mt[N-1]; i=1; }
mt                107 ext/mt-random/mt-random.c         mt->mt[i] = (mt->mt[i] ^ ((mt->mt[i-1] ^ (mt->mt[i-1] >> 30)) * 1566083941UL))
mt                109 ext/mt-random/mt-random.c         mt->mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */
mt                111 ext/mt-random/mt-random.c         if (i>=N) { mt->mt[0] = mt->mt[N-1]; i=1; }
mt                114 ext/mt-random/mt-random.c     mt->mt[0] = 0x80000000UL; /* MSB is 1; assuring non-zero initial array */
mt                118 ext/mt-random/mt-random.c inline unsigned long Scm_MTGenrandU32(ScmMersenneTwister *mt)
mt                121 ext/mt-random/mt-random.c     int mti = mt->mti;
mt                129 ext/mt-random/mt-random.c             Scm_MTInitByUI(mt, 5489UL); /* a default initial seed is used */
mt                132 ext/mt-random/mt-random.c             y = (mt->mt[kk]&UPPER_MASK)|(mt->mt[kk+1]&LOWER_MASK);
mt                133 ext/mt-random/mt-random.c             mt->mt[kk] = mt->mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1UL];
mt                136 ext/mt-random/mt-random.c             y = (mt->mt[kk]&UPPER_MASK)|(mt->mt[kk+1]&LOWER_MASK);
mt                137 ext/mt-random/mt-random.c             mt->mt[kk] = mt->mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1UL];
mt                139 ext/mt-random/mt-random.c         y = (mt->mt[N-1]&UPPER_MASK)|(mt->mt[0]&LOWER_MASK);
mt                140 ext/mt-random/mt-random.c         mt->mt[N-1] = mt->mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1UL];
mt                145 ext/mt-random/mt-random.c     y = mt->mt[mti++];
mt                153 ext/mt-random/mt-random.c     mt->mti = mti;
mt                158 ext/mt-random/mt-random.c float Scm_MTGenrandF32(ScmMersenneTwister *mt, int exclude0)
mt                162 ext/mt-random/mt-random.c         r = (float)(Scm_MTGenrandU32(mt)*(1.0/4294967296.0));
mt                169 ext/mt-random/mt-random.c double Scm_MTGenrandF64(ScmMersenneTwister *mt, int exclude0)
mt                174 ext/mt-random/mt-random.c         a = Scm_MTGenrandU32(mt)>>5;
mt                175 ext/mt-random/mt-random.c         b = Scm_MTGenrandU32(mt)>>6;
mt                220 ext/mt-random/mt-random.c static ScmObj genrand_int_small(ScmMersenneTwister *mt, unsigned long n)
mt                228 ext/mt-random/mt-random.c         r = Scm_MTGenrandU32(mt);
mt                235 ext/mt-random/mt-random.c             r = Scm_MTGenrandU32(mt);
mt                241 ext/mt-random/mt-random.c ScmObj Scm_MTGenrandInt(ScmMersenneTwister *mt, ScmObj n)
mt                246 ext/mt-random/mt-random.c         return genrand_int_small(mt, m);
mt                252 ext/mt-random/mt-random.c             return genrand_int_small(mt, SCM_BIGNUM(n)->values[0]);
mt                257 ext/mt-random/mt-random.c             return Scm_MakeIntegerFromUI(Scm_MTGenrandU32(mt));
mt                278 ext/mt-random/mt-random.c     ScmMersenneTwister *mt;
mt                284 ext/mt-random/mt-random.c     mt = SCM_NEW(ScmMersenneTwister);
mt                285 ext/mt-random/mt-random.c     SCM_SET_CLASS(mt, &Scm_MersenneTwisterClass);
mt                286 ext/mt-random/mt-random.c     mt->mti = N+1;
mt                288 ext/mt-random/mt-random.c         Scm_MTInitByUI(mt, Scm_GetUInteger(seed));
mt                290 ext/mt-random/mt-random.c         Scm_MTInitByArray(mt, (ScmInt32*)SCM_U32VECTOR_ELEMENTS(seed),
mt                293 ext/mt-random/mt-random.c     return SCM_OBJ(mt);
mt                 59 ext/mt-random/mt-random.h     unsigned long mt[N]; /* the array for the state vector  */
mt                 67 ext/mt-random/mt-random.h extern void Scm_MTInitByUI(ScmMersenneTwister *mt, unsigned long s);
mt                 68 ext/mt-random/mt-random.h extern void Scm_MTInitByArray(ScmMersenneTwister *mt,
mt                 75 ext/mt-random/mt-random.h extern ScmObj        Scm_MTGenrandInt(ScmMersenneTwister *mt, ScmObj n);