4 Eylül 2017 Pazartesi

random discrete_distribution Sınıfı

Giriş
Şu satırı dahil ederiz.
#include <boost/random.hpp>
Constructor
Şöyle yaparız.
using Weight = double;
br::mt19937                            engine { br::random_device{}() };
br::discrete_distribution<int, Weight> dist   { {0.2, 0.2, 0.2, 0.2, 0.2} };
operator () metodu
Şöyle yaparız.
for (auto i : {1,2,3,4})
  std::cout << "#" << i << ":" << dist(engine) << " ";
param metodu
Örnek
getter olarak kullanmak için şöyle yaparız.
boost::copy(dist.param().probabilities(),alo
 std::ostream_iterator<Weight>(std::cout << "probabilities: ", " "));
Çıktı olarak şunu alırız.
probabilities: 0.2 0.2 0.2 0.2 0.2 
Örnek
setter olarak kullanmak için şöyle yaparız.
void reprogram(std::initializer_list<Weight> probabilities) {
  dist.param(probabilities);
};

reprogram({0.01, 0.99});

Hiç yorum yok:

Yorum Gönder