C ++ TR1: jak korzystać z normal_distribution?

Próbuję użyćC ++ STD TechnicalReport1 rozszerzenia do generowania liczb po normalnym rozkładzie, ale ten kod (dostosowany zTen artykuł):

mt19937 eng;
eng.seed(SEED);

normal_distribution<double> dist;
// XXX if I use the one below it exits the for loop
// uniform_int<int> dist(1, 52);

for (unsigned int i = 0; i < 1000; ++i) {
  cout << "Generating " << i << "-th value" << endl;
  cout << dist(eng) << endl;
}

drukuje tylko 1 komunikat dziennika „Generowanie ...”nigdy nie wychodzi z pętli for! Jeśli korzystam z dystrybucji, którą skomentowałem, kończy się, więc zastanawiam się, co robię źle. Dowolny pomysł?

Wielkie dzięki!

questionAnswers(4)

yourAnswerToTheQuestion