Bonjour a tous,
Je dois réaliser des tirages dans des lois de probabilités (par exemple loi normale). J'utilise la library boost.

Cependant le code tourne rapidement (< 1 seconde).

Mon code pour le moment:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
double rnorm(double moy, double e_type)
{
  boost::mt19937 rng(static_cast<long unsigned int>(std::time(0)));
  boost::normal_distribution<double>  nd(moy, e_type);
  boost::variate_generator<boost::mt19937&,
                           boost::normal_distribution<double> > var_nor(rng, nd);
  return var_nor();
}
Le problème est qu'en utilisant (std::time(0)) l'aléa n'intervient que toutes les secondes, or je voudrais qu'il soit plus rapide...

Une idée??

Merci merci,
Nane