Giriş
Şu satırı dahil ederiz.
Örnek
uniform_int ile şöyle yaparız.
boost::uniform_real ile şöyle yaparız.
std::uniform_real ile şöyle yaparız
students_t ile şöyle yaparız.
Örnek
Şöyle yaparız.
Örnek
Şöyle yaparız.
Şöyle yaparız
Şöyle yaparız
Şöyle yaparız.
Şu satırı dahil ederiz.
#include <boost/random.hpp>
Şu satırı dahil ederiz.#include <boost/random/variate_generator.hpp>
Belirtilen random number generator ve distribution nesnelerini birleştirerek bir generator yaratır. C++ standardına bu sınıf girmemiştir. Onun yerine şöyle yaparız.#include <random>
#include <functional> // for std::bind
...
using std::mt19937;
using std::uniform_real_distribution;
typedef mt19937 Engine;
typedef uniform_real_distribution<float> Distribution;
auto r = std::bind(Distribution(0.0f, 1.0f), Engine((DWORD)time(NULL)));
// from now, calling float rnd = r() gave me a random number between 0.0f and 1.0f in rnd.
TanımlamaÖrnek
uniform_int ile şöyle yaparız.
typedef boost::uniform_int<> UniformIntDistr;
typedef boost::variate_generator<boost::mt19937, UniformIntDistr> MyRandom;
Örnekboost::uniform_real ile şöyle yaparız.
boost::variate_generator<boost::mt19937, boost::uniform_real<> > MyRandom;
Örnekstd::uniform_real ile şöyle yaparız
boost::variate_generator< boost::mt19937, std::uniform_real_distribution<>> MyRandom;
Örnekstudents_t ile şöyle yaparız.
Örnek
Şöyle yaparız.
boost::variate_generator<boost::mt19937,boost::uniform_01<> > MyRandom;
Constructor - generator + distributionÖrnek
Şöyle yaparız.
// make random number generator
boost::mt19937 rng;
UniformIntDistr dis(0, 1000);
MyRandom gen (rng, dis);
ÖrnekŞöyle yaparız
boost::mt19937 rng (42u);
boost::uniform_real<> dis (0,1);
MyRandom gen (rng, dis);
ÖrnekŞöyle yaparız
boost::mt19937 rng;
std::uniform_real_distribution<> dis (1,2);
MyRandom gen (rng, dis);
operator() metodu
Şöyle yaparız.
double value = gen();
Hiç yorum yok:
Yorum Gönder