31 lines
830 B
C++
31 lines
830 B
C++
#include <boost/random.hpp>
|
||
#include <ctime>
|
||
|
||
using namespace boost;
|
||
|
||
double SampleNormal (double mean, double sigma)
|
||
{
|
||
// выбор генератора случайных чисел
|
||
mt19937 rng;
|
||
|
||
// инициализация генератора числом секунд с 1970 года
|
||
rng.seed(static_cast<unsigned> (std::time(0)));
|
||
|
||
// выбор нужного распределения
|
||
normal_distribution<double> norm_dist(mean, sigma);
|
||
|
||
// привязка генератора к распределению
|
||
variate_generator<mt19937&, normal_distribution<double> > normal_sampler(rng, norm_dist);
|
||
|
||
// пример работы
|
||
for(int i=0; i<10; i++)
|
||
std::cout<<normal_sampler()<<std::endl;
|
||
return normal_sampler();
|
||
}
|
||
|
||
int main()
|
||
{
|
||
SampleNormal(5,1);
|
||
return 0;
|
||
}
|