--- mersenne_twister.hpp 2005-01-24 20:19:12.855234040 -0200 +++ mersenne_twister.hpp 2005-01-24 20:29:28.075706312 -0200 @@ -77,9 +77,12 @@ public: void seed(UIntType value) #endif { - random::linear_congruential - gen(value); - seed(gen); + x[0]= value & 0xffffffffUL; + for (int j = 1; j < n; j++) { + x[j] = (1812433253UL * (x[j-1] ^ (x[j-1] >> 30)) + j); + x[j] &= 0xffffffffUL; + } + i = n; } // For GCC, moving this function out-of-line prevents inlining, which may