あなたが探している情報は、この日記には記されていない可能性が高いです。(検索で来た人用)
にらどんは一杯500円。尚、出前は承っておりません。ご了承下さい。

tinyMT memo

tinymt32 2406486510 4235788063 932445695 seed = 1

11101001011100010101110110010101001101011011110010
10100111000101101110110101101100100010011101101100
101000001110001100000100011
nextstate {
	// yにs3を代入
y = s3;
	// xに最上位1bitをオフにしたs0,そのままのs1,s2をxorしたものを代入
x = (s0 & 0x7fffffff) ^ s1 ^ s2;

	// xにl1シフトしたxをxor
x ^= x << 1;
	// yにr1シフトしたy,xをxor
y ^= (y >> 1) ^ x;

	// S0,S1,にそれぞれs1,s2を代入
S0 = s1;
S1 = s2;

	// S2にx,l10シフトしたyをxorしたものを代入
S2 = x ^ (y << 10);
	// S3にyを代入
S3 = y;

	// yが奇数ならS1,S2にそれぞれmat1,mat2をxor
S1 ^= -(y&1) & mat1;
S2 ^= -(y&1) & mat2;
}

temper {
	// t0にS3を代入
t0 = S3;
	// t1にS0にS2の上位24bitを抽出し足したものを代入
t1 = S0 + (S2 >> 8);
	// t0にt1をxor
t0 ^= t1;
	// t1が奇数ならt0にtmatをxor
t0 ^= -(t1&1) & tmat;
	// t0をreturn
return t0;
}