Bonjour,
Je lance plusieurs programme en même temps et je ne peux pas "seeder" le générateur de nombre aléatoire de boost sur le temps CPU.
Sinon les programmes lancés en parallèle donnent des mêmes résultats.

Aprés une petite recherche sur le net j'utilise le générateur de nombre du noyau linux pour "seeder" le "boost::generator" avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
...
boost::minstd_rand TheProblem::generator_ = boost::minstd_rand(42u);
generator_.seed(GetSeedNumber());
...
 
int 
GetSeedNumber()
{
  std::ifstream rand("/dev/urandom");
  char tmp[sizeof(int)];
  rand.read(tmp,sizeof(int));
  rand.close();
  int* number = reinterpret_cast<int*>(tmp);
  return (*number);
}
Connaissez vous une solution portable ?
Merci,
Damien.