vendredi 8 novembre 2019

std::mersenne_twister_engine and random number generation

What is the distribution (uniform, poisson, normal, etc.) that is generated if I did the below? The output appears to indicate a uniform distribution. But then, why do we need std::uniform_int_distribution?

int main()
{
  std::mt19937_64 generator(134);
  std::map<int, int> freq;
  const int size = 100000;
  for (int i = 0; i < size; ++i) {
    int r = generator() % size;
    freq[r]++;
  }
  for (auto f : freq) {
    std::cout << std::string(f.second, '*') << std::endl;
  }
  return 0;
}

Thanks!




Aucun commentaire:

Enregistrer un commentaire