I would like to reset random sequences by using different seed numbers. When running this test code:
boost::mt19937 gener(1); boost::normal_distribution<> normal(0,1); boost::variate_generator<boost::mt19937&,boost::normal_distribution<> > rng(gener, normal); cout << rng() << endl; cout << rng() << endl; cout << rng() << endl; gener.seed(2); cout << rng() << endl; cout << rng() << endl; gener.seed(1); cout << rng() << endl; gener.seed(2); cout << rng() << endl; gener.seed(3); cout << rng() << endl; I get the following output:
# seed(1) via constructor -2.971829031 1.706951063 -0.430498971 # seed(2) -2.282022417 -0.5887503675 # seed(1) 0.2504171986 # seed(2) -0.5887503675 # seed(3) 0.2504171986 Obviously I'm doing something very wrong. How may I overcome this problem?